Ich lerne die Solidity-Sprache und habe im Ropsten Testnet experimentiert, ich habe verschiedene Dinge mit einem von mir erstellten Vertrag ausprobiert, aber jedes Mal, wenn ich versuche, ihn zu erstellen, gibt mir Remix Solidity IDE den Fehler, dass die Transaktionskosten das Gaslimit überschreiten.
Ich habe viele Empfehlungen erhalten, die mir sagen, ich solle den Vertrag in kleinere aufteilen. Ich bin neu in der Ethereum-Token-Welt und weiß nicht, was die Leute damit meinen? Wenn ich meinen Vertrag in mehrere Teile aufteile und jeden gleich erstelle? Wie verbinde ich diese miteinander?
Sie müssen so etwas tun:
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
}
Die Bereitstellung erfolgt in zwei Schritten
Das ist die Grundidee.
Einige Frameworks wie Truffle und Populus können verwendet werden, um einige dieser Aufgaben zu automatisieren.
balances
es nicht definiert ist? Wo definieren balances
?
rstormsf