【问题标题】:Ethers.js gives "resolver or addr is not configured for ENS name"Ethers.js 给出“未为 ENS 名称配置解析器或地址”
【发布时间】:2022-06-28 03:20:41
【问题描述】:

我有以下代码:

const ethereumProvider = ethers.getDefaultProvider(ETHEREUM_RPC);

const contract = new ethers.Contract(
  CONTRACT_ADDRESS,
  abi,
  ethereumProvider,
);

ethers 包给了我以下错误:

错误:未为 ENS 名称配置解析器或地址(argument="name"、value="734574864865375122901309634679882622222228500042"、code=INVALID_ARGUMENT、version=contracts/5.5.0)

我不知道这个数字是从哪里来的。我从不在任何地方将此作为论据。

此外,只有在 AWS Beanstalk 上部署时才会出现此错误。

【问题讨论】:

    标签: yaml amazon-elastic-beanstalk ethereum smartcontracts ethers.js


    【解决方案1】:

    其实,“奇怪的数字”是智能合约地址的十进制版本(应该是十六进制)。

    十六进制到十进制的转换发生在我传递环境变量的 YAML 文件中,因为该值是数字而不是字符串。

    option_settings:
      aws:elasticbeanstalk:application:environment:
        CONTRACT_ADDRESS=0x80ab79e5c36351Fb5DBe2b35E97f724EcA47AE4A
    

    所以我只需要用双引号将值括起来:

    option_settings:
      aws:elasticbeanstalk:application:environment:
        CONTRACT_ADDRESS="0x80ab79e5c36351Fb5DBe2b35E97f724EcA47AE4A"
    

    【讨论】:

      【解决方案2】:

      我认为这个错误通常与作为参数传递的合约地址有关。

      对我来说,我收到错误是因为我传递的是一个空字符串而不是合约地址。

      【讨论】:

        猜你喜欢
        • 2021-02-14
        • 1970-01-01
        • 2022-08-20
        • 2012-12-09
        • 2019-11-13
        • 1970-01-01
        • 2014-10-13
        • 2012-11-27
        • 1970-01-01
        相关资源
        最近更新 更多