¿Tenemos que compilar e implementar nuestro contrato en ethereum cada vez que comenzamos un RPC de prueba?

Estoy tratando de desarrollar una aplicación de votación, compilé con éxito la aplicación y también la implementé en ethereum blockchain. Ahora cerré la prueba rpc y la consola del nodo, y cuando reinicié la consola del nodo y la prueba rpc, mi aplicación no funcionaba como debería, luego la compilé nuevamente y la implementé nuevamente y ahora funciona bien. Entonces, preguntaba si tenemos que compilar e implementar nuestra aplicación cada vez que iniciamos el rpc de prueba. En caso afirmativo, ¿hay alguna forma de que mi aplicación se ejecute todo el tiempo para no tener que repetir el proceso de compilación e implementación una y otra vez?

¿Adónde, desplegó su contrato? a la red principal de Ethereum? ¿O un nodo simulado? Si es un nodo simulado, entonces su contrato no se almacena en ninguna parte. Probablemente debería ejecutar su propia cadena privada para realizar pruebas. O usa la red de prueba
estoy usando ethereum test-net para implementar mi contrato.
en ese caso, debe implementar una vez. debe obtener la dirección del contrato la primera vez que implementó y reutilizarla

Respuestas (1)

La respuesta corta es , pero puede cambiarla.

Si está utilizando testrpc o ganache de truffle, el comportamiento predeterminado es que su contrato se eliminará cada vez que lo reinicie. Si desea mantener su contrato, debe instalar un nodo privado. Por ejemplo geth.

También puede usar ganache-cli e iniciarlo con --db opción opción

--db: especifique una ruta a un directorio para guardar la base de datos de la cadena. Si ya existe una base de datos, ganache-cli inicializará esa cadena en lugar de crear una nueva.

Obtenga más información aquí: https://github.com/trufflesuite/ganache-cli

Ganache y testrpc es lo mismo.