Этот вопрос StackExchange ПОЧТИ ответил на мой вопрос. Однако я не знаю, как точно исправить мой код, чтобы функция, названная в честь контракта, была заменена конструктором.
Как конкретно эта функция будет исправлена?
contract Fake_Smrt_Coin is EIC20 { uint256 constant private MAX_UINT256 = 2 ** 256 - 1 ; mapping ( address => uint256 ) public balances ; mapping ( address => mapping ( address => uint256 )) public allowed ;
string public name ; uint8 public decimals ;
string public symbol ;
//I know this line needs improvement
function Fake_Smrt_Coin ( uint256 _initialAmount ,
string _tokenName , uint8 _decimalUnits ,
string _tokenSymbol ) public { balances [ msg . sender ] = _initialAmount ; totalSupply = _initialAmount ; name = _tokenName ; decimals = _decimalUnits ; symbol = _tokenSymbol ;
}
function transfer ( address _to , uint256 _value ) public returns ( bool success ) {
require ( balances [ msg . sender ] >= _value ); balances [ msg . sender ] -= _value ; balances [ _to ] += _value ; emit Transfer ( msg . sender , _to , _value );
return true ;
}
Будет ли обновленный код?
constructor (){
string public name ; uint8 public decimals ;
string public symbol ;
}
function transfer ( address _to , uint256 _value ) public returns ( bool success ) {
require ( balances [ msg . sender ] >= _value ); balances [ msg . sender ] -= _value ; balances [ _to ] += _value ; emit Transfer ( msg . sender , _to , _value );
return true ;
}
//I know this line needs improvement
constructor ( uint256 _initialAmount ,
string _tokenName , uint8 _decimalUnits ,
string _tokenSymbol ) public { balances [ msg . sender ] = _initialAmount ; totalSupply = _initialAmount ; name = _tokenName ; decimals = _decimalUnits ; symbol = _tokenSymbol ;
}
Надеюсь, поможет.
Просто измените function Fake_Smrt_Coin
с помощью constructor
кодовых слов.
Надеюсь это поможет.
Phil_Driscle