【发布时间】:2019-03-22 16:11:18
【问题描述】:
我有一个使用 Web3.js 包部署的智能合约。我有一个名为deploySmartContract() 的函数,它可以执行此操作,并且我希望此方法将合约地址返回给调用函数。以下是deploySmartContract() 的 sn-p -
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;
}
除非整个交易完成并在合约被挖掘时执行 return,否则我如何才能让我的 return 语句等待?否则我在调用函数中得到的只是shareregistry 对象的骨架。
在这里,我确认这段代码完美地部署了智能合约。
【问题讨论】:
标签: javascript blockchain smartcontracts web3js