Transactions

如何在發送之前模擬交易

  • June 6, 2022

礦工會將交易包含在區塊中,這將改變許多變數的狀態,包括賬戶餘額。

我想在發送交易之前在我的本地節點中執行此操作!(不是用於測試的 ganache 節點。)我想在主網狀態下進行模擬。

您能對此提出任何建議嗎?

最接近的是 rinkeby 或 goerli 等乙太坊測試網路之一。它們的工作方式與主網相同。您可以使用煉金術之類的服務部署到測試網。

如果這還不夠接近真實情況,那麼您正在考慮分叉主網。

您可以簡單地在本地分叉主網。現代工具使您可以輕鬆地做到這一點,例如https://hardhat.org/hardhat-network/guides/mainnet-forking

在你分叉之後,你可以用它做任何你想做的事情,而無需任何費用(因為那時它是你的本地區塊鏈)。您甚至可以訪問欺騙和使用在真實網路中無法實現的功能(例如模擬帳戶)。

另一種選擇是將交易執行到實時主網,但不是作為真正的交易,而是作為本地靜態呼叫,它是免費的並且不會改變區塊鏈狀態。你可以在這裡閱讀更多:https ://docs.ethers.io/v5/single-page/#/v5/api/contract/contract/-%23-contract-callStatic

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