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
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);
}
hafiz muhammed