#javascript #ethereum #solidity #truffle #web3js
#javascript #ethereum #надежность #трюфель #web3js
Вопрос:
Я успешно развернул свой первый контракт и получил его экземпляр. но когда я попытался развернуть второй контракт, который принимает первый контракт в качестве аргумента, это привело меня к ошибке. Я передал адрес первого контракта или также объекта (экземпляр первого контракта). каждый раз, когда он выдает мне ошибку.
- при передаче в качестве адреса он выдает недопустимый адрес или формат адреса Iban, подобный этому. введите код здесь, это ссылка на изображение ошибки
и ошибка
Uncaught (in promise) Error: Provided address "[object Promise]" is invalid, the capitalization checksum test failed, or its an indrect IBAN address which can't be converted.
at Object.d [as inputAddressFormatter]
- Код, который я пытаюсь использовать для развертывания [` // получить скомпилированные данные
let DhiSaleJsonInterface = await $.getJSON("DhiSale.json");
//create new object of DhiSale Contract.
let instance = new web3.eth.Contract(DhiSaleJsonInterface.abi);
//added meta data or required options
instance.options.address = "";
instance.options.from = account;
instance.options.gas = 1000000;
instance.options.gasPrice = '1000000000';
//add bytecode required for deployement.
instance.options.data = DhiSaleJsonInterface.bytecode;
//deploy the DhiSale contract
//Dhi is an already deployed contract object.
//it gives the error
return instance.deploy({ arguments: [Dhi.options.address, 1000000000] }).send({ from: account }).then((contractInstance) => {
console.log("Dhi Sale address :" contractInstance.options.address);
return contractInstance;
})`]
Комментарии:
1. можете ли вы попробовать web3.utils.checkAddressChecksum(Dhi.options.address), а затем передать адрес в качестве аргумента? Проблема определенно связана с неправильной интерпретацией Dhi.options.address.
2. web3, tuils.checkAddressChecksum([адрес]), я пробую этот метод, он возвращает true.
3. Извините, я имел в виду. toChecksumAddress, но в любом случае, если результат равен true, он должен был сработать
4. нет, это не работает для меня. я все еще ищу ответ.
5. можете ли вы показать результат консоли. журнал для Dhi.options.address