4

我正在尝试通过 Remix/Metamask 将智能合约部署到主网。我有一个构造函数参数的地址数组,无法接受交易。我在每个地址周围都尝试了双引号“”和单引号。任何人都知道如何编写数组参数,以便将其解释为数组而不是字符串(见图)?

混音中的错误消息

谢谢!

4

1 回答 1

3

您只需要用双引号传入地址数组。例如,

编译指示 ^0.4.25;

contract Test {
  address[] mAddrs;
  event Deployed(address indexed theaddr);

  constructor(address[] addrs) public {
    mAddrs = addrs;

    for (uint8 i = 0; i < mAddrs.length; i++)
      emit Deployed(mAddrs[i]);
  }
}

部署参数设置为["0xca35b7d915458ef540ade6068dfe2f44e8fa733c", "0x14723a09acff6d2a60dcdf7aa4aff308fddc160c", "0x4b0897b0513fdc7c541b6d9d7e929c4e5364d2db"]

结果(注意第一个地址显示在日志输出中): 在此处输入图像描述

于 2018-10-31T21:01:36.497 回答