我试着用javascript连接到孟买testnet。我不想使用炼金术,呋喃或诸如此类的东西,但我想用严厉的方式连接起来。我已经在孟买测试网部署了一份智能合同。
我尝试以下几点:
const provider = new ethers.providers.JsonRpcProvider(process.env.URL);在.env文件中,我的Url是:
URL=https://rpc-mumbai.maticvigil.com/到目前为止,一切正常,我甚至可以通过以下方式访问我的钱包:
const wallet = new ethers.Wallet(private_key, provider)现在我把我的智能合同连接成这样:
const contract = new ethers.Contract(deployed_contact_address, abi, provider);到目前为止,我认为这也是可行的,如果我使用console.log来显示合同,我可以看到智能契约中包含的函数。但是,如果我想访问这样的函数:
var out_min = contract.getAmountOutMin(dict_routers.get("uniswap_v2"), dict_bA.get("MATIC"), dict_tok.get("DAI"), 100);我收到一个错误:
node_modules\@ethersproject\logger\lib\index.js:233
var error = new Error(message);
^
Error: network does not support ENS (operation="getResolver", network="maticmum", code=UNSUPPORTED_OPERATION, version=providers/5.6.8)
at Logger.makeError (C:\Users\danis\arbitrage_bot\node_modules\@ethersproject\logger\lib\index.js:233:21)
at Logger.throwError (C:\Users\danis\arbitrage_bot\node_modules\@ethersproject\logger\lib\index.js:242:20)
at JsonRpcProvider.<anonymous> (C:\Users\danis\arbitrage_bot\node_modules\@ethersproject\providers\lib\base-provider.js:2305:36)
at step (C:\Users\danis\arbitrage_bot\node_modules\@ethersproject\providers\lib\base-provider.js:48:23)
at Object.next (C:\Users\danis\arbitrage_bot\node_modules\@ethersproject\providers\lib\base-provider.js:29:53)
at fulfilled (C:\Users\danis\arbitrage_bot\node_modules\@ethersproject\providers\lib\base-provider.js:20:58)
at processTicksAndRejections (node:internal/process/task_queues:96:5) {
reason: 'network does not support ENS',
code: 'UNSUPPORTED_OPERATION',
operation: 'getResolver',
network: 'maticmum'
}有人能告诉我,这里出了什么问题吗?我不知道该怎么办了。谢谢!
发布于 2022-08-17 13:09:31
你的地址是字符串。要尝试修复,只需粘贴地址(例如“0x12345.”)。进入变量名称所在的字段。
如果这是您的问题,那么它只是正确读取env/变量的javascript问题。
发布于 2022-09-30 05:30:09
如果您想要写入智能契约,您必须与签名者argument..hope签署它,它将有所帮助。
https://ethereum.stackexchange.com/questions/133739
复制相似问题