Tradicionalmente, cuando las personas han implementado contratos para uso público, han tendido a publicar direcciones de contrato separadas para Testnet y Mainnet. A menudo, esto requiere que incluyan un código para verificar en qué red está el contrato, como vemos en este ejemplo .
Esto parece haber sido necesario anteriormente porque, en ausencia de protección de reproducción, Morden usó una cuenta StartNonce muy alta , por lo que no era práctico crear la misma dirección en Mainnet. (Consulte ¿Es posible dar un contrato a la misma dirección de Morden? )
Ahora que la protección de reproducción EIP 155 está activa y Ropsten está usando una cuentaStartNonce de 0 como Mainnet, ¿quedan buenas razones para seguir usando direcciones separadas para mainnet y testnet, o deberíamos deshacernos de este código y usar una sola dirección? ¿para ambos?
Un argumento bastante débil en contra de su sugerencia es el siguiente: el implementador tendría que usar la misma clave privada tanto en la prueba como en la red principal. Esto podría considerarse un riesgo de seguridad, ya que las claves privadas en la red de prueba generalmente no tienen que almacenarse y manejarse de manera segura, mientras que en la red principal definitivamente sí lo hacen. Mezclar los dos dominios, por lo tanto, desdibujaría los requisitos de seguridad de cada uno de ellos.
Sin embargo, diría que las ventajas de tener la misma dirección tanto en la prueba como en la red principal tampoco son muy convincentes. En el ejemplo que vinculó, en mi opinión, una mejor solución sería pasar la dirección respectiva en el constructor.
Además, no todo el código específico de la red quedaría obsoleto de todos modos (p. ej., parámetros como la duración de las ventas masivas, los números de validadores, etc.).
using YourAPI
y comenzar a llamar funciones desde allí.
roland kofler
Marte Robertson
Edmundo Edgar
Marte Robertson
Mainnet
aRopsten
la ICO, lo que permitió a las personas probar sus billeteras, contraseñas, todo... Pero debido a que algunas personas cometerán errores y enviarán ETH real a la dirección de la red de prueba, NO SE PUEDE .Marte Robertson
you could rescue them by deploying a contract subsequently
- No estoy de acuerdo con eso, ¿y si la cuenta nonce es demasiado alta? En una nota separada: lo hice accidentalmente, cuenta nueva, mismo momento, magia: steemit.com/ethereum/@genesisre/…