Я использую openZeppelin, чтобы заключить контракт краудсейла, все (30 из них) мои тесты проходят отлично;) и я могу без проблем перейти на локальный блокчейн ганаша.
rinkeby: {
provider: rinkeybyProvider,
network_id: 3,
gas: 4712388,
gasPrice: web3.utils.toWei("40", "gwei"),
websockets: true,
from: "0x9793371e69ed67284a1xxxx"
}
Когда я развертываюсь на ринкеби, я получаю:
"SplitWallet" hit a require or revert statement somewhere in its constructor. Try: * Verifying that your constructor params satisfy all require conditions. * Adding reason strings to your require statements.
Я просмотрел и поместил сообщения в каждый откат в иерархии конструктора, но я никогда не вижу ни одного сообщения. Я думал, что, возможно, мои получатели и акции имеют разную длину, но нет, они одинаковы (только параметры, которые принимает конструктор для разделенного кошелька)
На заметку:
truffle-wallet-provider
, только с закрытым ключом (без мнемоники) для развертыванияmodule.exports = async (
deployer,
network,
[owner, purchaser, investor, organisation, ...accounts] //how does it know these??
)
Этот последний момент заставляет меня задуматься, потому что я распечатал владельца / покупателя, и они вообще не соответствуют моему кошельку с открытым ключом, поэтому я понятия не имею, откуда они. И если они не совпадают, и по умолчанию владельцем является учетная запись [0], тогда этот кошелек не сможет оплатить газ .... возможно ??
Спасибо
Идентификатор сети Rinkeby равен 4, а не 3.