gpt4 book ai didi

javascript - 使用 async/await Promise NodeJS 获取交易哈希

转载 作者:行者123 更新时间:2023-12-03 00:11:56 29 4
gpt4 key购买 nike

我想通过运行以下代码来获取交易哈希:

const transactionId = await web3.eth.sendSignedTransaction('0x' + serializedTransaction.toString('hex') ).on('receipt', function(receipt) {
return receipt.transactionHash;
});

// Now it is known the transaction ID, so let's build the public Etherscan url where the transaction details can be viewed.
const url = `https://rinkeby.etherscan.io/tx/${transactionId}`
console.log(url)

该代码适用于交易相关的内容,我可以在 Etherscan 上看到它们。问题出在 JavaScript 的 Promises 上。

在这种情况下,控制台注销:

https://rinkeby.etherscan.io/tx/[object Object]

我尝试了不同的方法来获取交易哈希,但没有成功。你能帮助我吗?这也可能是更好地了解 Promise 如何运作的好机会。

最佳答案

您将 promise 与事件发射器结合起来(这是可能的),但我建议首先尝试基于 promise 的方法,然后再尝试基于事件发射器的方法。之后你可以尝试混合。 :)

  1. 基于 promise :

    async function fetch(){ const transactionID = await web3.eth.sendSignedTransaction('0x'+serializedTransaction.toString('hex'));return transactionID; }let a = fetch() a.then(response=>console.log('transactionHash => ' + response)   .catch(error => console.log('error with sending transaction => ' + error);
  2. 基于事件发射器:

    const transactionID = web3.eth.sendSignedTransaction('0x'+
    serializedTransaction.toString('hex'))
    .on('transactionHash',console.log)
    .on('receipt', console.log);

关于javascript - 使用 async/await Promise NodeJS 获取交易哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54692023/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com