Solidity

Solidity如何從客戶端將參數傳遞給建構子

  • August 4, 2018

如何將參數傳遞給可以作為 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);
}

引用自:https://ethereum.stackexchange.com/questions/55849