我有一个前端/Web3 应用程序,它连接到 rinkeby 以太坊网络中已部署的合约。
这可以通过 Web3 库实现,并创建 web3 的实例,如下面的代码:
web3.js
import Web3 from "web3";
window.ethereum.request({ method: "eth_requestAccounts" });
const web3 = new Web3(window.ethereum);
export default web3;
因此,在另一个文件中,我通过合约地址和 ABI 连接到已部署的合约:
contract.js
import web3 from "./web3";
const address = "0x(...)fEb";
const abi = ["(...)"]
export default new web3.eth.Contract(abi, address);
好的。然后我可以调用我的以太坊合约上的方法。
但我想在孟买多边形测试网中进行。我已经有一个部署/验证的合约,然后在contract.js中,我替换了值、地址和abi,但它不起作用。
我看到了一些关于 magic sdk 库的内容,但是示例与这个模型有点不同,我有点困惑。
那么,有人提示如何将孟买多边形测试网连接到前端?
如果您需要与 Polygon 通信,您应该使用 Matic.js 并使用本指南:https://medium.com/the-polygon-blog/beginner-friend-tutorial-to-matic-js-58f7c24c9744
回答问题:要连接到 Mumbai Polygon,您可以使用:
const polygonNodeOptions = {
rpcUrl: 'https://rpc-mumbai.maticvigil.com/',
chainId: 80001,
};
来自 https://mumbai.polygonscan.com/tx/xxxxxx 从已部署的合约中获取合约地址。 您可以在“收件人:”部分找到它
然后
const getContract = new web3.eth.Contract(yourabi,DeployedcontractAddress); const res =等待 getContract.methods.your-method().call();
希望这有帮助。
这根本不起作用。没有明确的文档将前端与多边形主网及其测试网连接起来。