Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- mempool_service ::
- package service
- import com.beust.klaxon.JsonArray
- import com.beust.klaxon.JsonObject
- import com.sun.org.apache.bcel.internal.generic.BREAKPOINT
- import org.json.JSONArray
- import org.json.JSONObject
- import java.text.BreakIterator
- class Mempool(){
- fun get_raw_mempoool() = try {
- println("-------------------into get_raw_mempool--------------")
- val mempool_data = service.Wrapcore().getrawmempool("getrawmempool", arrayOf(""))
- var string_of_json_array = mempool_data.toString()
- val array = JSONArray(string_of_json_array)
- for (i in 0 until array.length()) {
- val txid = array[i] as String // 524a27955fee9531d9784dc655ea011585022ed0b1ecb71a542c1af1aaf2e2b5
- println(txid)
- val arr = arrayOf<String>(txid)
- val get_raw_transaction = service.Wrapcore().getrawtransaction("getrawtransaction", arr)
- val a = get_raw_transaction.toString()
- var json_obj = JSONObject(a.toString())
- var vout = json_obj["vout"]
- val array_ = JSONArray(vout.toString())
- vout = array_[0]
- // println("vout ---> $vout")
- // val widget = println("${vout::class.simpleName}") // jsonobject
- json_obj = JSONObject(vout.toString())
- var scriptPubKey = json_obj["scriptPubKey"]
- println(scriptPubKey)
- json_obj = JSONObject(scriptPubKey.toString())
- var address = JsonArray(json_obj["addresses"].toString())
- address = JsonArray(address[0])
- println(address[0])
- val widget = println("${address[0]::class.simpleName}") // jsonobject
- // address = JsonArray((JsonArray(json_obj["addresses"].toString())[0]).toString())[0]
- //
- //
- //
- // println(address)
- break
- }
- }
- catch (e: Exception){
- println("-------------into exception--------------------")
- println(e.message)
- println(e.printStackTrace())
- }
- }
- ----------------------------------------------------------------------------------
- wrapcore.kt
- package service
- import com.beust.klaxon.JsonObject
- import com.sun.xml.internal.ws.org.objectweb.asm.Type
- import khttp.get
- import khttp.structures.files.FileLike
- import khttp.delete as httpDelete
- import org.json.JSONObject
- import java.io.File
- import khttp.post
- import org.apache.coyote.http11.Constants.a
- import java.util.*
- import jdk.nashorn.internal.objects.NativeObject.keys
- import sun.rmi.runtime.Log
- class Wrapcore{
- val rpcUser = "abc"
- val rpcPassword = "pass"
- // val rpcPort = 18443 //reg
- val rpcPort = 18332 //test
- val node_url = "http://$rpcUser:$rpcPassword@localhost:$rpcPort"
- @Override
- fun getrawmempool(method_ : String,params:Array<String>):Any{
- println (method_)
- println (node_url)
- val BASE64 = Base64.getEncoder()
- fun computeBasicAuth(user: String, password: String) ="Basic ${BASE64.encodeToString("$user:$password".toByteArray())}"
- val jsonstring = khttp.post(
- url = node_url,
- headers = mapOf("Authorization" to computeBasicAuth("abc","pass")),
- data = JSONObject("{\"jsonrpc\": \"1.0\", \"id\":\"curltest\", \"method\": \"getrawmempool\", \"params\": [] }")
- )
- val jsonstring_ = jsonstring.text
- // val widget =println("----------------><<<<---------${jsonstring_::class.simpleName}") // ... only class name
- val json_obj = JSONObject(jsonstring_.toString())
- return json_obj["result"]
- }
- @Override
- fun getrawtransaction(method_ : String,params:Array<String>):Any{
- println (method_)
- val BASE64 = Base64.getEncoder()
- fun computeBasicAuth(user: String, password: String) ="Basic ${BASE64.encodeToString("$user:$password".toByteArray())}"
- val jsonstring= khttp.post(
- url = node_url,
- headers = mapOf("Authorization" to computeBasicAuth("abc","pass")),
- data = JSONObject( "{\"jsonrpc\": \"1.0\", \"id\":\"curltest\", \"method\": \"getrawtransaction\", \"params\": [" + params[0]+ " ,1]}")
- )
- val jsonstring_ = jsonstring.text
- val json_obj = JSONObject(jsonstring_.toString())
- return json_obj["result"]
- }
- }
- ....................................
Add Comment
Please, Sign In to add comment