Web3js

在特定區塊呼叫合約中的特定函式

  • July 17, 2021

首先,我剛剛開始涉足智能聯繫人開發,如果我的問題沒有被正確提出,請見諒。

我想參與預售並確保我的位置,我想在預售開始時在區塊呼叫合約的購買方法。我找到了這個:

myContract.methods.methodName().call(transactionObject, blockNumber, callback)

  1. 這是使用 web3.js 的方法嗎?
  2. 僅在本地執行節點伺服器並將此函式放入 while 循環就足夠了嗎?
  3. 我對在這種情況下回調無關緊要嗎?

歡迎任何可以幫助我的資源。

先感謝您

myContract.methods.methodName().call(transactionObject, blockNumber, callback)

不,這不是這樣做的方法。RPC 方法中的塊號僅用於歷史目的,不用於將來執行功能。

你需要做的是監控網路,當它block_number-1被宣佈時,發送你的交易,期望在下一個區塊(這是你想要的block_number)上它會被包含在內。如果您使用高gas價格,它將是。但不能保證,因為區塊的開採速度比您的交易在網路中傳播的速度更快。因為傳播block_number-1也會有一些延遲。嘗試增加到--maxpeers500 或附近,以便您的節點有更多的連接並獲得更多更新的數據。

引用自:https://ethereum.stackexchange.com/questions/103644