我正在尝试从web3 python库构建事务。
swap_transaction = transaction.buildTransaction(
{
"from": Address,
"gas": 300000,
"gasPrice": w3.eth.gas_price,
"nonce": nonce,
}
)我遇到了一个问题,这个构建需要花费太多的时间,比如2-3分钟。如何使它更快?
发布于 2022-06-16 00:37:10
我发现了你的问题,因为我的构建时间也很慢。25秒左右。我不知道为什么它这么慢,但我认为这个工具实际上并没有做什么。
如果您查看buildTransaction函数的结果,它只是一个简单的数据块,添加了一些内容(a 'to‘字段,chainId,如果您正在调用一个契约函数调用,一个数据字段)。这些字段很容易插入到您自己的身上。如果要为契约函数调用添加数据,可以使用encodeABI函数获得该数据,例如:
myContract = web3.eth.contract(contractAddress, abi=contractAbi)
encodedData = myContract.encodeABI(fn_name='myFunctionName', args=['foo','bar'])然后将数据添加到TX参数数组中。
这样做可以将我的TX构建时间从大约25秒缩短到毫秒。
https://stackoverflow.com/questions/72251724
复制相似问题