为什么 BLOCKCHAIN.COM API 仅 return 收件人 BASE58 地址并忽略 BECH32s?
Why does BLOCKCHAIN.COM API only return recipient BASE58 addresses and omits BECH32s?
在 之后,我正在尝试访问比特币区块链中#630873 区块内的所有交易。
import requests
r = requests.get('https://blockchain.info/block-height/630873?format=json')
data = r.json()
检查此区块内的(0 索引)第 4 笔交易时(通过 data['blocks'][0]['tx'][4]['out']
),我得到:
[{'n': 0,
'script': '0014d0aba2c93bac0fcafafe43f2ad39d664ba51910d',
'spent': False,
'tx_index': 0,
'type': 0,
'value': 19571491},
{'addr': '1A7tWftaGHohhGcJMVkkm4zAYnF53KjRnU',
'n': 1,
'script': '76a9146406a0a47d4ed716f6ddf2eeca20c725932763f188ac',
'spending_outpoints': [{'n': 0, 'tx_index': 0}],
'spent': True,
'tx_index': 0,
'type': 0,
'value': 3928145371}]
仅包含此交易的第二个收款人的addr
。在 blockchain.com 网站上,此交易如下所示:
bc1q6z469jfm4s8u47h7g0e26wwkvja9rygdqpeykd
地址在那里可见。如何通过API访问它?
不可访问地址格式为BECH32
,可访问地址格式为BASE58
(我在网站上点击地址获取的信息)。我能够检索到收件人地址的那些交易具有 BASE58
格式。
Blochchain.com API 还不完全支持 bech32 地址。
因此您可以使用其他提供商,例如 Blockstream 或 Blockchair。
或者您也可以从 P2WPKH 脚本中导出地址。例如使用 BitcoinLib(免责声明:我的图书馆):
from bitcoinlib.transactions import script_deserialize
from bitcoinlib.keys import Address
locking_script = '0014d0aba2c93bac0fcafafe43f2ad39d664ba51910d'
scr = script_deserialize(locking_script)
a = Address(hashed_data=scr['hashes'][0], script_type=scr['script_type'])
print(a.address)
在
import requests
r = requests.get('https://blockchain.info/block-height/630873?format=json')
data = r.json()
检查此区块内的(0 索引)第 4 笔交易时(通过 data['blocks'][0]['tx'][4]['out']
),我得到:
[{'n': 0,
'script': '0014d0aba2c93bac0fcafafe43f2ad39d664ba51910d',
'spent': False,
'tx_index': 0,
'type': 0,
'value': 19571491},
{'addr': '1A7tWftaGHohhGcJMVkkm4zAYnF53KjRnU',
'n': 1,
'script': '76a9146406a0a47d4ed716f6ddf2eeca20c725932763f188ac',
'spending_outpoints': [{'n': 0, 'tx_index': 0}],
'spent': True,
'tx_index': 0,
'type': 0,
'value': 3928145371}]
仅包含此交易的第二个收款人的addr
。在 blockchain.com 网站上,此交易如下所示:
bc1q6z469jfm4s8u47h7g0e26wwkvja9rygdqpeykd
地址在那里可见。如何通过API访问它?
不可访问地址格式为BECH32
,可访问地址格式为BASE58
(我在网站上点击地址获取的信息)。我能够检索到收件人地址的那些交易具有 BASE58
格式。
Blochchain.com API 还不完全支持 bech32 地址。
因此您可以使用其他提供商,例如 Blockstream 或 Blockchair。
或者您也可以从 P2WPKH 脚本中导出地址。例如使用 BitcoinLib(免责声明:我的图书馆):
from bitcoinlib.transactions import script_deserialize
from bitcoinlib.keys import Address
locking_script = '0014d0aba2c93bac0fcafafe43f2ad39d664ba51910d'
scr = script_deserialize(locking_script)
a = Address(hashed_data=scr['hashes'][0], script_type=scr['script_type'])
print(a.address)