【问题标题】:buildTransaction from web3 python too slow来自web3 python的buildTransaction太慢了
【发布时间】:2022-06-16 08:37:10
【问题描述】:

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

swap_transaction = transaction.buildTransaction(
    {
        "from": Address,
        "gas": 300000,
        "gasPrice": w3.eth.gas_price,
        "nonce": nonce,
    }
)

我遇到了一个问题,即此构建需要花费太多时间,例如 2-3 分钟。 如何让它更快?

【问题讨论】:

    标签: python blockchain web3py bsc


    【解决方案1】:

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

    如果您查看 buildTransaction 函数的结果,它只是一个简单的 dict,并添加了一些内容(“to”字段、chainId,如果您正在调用合约函数调用,则为 data 字段)。 这些字段很容易自己插入。如果你想为合约函数调用添加数据,你可以使用 encodeABI 函数来获取,例如:

    myContract = web3.eth.contract(contractAddress, abi=contractAbi)
    encodedData = myContract.encodeABI(fn_name='myFunctionName', args=['foo','bar'])
    

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

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

    【讨论】:

      猜你喜欢
      • 2022-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-14
      • 1970-01-01
      • 1970-01-01
      • 2018-11-19
      相关资源
      最近更新 更多