¿Dónde almacena el nodo Ethereum su variante? [duplicar]

Todos saben que una vez que el contrato inteligente se implementa en la red Ethereum, no se modificará. Pero, ¿qué pasa con el valor de la variante de un contacto? Digamos que un contrato inteligente se parece a:

...
contract Hello{
      uint256 var1 = 10;
      function changeVar1() public{
             var1 = 100;
      }
}
...

Entonces, mi pregunta es ¿dónde está almacenada la variante var1 en Ethereum? ¿Es un código de bytes parcial del contrato inteligente? (Supongo que se almacena de esta manera) Si es así, su valor existe en la memoria de EVM cuando ejecuta el contrato y cada vez que ejecuta el contrato inteligente nuevamente, el valor de var1 se inicializa como 10. Si no, ¿dónde se almacena exactamente? ¿Y puedo ver el valor de var1 cambiado por la transacción anterior que llamó a la función changeVar1()?

Respuestas (1)

El sistema de almacenamiento de nodos de Ethereum depende del software de nodo que esté ejecutando. Es un detalle de implementación.

Por ejemplo, Parity usa RocksDB y puede encontrar estos archivos en su disco cuando ejecuta un nodo de Parity.

Además, puede ejecutar su nodo en el modo de archivo completo y almacena todos los estados históricos en el disco. Es alrededor de 2 TB en este momento.

Bueno, ¿qué quieres decir con "software de nodo"?
Vaya a Ethereum, Parity o similar. Lo que sea que ejecute para sincronizar con la red Ethereum peer-to-peer.
Bueno, ejecuta Go Ethereum. Entonces, ¿tienes alguna idea sobre eso?
Sí, almacena datos en su disco duro usando LevelDB (supongo, no estoy 100% seguro).