为什么 web3.eth.getBlock 给出空答案而 getTransactionReceipt 给出错误?

why web3.eth.getBlock gives null answer and getTransactionReceipt gives error?

我在 python 代码中使用 Web3.py。代码是这样的

from web3 import Web3   
w3 = Web3(Web3.HTTPProvider("https://ropsten.infura.io/"))*  
for i in range(5000000,5100000):  
    print(i)  
    transactionArray = []  
    blockResult = w3.eth.getBlock(i)  
    for tx in blockResult["transactions"]:  
        txResult = binascii.hexlify(tx).decode()  
        print(txResult)
        transactionResult = w3.getTransactionReceipt(txResult)
        print(transactionResult)

当我执行这段代码时,出现错误

5000000  
Traceback (most recent call last):
  File "Test06.py", line 27, in <module>
    for tx in blockResult["transactions"]:
TypeError: 'NoneType' object is not subscriptable

但如果我从 4571699 开始,它会给出结果。有人能告诉我为什么我收到范围从 5000000

开始的错误

我用的是MAIN NET,所以解决了这个问题。但是现在我收到一个错误

Traceback (most recent call last):   
  File "Test06.py", line 35, in <module>
     transactionResult = w3.getTransactionReceipt(txResult)
AttributeError: 'Web3' object has no attribute 'getTransactionReceipt'.

您使用的是 ropsten 测试链,截至此答案只有 4572019 个区块。