Solidity
Solidity如何從客戶端將參數傳遞給建構子
如何將參數傳遞給可以作為 msg.sender 接收的可靠建構子。這是我的建構子程式碼
constructor(uint256 _initialSupply)public{ totalSupply = _initialSupply; balanceOf[msg.sender] = _initialSupply; }
我的客戶端程式碼
initContract: function() { $.getJSON('ErcToken.json', function(json, textStatus) { App.contracts.ErcToken = TruffleContract(json); App.contracts.ErcToken.setProvider(App.web3Provider); return App.rendor(); });
},
rendor: function(){ web3.eth.getCoinbase(function(err,account){ if(err === null){ App.account = account; $("#").text(account); } }); App.contracts.ErcToken.deployed().then(function(instance){ return instance.balanceOf(App.account); }).then(function(balance){ $("#").text(balance.toNumber()); }); return App.bindEvents(); }
在這裡,我總是收到餘額為 0
建構子僅在合約部署時執行,之後無法再次執行。
如果您想將令牌任意分配給任何使用者,您可以添加一個像這樣的鑄幣函式
function mint(uint amount) { totalSupply += amount; balanceOf[msg.sender] += amount; emit Transfer(address(0x0), msg.sender, amount); }