Remix
TestRPC 和 Metamask:掛在待處理的事務上
我正在使用 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 一起使用:
- 讀取待處理事務
web3.eth.getBlock("pending")
- 挖礦交易
web3.currentProvider.sendAsync( { jsonrpc:"2.0", method: "evm_mine" }, function(err, result) { console.log(result); } )
TestRPC 允許您使用命令參數 -b 或 –blocktime 自動探勘您的塊。但是此功能存在錯誤(服務幾分鐘後,我收到錯誤)