Remix

如果您使用 infura ropsten metamask 和 remix,如何為合約編寫後端

  • April 8, 2022

我正在使用帶有 ropsten 的元遮罩。使用 remix 在 ropsten 上部署了我的契約。對於後端,我使用 infura 創建 web3 的實例。ew Web3(new Web3.providers.HttpProvider(’ https://ropsten.infura.io/v3/MY_API_KEY ‘));

我可以通過 contract.getDetails(123) 從區塊鏈獲取數據;但是在發送詳細資訊時,我遇到了錯誤,“方法 eth_sendTransaction 不存在/不可用”

我了解您的問題,這是由於 Infura 和 Web3 之間的 API 版本更改所致。請嘗試將 Web3 API 的版本與 Infura 匹配。

安裝並使用 truffle-hdwallet-provider 使用您的助記詞和 infura 端點創建提供程序。然後,您可以在創建 Web3 實例時傳遞此提供程序:

const HDWalletProvider = require("truffle-hdwallet-provider");

const provider = new HDWalletProvider(
 mnemonic,
 'https://ropsten.infura.io/v3/MY_API_KEY'
);

const web3 = new Web3(provider);

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