Я использую openZeppelin, чтобы заключить краудсейл-контракт, все (30 из них) мои тесты проходят в плавающих тонах;) и я могу без проблем перейти на локальный блокчейн ganache.
- Когда я пытаюсь выполнить развертывание на rinkeby, у меня возникают проблемы. Мой конфиг в truffle.js
rinkeby: {
provider: rinkeybyProvider,
network_id: 3,
gas: 4712388,
gasPrice: web3.utils.toWei("40", "gwei"),
websockets: true,
from: "0x9793371e69ed67284a1xxxx"
}
При развертывании на rinkeby я получаю:
"SplitWallet" ударил оператор запроса или возврата где-то в его
конструктор. Попробуйте: * Проверка того, что ваши параметры конструктора удовлетворяют
все требуют условий. * Добавление строк причины к вашему требованию
заявления.
Я прошел и помещал сообщения в каждый возврат в иерархии конструктора, но я никогда не вижу ни одного из сообщений. Я подумал, что мои получатели и акции были разной длины, но нет, они одинаковы (только параметры, которые принимает конструктор для splitwallet)
Что следует отметить:
- У меня есть ключ infura api
- Я использую
truffle-wallet-provider
провайдера, используя только закрытый ключ (без мнемоники) для развертывания
- Я запутался (из-за вышеизложенного), как мой сценарий развертывания может знать несколько (10) кошельков при развертывании. Обычно (в ganache) это 10 кошельков, которые ganache генерирует для вас, но здесь я предоставляю закрытый ключ, поэтому он не должен знать 10 кошельков, только один - открытый ключ закрытого ключа, который развертывается. договор, нет? (говорим здесь):
module.exports = async (
deployer,
network,
[owner, purchaser, investor, organisation, ...accounts] //how does it know these??
)
Этот последний пункт заставляет меня задуматься, потому что я распечатал владельца / покупателя, а они совсем не соответствуют моему кошельку с открытым ключом, поэтому я понятия не имею, откуда они берутся. И если они не совпадают, и по умолчанию владельцем является учетная запись [0], то этот кошелек не сможет платить за газ .... возможно ??
Спасибо