Cree nuevas cuentas de Ethereum y guárdelas en el nodo usando JSON-RPC

Quiero desarrollar un sitio web donde cada usuario registrado pueda generar una nueva dirección de Ethereum, enviar sus monedas y luego intercambiarlas por otras monedas. Quiero implementar las siguientes funcionalidades:

  • Genere una nueva dirección de Ethereum cuando el usuario lo desee y almacene las claves en mi nodo de Ethereum, lo que le brinda al usuario una mejor experiencia de usuario y le permite retirar sus fondos en cualquier momento.

  • Genere la nueva cuenta sobre JSON-RPC si es posible y seguro. Pregunté esto en este enlace y leí muchas publicaciones que dicen que es una forma insegura, pero realmente no entiendo por qué. Soy novato en el entorno Ethereum pero quiero comenzar el desarrollo de mi proyecto y no tengo ningún otro problema para comenzar de otra manera diferente a JSON-RPC si es seguro y puedo almacenar cuentas en mi nodo.

Creo que tal vez no estoy entendiendo algo sobre el entorno de Ethereum porque no veo una forma segura y fácil de hacerlo. Y si no me equivoco, Coinbase funciona de esa manera: generan, guardan las billeteras de ethereum y el usuario solo necesita enviar o retirar su dinero; así que debe haber una manera de hacerlo. Si alguien pudiera guiarme sobre cómo comenzar, cómo usar geth para ese propósito o una biblioteca, estaría agradecido.

Respuestas (1)

La seguridad de usar JSON-RPC generalmente gira en torno a la seguridad de cualquier sistema en el que se esté ejecutando. JSON-RPC en sí mismo es relativamente inseguro, lo que significa que si el puerto en el que está escuchando está expuesto, cualquiera puede controlar su nodo, incluidos los aspectos de administración de cuentas.

Ha habido una serie de incidentes en el pasado en los que alguien dejó su nodo escuchando en un puerto público y le robaron sus fondos.

En su lugar, es posible que desee considerar el uso de la interfaz IPC, ya que generalmente puede aplicar permisos más estrictos en la canalización IPC.

Sin embargo, si planea proporcionar un servicio de acceso público, querrá asegurarse de que el nodo que se ejecuta esté en un sistema aislado que tenga una interacción mínima con su sistema de cara al público. Hay muchas preocupaciones de seguridad en torno a tener un nodo ejecutándose en un sistema público: investigue y sea muy diligente en todos los aspectos de la seguridad del sistema.