Remix

TestRPC 和 Metamask:掛在待處理的事務上

  • January 16, 2022

我正在使用 Remix 並通過 Metamask 連接到 Testrpc。

我可以成功地向 testrpc 啟動合約,但是它會掛在 Remix 對公共方法進行的後續呼叫上(Remix 說“9 個未決交易”永遠不會通過)。

該合約在 Rinkeby 上部署良好。我已經用多個工作契約嘗試了這種設置,但 Remix 總是給我留下“x 個待處理的交易”(每個契約的數量並不總是相同)。

這是我的 testrpc 輸出:

 Transaction: 0xbf367579e3cb1b414343a4f333bd79388e4fbfe668a57ea59b830934e41512bf
 Contract created: 0x81d49759138f933491a4125ce22c7173e782af4d
 Gas usage: 3347223
 Block Number: 1

eth_getTransactionReceipt
eth_getTransactionByHash
eth_call
eth_call
eth_call
...(more eth_calls)
eth_call
eth_call
eth_call
eth_getBlockByNumber
eth_getBlockByNumber
eth_getBalance
eth_getTransactionCount
eth_getBalance
eth_getTransactionCount
eth_getBalance
eth_getTransactionCount
eth_getBalance
eth_getTransactionCount
eth_getBalance
eth_getTransactionCount
eth_getBalance
eth_getTransactionCount
eth_getBlockByNumber
eth_getBlockByNumber
...(more eth_getBlockByNumber)

問題可能是什麼?

您可以從連接到您的 testRPC 網路的控制台呼叫公共方法嗎?這將是調試問題的一步。

我在 remix VM 和 testRPC 上都遇到了問題。因此,我建議使用專用網路。我無法讓geth --dev標誌正常工作,所以我還建議使用geth init. 遵循本教程。http://www.ethdocs.org/en/latest/network/test-networks.html#id3

您還需要解鎖您的帳戶並探勘交易。這不像主網挖礦,所以你可以在筆記型電腦的 CPU 上進行。有問題儘管問我。我最近在類似的障礙中掙扎。

我將這 2 個命令行與 testrpc 一起使用:

  1. 讀取待處理事務
web3.eth.getBlock("pending")
  1. 挖礦交易
web3.currentProvider.sendAsync(
  { jsonrpc:"2.0", method: "evm_mine" },
  function(err, result) { console.log(result); }
)

TestRPC 允許您使用命令參數 -b 或 –blocktime 自動探勘您的塊。但是此功能存在錯誤(服務幾分鐘後,我收到錯誤)

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