In meinem Vertrag gibt es einen Strukturtyp:
struct Claim{
address healthcareProvider;
uint amount;
bool patientSig;
bool paid;
uint item;
}
Und die Initialisierungsfunktion lautet:
function MakeClaim(uint _amount, uint _item, uint num) {
Claim memory c;
c.healthcareProvider = tx.origin;
c.patientSig = false;
c.paid = false;
c.amount=_amount;
c.item=_item;
}
Wenn ich diese Funktion aufrufe, um einen neuen Anspruchstyp zu erstellen, finde ich, dass der Preis 2,687 ETH (nicht Gas) beträgt. Dies ist viel mehr als die Kosten für die Bereitstellung des gesamten Vertrags! Ich teste es im Morden-Testnetz. Wo ist mein Problem?
Da der Datenspeicher in Blockchain eine knappe Ressource ist, ist er ziemlich teuer. Das Speichern von Daten ist der teuerste Vorgang in jedem Smart Contract.
sstore 100 Paid for a normal SSTORE operation (doubled or waived sometimes).
Sie können die ganze Liste sehen: https://www.cryptocompare.com/coins/guides/what-is-the-gas-in-ethereum/
Wenn Sie also komplexe Strukturen verwenden, vervielfachen sich die Kosten.
Daniel Patrick
KanekiDev
Alper
KanekiDev