Blockchain Mainnet在Remix Solidity智能合约中将地址数组部署为构造函数参数不起作用

Blockchain Mainnet在Remix Solidity智能合约中将地址数组部署为构造函数参数不起作用,blockchain,ethereum,solidity,remix,Blockchain,Ethereum,Solidity,Remix,我正试图通过Remix/Metamask将智能合约部署到mainnet。我有构造函数参数的地址数组,无法接受事务。我在每个地址周围都尝试了双引号“”和单引号“”。有没有人知道如何编写数组参数,以便将其解释为数组而不是字符串(见图) 谢谢 只需以双引号传入地址数组。比如说, 布拉格固体度^0.4.25 contract Test { address[] mAddrs; event Deployed(address indexed theaddr); constructor(addr

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


谢谢

只需以双引号传入地址数组。比如说,

布拉格固体度^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]);
  }
}
合同测试{
地址[]mAddrs;
已部署事件(地址索引为ADDR);
构造函数(地址[]地址)公共{
mAddrs=地址;
对于(uint8 i=0;i
部署时参数设置为
[“0xca35b7d915458ef540ade6068dfe2f44e8fa733c”、“0x14723A09CFF6D2A60DCDF7AA4AFF308FDDC160C”、“0x4B0897B00513FDC7C541B6D9D7E929C4E5364D2DB”]

结果(请注意,第一个地址显示在日志输出中):

您能发布您为部署合同而拨打的电话吗?根据我的经验,一个简单的字符串数组就足够了,比如:
params=[“addr1”,“addr2”]
,然后你将params作为constructor参数传递。不幸的是,我无法上传另一张图片来更好地显示它,但这只是web应用程序中的混音部署。在Run部分,在Deploy下输入构造函数参数。我没有做任何代码来部署,只是将数组添加到deploy下的params框中。您是否至少可以将要传递的参数发布到构造函数中。当然,如果要大到这里张贴,只需在中间添加<代码>…<代码>。我对它进行了测试,它将接受这样传递的地址数组:
[“0xca35b7d915458ef540ade6068dfe2f44e8fa733c”,“0x14723a09acff6d2a60dcdf7aa4aff308fddc160c”]