Seguí los pasos del siguiente enlace para crear una red de prueba de Ethereum local, pero ahora quiero implementar un contrato en "MyTestNetNode":
testrpc no era una buena opción porque test rpc no guarda el estado cuando detiene el demonio. Necesito crear una red de prueba con geth que ya he hecho y me gustaría implementar un contrato usando Truffle sin obtener errores. ¿Alguien puede ayudarme?
Todo lo que necesita es cambiar el archivo de configuración de truffle de acuerdo con su configuración local:
module.exports = {
networks: {
development: {
host: 'localhost',
port: 8545, //the port of your local testnet
network_id: '*' //any network ID
}
}
}
además de eso, también puede usar ganache-cli como cliente testrpc y agregar el parámetro --db
para guardar la base de datos. De esta manera, puede volver a ejecutar el nodo de prueba utilizando los datos guardados en lugar de comenzar desde uno nuevo en cualquier momento.
En mi experiencia, es más fácil usar redes de prueba, como Rinkeby o Ropsten. Su estado se guardaría para su uso posterior. Solo necesita tener ether para esas redes. Simplemente busque faucet para Rinkeby, por ejemplo, y encontrará un sitio web que le brinda un éter falso para usar en esta red.
Luego configure la configuración de trufa de esta manera:
rinkeby: {<
provider: () => new HDWalletProvider(mnemonic, `https://rinkeby.infura.io/v3/${INFURA_KEY}`),
network_id: 4, // Rinkeby's id
gas: 5500000, // Rinkeby has a lower block limit than mainnet
confirmations: 1, // # of confs to wait between deployments. (default: 0)<
timeoutBlocks: 200, // # of blocks before a deployment times out (minimum/default: 50)
skipDryRun: true // Skip dry run before migrations? (default: false for public nets )
}
y luego corretruffle deploy --network rinkeby
Nota: aquí también puede definir su propia red privada. Simplemente defina un nombre para su red y asigne la ip, el puerto y otras cosas. Aquí uso Infra para acceder a Rinkeby, que es, nuevamente, más fácil para fines de desarrollo.
ismael