From 9a372fd1c7d7be652163dc2030b5becd55b0882a Mon Sep 17 00:00:00 2001 From: chris-belcher Date: Mon, 5 Apr 2021 18:19:39 +0100 Subject: [PATCH] Add getblockhash RPC method --- jmclient/jmclient/blockchaininterface.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/jmclient/jmclient/blockchaininterface.py b/jmclient/jmclient/blockchaininterface.py index d4fe081..cf5fbe1 100644 --- a/jmclient/jmclient/blockchaininterface.py +++ b/jmclient/jmclient/blockchaininterface.py @@ -190,7 +190,7 @@ class BitcoinCoreInterface(BlockchainInterface): def get_block(self, blockheight): """Returns full serialized block at a given height. """ - block_hash = self._rpc('getblockhash', [blockheight]) + block_hash = self.get_block_hash(blockheight) block = self._rpc('getblock', [block_hash, False]) if not block: return False @@ -503,6 +503,9 @@ class BitcoinCoreInterface(BlockchainInterface): def get_block_time(self, blockhash): return self._get_block_header_data(blockhash, 'time') + def get_block_hash(self, height): + return self._rpc("getblockhash", [height]) + def get_tx_merkle_branch(self, txid, blockhash=None): if not blockhash: tx = self._rpc("gettransaction", [txid]) @@ -522,7 +525,7 @@ class BitcoinCoreInterface(BlockchainInterface): return core_proof[80:] def verify_tx_merkle_branch(self, txid, block_height, merkle_branch): - block_hash = self._rpc("getblockhash", [block_height]) + block_hash = self.get_block_hash(block_height) core_proof = self._rpc("getblockheader", [block_hash, False]) + \ binascii.hexlify(merkle_branch).decode() ret = self._rpc("verifytxoutproof", [core_proof])