Solidität Wie man ein Argument von der Client-Seite an den Konstruktor übergibt

Wie man vom Argument zur Konstruktorfunktion in Solidity übergeht, die als msg.sender empfangen werden kann. Dies ist mein Konstruktorcode

constructor(uint256 _initialSupply)public{
   totalSupply = _initialSupply;
   balanceOf[msg.sender] = _initialSupply;
}

Mein clientseitiger Code

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();
  }

Hier erhalte ich immer Saldo als 0

Antworten (1)

Der Konstruktor wird nur ausgeführt, wenn der Vertrag bereitgestellt wird, danach kann er nicht erneut ausgeführt werden.

Wenn Sie jedem Benutzer willkürlich Token zuweisen möchten, können Sie eine Mint-Funktion wie diese hinzufügen

function mint(uint amount) {
    totalSupply += amount;
    balanceOf[msg.sender] += amount;
    emit Transfer(address(0x0), msg.sender, amount);
}
Danke, können Sie mir helfen, das zu identifizieren? beim Übertragen von Token von einer zu einer anderen Metamaske, die bei einer unbekannten Netzwerk-ID hängen bleibt. Ich verwende lokales Netzwerk mit Ganache