0

I am trying to request for information regarding a particular transaction in verbose mode from an ElectrumX server with protocol v1.2 and above.

I have checked the version via a server.version to ensure that the protocol is 1.2

{"method":"server.version","id":0,"params":["Test01","1.2"]}

With server replying:

{"result":["ElectrumX 1.4.3","1.2"],"id":0,"jsonrpc":"2.0"}

And it has a feature list of:

{"result":{"pruning":null,"protocol_max":"1.2","protocol_min":"1.0","genesis_hash":"000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f","hosts":{"electrum.poorcoding.com":{"tcp_port":50001,"ssl_port":50002},"ruuxwv74pjxms3ws.onion":{"tcp_port":50001,"ssl_port":10042}},"hash_function":"sha256","server_version":"ElectrumX 1.4.3"},"id":0,"jsonrpc":"2.0"}

I tried to issue the following JSON-RPC command:

{"method":"blockchain.transaction.get","id":0,"params":["fc992bd10bbcbd54ee2279de497ad4bd49ce6a64c27f2a2d3293f761d2a5a3a3"],"verbose":true}

The result wasn't the verbose mode I was expecting:

{"result":"020000000b2356969c58611df9ccbf4ebe064a33a63c71f0e04ab39ccb530331e45971cddf000000006a47304402201a9eb199f2fff91d8e9fe416e2fd8245a5e200a2aa3110691c24bc24aef42e6a022029355d6a9ab1e9e14a3a5729303c2c97143570b451803ec210a2def6a8a7e8e5012103638a747b2e4339a9aefe09b43b4b7f12bd044d0cfa158472199b9f9dfc1cb58dfeffffff2e126381ff3c7c0e30b17399f6a89056480f9063c1b807af3f2d6d1c18cba003000000006a47304402203d686197e00d7056052171af0a92a46ffffdf6be44ae6f18e44a1e5fcd9692e20220683d450e22ad809126decb916272543de0af257ea5d0d2210bb349f3e862fc4a012102e12564a5853be9f541d4887713e61645c2c67ccecef80b1c7dfd43b6b4d34cb6feffffff3c69858b6e56aa9167b6ece5308d73f739a779a5910ca392bbfca8aa890b0d97010000006a473044022019fb37069222a7f10fdf23be9a7c44c829029eb910595083e6660f556b55bf090220019b8fe7a970718f7f0dba481aa588b63b00d5981e896bc485c7e27366982b8b01210353a42fb6331646bb675bebec7feed6259bebac36080e01c9306478c0a1440e28feffffff43d5db04b65c6cbbc6a1ba94244b5ed769969dfa55b7a6bceb6e2b856ca69f7c000000006a47304402200bfb13afc5bcff8d1314395dd5b7a1c0b98c0974eca9468b84f9e2cd41e674bc02200eb8869ddcad81c2ba76ee4c29ebdf15a777f79acead35032cbe28fdb730cea4012102f5e23ab2d241967b8c94f71ad2caa439d2ddeb226dcfbf91b83ebf96d7e39deafeffffff8ec0499dbe894696ad85891f894195b43afc5423988fb82e387fb7084ef56394010000006a47304402204322bd70be2b69b134b54556642e2ba89ecec8c7fb4ebe89df002d9613e6e7de022057bb35ae64c864c30e6835b7184158b30c515bd79e4dcaf7c9228953d53211b201210304e2265d9f1a54166a7a69ac4441b5837ec5c337d6de50efb64314f500c14e7cfeffffffb491f4ca65f7fcd1ad41c2ddda2d4194c4682a1710cf3177d310294f5c5c6cd1010000006a473044022078e612c445732e8938422e8d27a82918684df5c4fc7b8a140771fe1b596e1e2802206f983b0f76f1c6f6158219dfc87c0832048861e0b1e3a7acff0c7364e57e1c4d012103367fd7df0cec3265141dba0d74d0e2dc07ecde54ec2d4a29eaf59efe09f05990feffffffbaf9790b819321f037e388bdcc1139ac6ac710b24497b0c4e546c7673e166677010000006b483045022100a74573768028d90643591dc5568ee10213599fdc0ffceb40a3a70553d541937102200c452638932694fec71d4ca96ae629bf21fde8c65c81e9442d88061c03d94f1901210286c4c51f0ed3a6557e4792faf272022c7a3ed65d19b8c59af1dd6fd8e7db5053feffffffcf2f37b6d4c373370c9d7e02f0c42b6b319655a5db01fd179c448b48a25e6047010000006a47304402202fc362704e2c0c6cfb9e43928c0ce7dcdbc9590b14481e13bd55702cfda6a682022066b2537ffcca3274ae4f34b6c76881004936481aa3e02e32659555fd6ba7a54601210387e001ccff8023655587386adf14ea44515edf9c5a2968d61c2ce2d77347fe42feffffffd077d21b7e3351cc97fdb791bec0201caa3eb0dfcf6431957d351f6f29bd8c59010000006a47304402204565364e236b884b3e1ef84733af01136f3fc7f70a6e10b8cd5aa8f2f0b47adf02200fd979321e7770fd7b44fbe325d41595ccbeeee3cfd090de9af5b727ce1be72c0121030140af643df18b4e01fe21f5b2801cf5072768a963f402532103e9d8e02bbddcfefffffff40b7483d185b5e0cba1b3996d80cb3d4895b4ae320ab18928aff80de1a89482010000006b483045022100b0ec6109bebcc4490b2ec909ca966681e15f63a29b138d468a13b4a94891ebdb022071645aff4b17f28b4ff7e754952d0da4ebf468e014cfcf0f08189153974d0faa012102613226d6cc0803a310c0ea9c79f95bad6546b5cc917d3a61c116980470fcf2e4fefffffff063056ef8112605847f620bd2cc9b682e0b5653a90df81c4e0c17d2e744b932850200006a473044022009ae6e6dbf70f38e1ec32ec64d9cd484179fd974277bd4a38209c7fd5e03942702201bb0244cd5da0858afb1f32f8eb8bf760a6aa537865e642ed1fd8233ba12638001210397adf156191c5c7947467d7b1d19a0f84d781c50efa24c32d8c4005a55851b7dfeffffff022e3f0e00000000001976a91425e789df00999740b6ed1a2cacf88ffbe8df8f4388ac209c7000000000001976a914c515337b8c81e8eb1b816426d45281a8aa65bbd388acbb050800","id":0,"jsonrpc":"2.0"}

