Передать массив address[] в деплойер Truffle (MultisigWallet)

Я пытаюсь развернуть контракт MultisigWallet на testrpc. Однако я не могу понять, как указать address[] _ownersпараметр конструктора в команде развертывания.

Я пробовал несколько вещей, из которых наиболее логичными мне показались следующие:

var MultisigWallet = artifacts.require("./MultisigWallet.sol");

module.exports = function(deployer) {
  deployer.deploy(MultisigWallet, ["0x7cb7..."], 0, 10000);
};

При запуске truffle migrateя получаю следующую ошибку:

> Error encountered, bailing. Network state unknown. Review successful
> transactions manually. Error: The contract code couldn't be stored,
> please check your gas amount.
>     at Object.callback (C:\...\node_modules\truffle\node_modules\web3\lib\web3\contract.js:147:46)
>     at C:\...\node_modules\truffle\node_modules\web3\lib\web3\method.js:142:25
>     at C:\...\node_modules\truffle\node_modules\web3\lib\web3\requestmanager.js:89:9
>     at XMLHttpRequest.request.onreadystatechange (C:\...\node_modules\truffle\node_modules\web3\lib\web3\httpprovider.js:118:13)
>     at XMLHttpRequestEventTarget.dispatchEvent (C:\...\node_modules\truffle\node_modules\xhr2\lib\xhr2.js:64:18)
>     at XMLHttpRequest._setReadyState (C:\...\node_modules\truffle\node_modules\xhr2\lib\xhr2.js:354:12)
>     at XMLHttpRequest._onHttpResponseEnd (C:\...\node_modules\truffle\node_modules\xhr2\lib\xhr2.js:509:12)
>     at IncomingMessage.<anonymous> (C:\...\node_modules\truffle\node_modules\xhr2\lib\xhr2.js:469:24)
>     at emitNone (events.js:91:20)
>     at IncomingMessage.emit (events.js:185:7)

Если бы кто-нибудь мог мне помочь с:

  • Передача параметра конструктора address[]deployer.deploy() в или
  • Развертывание MultisigWalletлокально testrpcс использованием трюфеля

редактировать: для MultisigWallet я имею в виду zeppelin https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/MultisigWallet.sol

попробуйте изменить лимит газа, кажется, газа недостаточно для выполнения контракта
@rstormsf спасибо, как мне это сделать? :с
проверьте свой файл truffle.js и посмотрите, какова ваша gasценность.{networks: {"main": {gas: 4712388 }}}

Ответы (1)

Zeppelin MultiSigWallet.sol не реализует changeOwnerопределенный в интерфейсе MultiSig.sol (который он наследует). Это может быть причиной сбоя при развертывании.

Стоит отметить, что контракт MultiSigWallet теперь удален из репозитория Zeppelin . Вместо этого они предлагают использовать последний мультиподписной контракт Consensys .