Я изучаю язык Solidity и экспериментирую в Ropsten Testnet, я пробовал несколько вещей с созданным контрактом, но каждый раз, когда я пытаюсь его создать, IDE remix Solidity выдает мне сообщение об ошибке: стоимость транзакции превышает лимит газа.
Я получил много рекомендаций, которые говорят мне разделить контракт на более мелкие, я новичок в мире токенов Ethereum и не знаю, что люди подразумевают под этим? Если я разделю свой контракт на несколько частей и сделаю все равными? Как я свяжу их вместе?
Вы должны сделать что-то вроде этого:
Token.sol
// This should be an abstract interface without implementation
contract Token {
function mint(address _to, uint _amount) public returns (bool);
// Rest of the code
}
CrowdsaleToken.sol
import "Token.sol";
// This contract contains the implementation of ERC20 methods
contract CrowdsaleToken is Token {
function mint(address _to, uint _amount) public returns (bool) {
balances[_to] = balances[_to] + _amount;
return true;
}
// Rest of the code
}
Crowdsale.sol
import "Token.sol";
// The Crowdsale interact with CrowdsaleToke through the
// abstract interface Token
contact Crowdsale {
Token crowdsaleToken; // Address of the CrowdsaleToken
function Crowdsale(address _crowdsaleToken) {
// We receive the CrowdsaleToken addres as constructor param
crowdsaleToken = Token(_crowdsaleToken);
// We can use the CrowdsaleToken contract
crowdsaleToken.mint(msg.sender, 0x31415926535);
}
// Other crowdsale methods
}
Развертывание выполняется в два этапа
Это основная идея.
Некоторые фреймворки, такие как Truffle и Populus , можно использовать для автоматизации некоторых из этих задач.
balances
он не определен? Где определить balances
?
рстормсф