The documentation page was lacking of sample on how to use the verbose mode:

https://electrumx.readthedocs.io/en/latest/protocol-methods.html#blockchain-transaction-get

I would assume the command I issued might have a problem or is the server simply issuing a 1.2 protocol but refusing to honor the verbose=true parameter which the documentation have specified ?

2

You should set verbose=true inside params array, try as follows:

{"method":"blockchain.transaction.get","id":0,"params":["fc992bd10bbcbd54ee2279de497ad4bd49ce6a64c27f2a2d3293f761d2a5a3a3","verbose":true]}
  • {"method":"blockchain.transaction.get","id":0,"params":["fc992bd10bbcbd54ee2279de497ad4bd49ce6a64c27f2a2d3293f761d2a5a3a3",{"verbose":true}]} was used and it yielded the same result. – thotheolh Jun 3 '18 at 12:30
  • You are still doing it the wrong way, please copy and paste what I've posted. – Adam Jun 3 '18 at 12:32
  • You don't have to set it into curly braces, remove them – Adam Jun 3 '18 at 12:33
  • Thanks. Got it. I also noticed that the server.version indicating a client supporting version 1.2 protocol and above before sending the above blockchain.transaction.get with verbose=true enabled for it to work. – thotheolh Jun 3 '18 at 14:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.