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

Ответы (1)

Конструктор выполняется только при развертывании контракта, после чего он не может быть выполнен снова.

Если вы хотите произвольно назначать токены любому пользователю, вы можете добавить функцию монетного двора, подобную этой

function mint(uint amount) {
    totalSupply += amount;
    balanceOf[msg.sender] += amount;
    emit Transfer(address(0x0), msg.sender, amount);
}
спасибо, не могли бы вы помочь мне определить это? при переносе токена из одной метамаски в другую застрял на неизвестном идентификаторе сети. я использую локальную сеть с ганашем