Wo in Zeppelin-Crowdsale-Variablen zu platzieren

In verschiedenen Tutorials und früheren Versionen von Zeppelin waren Variablen wie _rate explizit im Code enthalten. Jetzt werden diese jedoch in einer Funktion (SampleCrowdsale) belassen, und ich bin mir nicht sicher, was ich damit machen soll.

https://github.com/OpenZeppelin/zeppelin-solidity/blob/bd84db735deb958064dd954c2994b0b44f142812/contracts/examples/SampleCrowdsale.sol

In allen Tutorials definieren Sie einfach alle Variablen und erstellen dann die Münze. Rufen wir in dieser neuen Version die Funktion „SampleCrowdsale()“ irgendwie außerhalb des Vertrags selbst auf? Wenn ja, wie würde man das anstellen. Oder stecken wir die Variablenwerte gleich hier ein?

Ich bin mir sicher, dass mir hier eine grundlegende übergreifende Idee fehlt. Abgesehen von den Einzelheiten, wie dies zum Laufen gebracht werden kann, wäre es großartig, die Gesamtidee zu verstehen.

Vielen Dank im Voraus.

Meine Vermutung ist, dass sie sich in den importierten Dateien befinden (erste paar Codezeilen)
Danke @Data_Kid, aber definitiv nicht der Fall. Sie können die Codebasis danach durchsuchen, und es ist in keinem der Importe enthalten. Es gibt eine Beispiel-Javascript-Initiierung davon, weshalb ich annehme, dass es eine Art externer Initiierung geben muss, aber es fällt mir schwer, das zu googeln/zu verstehen.

Antworten (1)

SampleCrowdsaleist Vertragsersteller. Es wird beim Anlegen des Vertrages automatisch aufgerufen. Sie können erkennen, dass es sich um den Konstruktor handelt, da der Name der Methode mit dem Namen des Vertrags identisch ist.

Sie können diese Variablen beim Erstellen des Vertrags übergeben oder sie aus einem anderen Vertrag heraus bereitstellen und diese Variablen übergeben.

Sie könnten SampleCrowdsalediese Variablen auch in der Vererbung überlagern und setzen wie:

contract SuperSampleCrowdsale is SampleCrowdsale(160000000, 170000000, 100, 5000, 500000, 0x0) {...}
Danke Alec, was mir gefehlt hat, war der Teil "Sie können diese Variablen beim Erstellen des Vertrags übergeben". Jetzt sehe ich, wenn ich dies in Remix ausführe, werde ich nach diesen Variablen gefragt, wenn ich versuche, den Vertrag zu erstellen. Das hat mir gefehlt. Das erneute Durchlaufen des Tuts hier brachte mich auch zu dieser Erkenntnis: ethereum.org/token