我试图通过web3将事务发送到合同,代码如下:
const c = new web3.eth.Contract(contractData.abi, address)
console.log(new Date())
const x = await c.methods.drain().send(
{'from': '0xxxxx', 'gasPrice': 5000000000}
)在发送事务之前,我将当前时间戳登录到我的控制台。当我通过以太扫描检查事务的时间戳时,我通常会多得到5秒,这意味着事务需要5秒才能发送。
如何提高执行速度?通过RPC而不是Web3发送请求会有帮助吗?这是否与我的节点有关(不太可能,因为我在32 16的ram 16核720 node服务器上有300个对等点)?将事务发送到多个节点是否有助于提高通过节点传播事务的速度?谢谢你的帮助!
发布于 2021-04-08 02:52:42
您在以太扫描上看到的确认时间戳是您的事务被挖掘的时间,而不是矿工接收到的时间。
查看块内的所有事务。你会注意到它们都有相同的时间戳。
因此,您的事务很可能在广播后被其他节点接收到。但是,与其他事务一样,5秒后与下一个块一起对其进行挖掘。
https://ethereum.stackexchange.com/questions/96876
复制相似问题