У меня есть умный контракт, который я развертываю с помощью пакета Web3.js.У меня есть функция с именем deploySmartContract()
, которая делает это, и я ожидаю, что этот метод вернет адрес контракта вызывающей функции.Ниже приведен фрагмент кода для deploySmartContract()
-
function deploySmartContract(shareName, symbol, maxSupply) {
var _shareName = shareName;
var _symbol = symbol;
var _maxSupply = maxSupply;
var contractAddr = '';
var sharesregistry = contractObj.new(
_shareName,
_symbol,
_maxSupply,
{
from: primaryAccount,
data: byteCode,
gas: '5000000'
}, function (e, contract){
console.log(e, contract);
if (typeof contract.address !== 'undefined') {
console.log('Contract mined! address: ' + contract.address + ' transactionHash: ' + contract.transactionHash);
}
}
);
console.log(sharesregistry.address);
return sharesregistry;
}
. Как я могу подождать, пока мое заявление на возврат не будет выполнено, пока не будет завершена вся транзакция, и выполнить возврат, когда контракт добыт?В противном случае я получаю только скелет объекта shareregistry
в вызывающей функции.
Здесь я подтверждаю, что этот код идеально использует смарт-контракт.