首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >buildTransaction来自web3 python太慢

buildTransaction来自web3 python太慢
EN

Stack Overflow用户
提问于 2022-05-15 19:51:25
回答 1查看 380关注 0票数 0

我正在尝试从web3 python库构建事务。

代码语言:javascript
复制
swap_transaction = transaction.buildTransaction(
    {
        "from": Address,
        "gas": 300000,
        "gasPrice": w3.eth.gas_price,
        "nonce": nonce,
    }
)

我遇到了一个问题,这个构建需要花费太多的时间,比如2-3分钟。如何使它更快?

EN

回答 1

Stack Overflow用户

发布于 2022-06-16 00:37:10

我发现了你的问题,因为我的构建时间也很慢。25秒左右。我不知道为什么它这么慢,但我认为这个工具实际上并没有做什么。

如果您查看buildTransaction函数的结果,它只是一个简单的数据块,添加了一些内容(a 'to‘字段,chainId,如果您正在调用一个契约函数调用,一个数据字段)。这些字段很容易插入到您自己的身上。如果要为契约函数调用添加数据,可以使用encodeABI函数获得该数据,例如:

代码语言:javascript
复制
myContract = web3.eth.contract(contractAddress, abi=contractAbi)
encodedData = myContract.encodeABI(fn_name='myFunctionName', args=['foo','bar'])

然后将数据添加到TX参数数组中。

这样做可以将我的TX构建时间从大约25秒缩短到毫秒。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72251724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档