Solidity

Metamask 無法將交易發送到乙太坊專用網路

  • November 1, 2018

我在 Google Chrome 上使用 Metamask.io 擴展。使用套接字地址(IP:埠號)將 Metamask.io 正確連接到 AWS EC2 實例上託管的私有網路。Basic Contract 已使用 Remix IDE 部署在區塊鏈上以進行可靠性程式。我能夠獲取資訊(getInstructor 函式)。但是,無法設置新的講師資訊。

腳步 -

  1. 在 Remix IDE 上,我呼叫了該函式。
  2. 它會打開 Metamask 彈出視窗,我使用預設的 gas 價格。
  3. 交易永遠不會被執行。

在乙太坊私有區塊鏈節點上,我試圖找到待處理的交易,但沒有。如圖所示,

> eth.pendingTransactions
[]

然而在嘗試這個時,

web3.eth.getBlock("pending")
{
 difficulty: 25082169,
 extraData: "0xd583010701846765746885676f312e39856c696e7578",
 gasLimit: 4712388,
 gasUsed: 0,
 hash: null,
 logsBloom: "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
 miner: null,
 mixHash: "0x0000000000000000000000000000000000000000000000000000000000000000",
 nonce: null,
 number: 1557557,
 parentHash: "0xf84ce5ff7845f399eb698bfc33abeb24a8e459096d7ad9c097de3eb6130a6360",
 receiptsRoot: "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
 sha3Uncles: "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
 size: 537,
 stateRoot: "0x017184c9d24daab688c39468af064cd3ab748f5adc9c5b1fd3c5bcc2f3a318a0",
 timestamp: 1523753000,
 totalDifficulty: 0,
 transactions: [],
 transactionsRoot: "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
 uncles: []
}

幾天前,我能夠執行此基本交易,但現在我不能。無法理解是什麼問題。

可能的錯誤 -

根據這些討論

礦工節點交易未發送,我嘗試創建另一個個人帳戶並讓它我的(失敗)。

開發的“通常”設置不是將 Metamask 連接到您的 AWS 節點,因為您不想將 API 公開給該節點。我猜你正在使用 POA 對嗎?

只需在您的電腦上執行一個本地節點並將元遮罩連接到 localhost。

預設情況下,節點只接受來自 localhost 的連接。您可以將其更改為接受來自任何人的連接:–rpcaddr “0.0.0.0”。

請注意,只要私鑰被解鎖,網際網路上的任何人都可以通過查詢您的 rpc 伺服器並發送交易來使用此密鑰。

聽起來你有這個問題: https ://github.com/MetaMask/metamask-extension/issues/1722

嘗試將chainId和設置networkId為相同的值,以幫助 MetaMask 保持 EIP-155 兼容。

在 MetaMask 中使用自定義節點的指南在這裡: https ://github.com/MetaMask/faq/blob/master/USERS.md#using-a-local-node

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