Ethereum - Entwicklung von MyContract
Wir werden unseren Vertrag benennen MyContract wie in der folgenden Erklärung -
contract MyContract {
Wir werden zwei Variablen wie folgt deklarieren:
uint amount;
uint value;
Die Variable amounthält das angesammelte Geld, das von den Vertragsausführenden an den Vertragsersteller gesendet wurde. DasvalueFeld enthält den Vertragswert. Während die Testamentsvollstrecker den Vertrag ausführen, wird dievalue Das Feld wird geändert, um den ausgeglichenen Auftragswert widerzuspiegeln.
Im Vertragskonstruktor legen wir die Werte dieser beiden Variablen fest.
constructor (uint initialAmount, uint initialValue) public {
amount = 0;
value = 1000;
}
Da der auf dem Vertrag gesammelte Betrag anfänglich Null ist, setzen wir den amount Feld auf 0. Wir setzen den Vertrag value auf eine beliebige Zahl, in diesem Fall 1000. Der Vertragsersteller entscheidet über diesen Wert.
Um den gesammelten Betrag zu einem bestimmten Zeitpunkt zu untersuchen, bieten wir eine öffentliche Auftragsmethode namens an getAmount wie folgt definiert -
function getAmount() public view returns(uint) {
return amount;
}
Um den ausgeglichenen Kontraktwert zu einem bestimmten Zeitpunkt zu erhalten, definieren wir getBalance Methode wie folgt -
function getBalance() public view returns(uint) {
return value;
}
Schließlich schreiben wir eine Vertragsmethode (Send). Es ermöglicht den Kunden, etwas Geld an den Vertragsersteller zu senden -
function send(uint newDeposit) public {
value = value - newDeposit;
amount = amount + newDeposit;
}
Die Ausführung der send Methode wird beide ändern value und amount Vertragsfelder.
Der vollständige Vertragscode ist unten angegeben -
contract MyContract {
uint amount;
uint value;
constructor (uint initialAmount, uint initialValue) public {
amount = 0;
value = 1000;
}
function getBalance() public view returns(uint) {
return value;
}
function getAmount() public view returns(uint) {
return amount;
}
function send(uint newDeposit) public {
value = value - newDeposit;
amount = amount + newDeposit;
}
}