Da Abfrage- oder Konstantenfunktionen nur auf einem einzelnen Knoten ausgeführt werden, besteht keine Abhängigkeit von Gas oder Gaslimit. Ich führe Quicksort in der Abfrage-/Konstantenmethode durch. EVM kann ein Array mit einer Länge von bis zu 50000 sortieren. Die Funktion gibt Null zurück, wenn die Arraygröße zunimmt.
Jede von der Blockchain ausgeführte Operation kostet Benzin. Die theoretische maximale Anzahl von Operationen, die ausgeführt werden können, ist daher das maximale Gas/Block .
Andernfalls könnte die gesamte Blockchain mit Funktionsaufrufen gespammt (und schließlich getötet) while(true){}
werden.
Konstante Funktionen (diejenigen, die den Zustand nicht ändern) können bei Bedarf auf Ihrem lokalen Knoten ausgeführt werden, und dann würde es kein Benzin kosten. Aber wenn Sie diese Funktion von einer Transaktion aus aufrufen, kostet es Benzin.
Subhod I
Every operation executed by the blockchain costs gas. The theoretical max number of operations that can be executed is thus the max gas/block.
Dies gilt nicht für konstante Funktionen.Tudor Constantin
natewelch_
eth_call
ermöglichen das freie Auslesen von Vertragsdaten. Die meisten Bibliotheken, die RPC verwenden, verfügen über solche Funktionen. Siehe github.com/ethereum/wiki/wiki/JSON-RPC#eth_call . Es ist schreibgeschützt, daher sind natürlich alle Statusänderungen, die es verursacht, nicht dauerhaft.Tudor Constantin
natewelch_
Tudor Constantin