我有一个智能合约,正在使用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
对象的骨架。
在这里,我确认此代码可以完美地部署智能合约。