Web3.py
為什麼計算出的確認數比區塊瀏覽器的值大很多?
正如這裡已經解釋的那樣,這裡甚至這裡我都會繼續計算給定的確認數
txid
。它有效,但給出了與區塊瀏覽器不一致的奇怪結果。使用
receipt = w3.eth.get_transaction_receipt(txid) result = _contract.events.Transfer().processReceipt(receipt, errors=DISCARD)
我得到
AttributeDict({ { 'from': '0x0000000000000000000000000000000000000000', 'to': '******************************************', 'tokenId': *** }, 'event': 'Transfer', 'logIndex': ***, 'transactionIndex': **, 'transactionHash': HexBytes('******************************************************************'), 'address': '******************************************', 'blockHash': HexBytes('******************************************************************'), 'blockNumber': 23504211 }
(我為敏感值加星標)然後使用
print(w3.eth.block_number)
我明白了
23542487
因此,
current_block_number - tx_block_number
我們發現這個 tx 有23542487 - 23504211 = 38276
confrimations 這似乎是一個瘋狂的大數字。只是為了比較,同時https://polygonscan.com/表示346
確認。我覺得這超級混亂。任何人都可以澄清多邊形網路上的確認數量是如何計算的?
編輯:
w3.eth.block_number
即使我連接到 Polygon RPC 節點,是否有可能給我目前的 ETH 塊號而不是 Polygon 塊號?
好的,這有點尷尬,但事實證明我有一個錯誤,它正在比較錯誤的事務雜湊,而不是前一個,它採用了前一個前一個。一切正常,這些數字匹配,繼續使用多邊形!