¿Cómo puedo usar Internet para realizar transacciones que hago desde la consola geth?

He leído que las comunicaciones RPC desde Internet se pueden reenviar a la consola geth. Pero no tengo ninguna pista sobre ¿Cómo ? ¿Cómo puedo usar rpc portpara realizar transacciones por Internet que realicé usando la consola geth?
¿Hay alguna forma de acceder a mi cuenta y realizar transacciones desde un navegador web? PD: Sé que hay problemas de seguridad relacionados con él, y usarlo no es seguro.

Respuestas (1)

He leído que las comunicaciones RPC desde Internet se pueden reenviar a la consola geth. Pero no tengo ninguna pista sobre ¿Cómo?

geth escucha de forma predeterminada en el puerto localhost 8545. Para poder acceder a una instancia de geth que se ejecuta en una máquina separada, debe iniciarlo con los siguientes módulos RPC habilitados:

--rpcapi "admin,personal,db,eth,net,web3"
  • el personal y el administrador manejan las operaciones de administración de cuentas (cambiar credenciales, desbloquear, crear, etc.)
  • db maneja la copia local de la cadena de bloques
  • eth es un objeto que se utiliza para administrar operaciones relacionadas con transacciones (realizar transacciones, recuperar recibos, implementar contratos, etc.)
  • net es un módulo administrador de red (muestra el número de pares conectados, permite desconectar un par, etc.)
  • y web3 es un framework js usado para comunicarse con geth a través de objetos JSON recibidos por un cliente

Tenga en cuenta que cualquier par con acceso remoto a la máquina respectiva puede interactuar con el cliente, lo que significa que si una cuenta está desbloqueada, un atacante puede vaciar todo su Ether a través de una transacción enviada como un objeto JSON al puerto en el que escucha geth .

Puede establecer el puerto RPC en un valor personalizado:

--rpc --rpcport "8080"

y, como desea usar un navegador, también debe especificar un argumento de línea de comando de dominio cruzado para sortear la política del mismo origen que implementan la mayoría de los navegadores.

--rpccorsdomain "*"

¿Hay alguna forma de acceder a mi cuenta y realizar transacciones desde un navegador web? PD: Sé que hay problemas de seguridad relacionados con él, y usarlo no es seguro.

Para interactuar con la instancia de geth en una máquina remota desde un navegador, puede utilizar el marco web3 y apuntarlo a la dirección de red y el puerto en el que escucha geth :

if (typeof web3 !== 'undefined') {
  web3 = new Web3(web3.currentProvider);
} else {
  // set the provider you want from Web3.providers
  web3 = new Web3(new Web3.providers.HttpProvider("http://<remote_address>:<remote_port>"));
}
El puerto predeterminado es 8545, no <s>8585</s>.
Gracias por el apoyo. Lo configuré rpcporty también rpccprsdomainya, pero mi problema principal es acceder a mi cuenta desde una máquina remota a través de un navegador web (sin usar la línea de comandos). ¿Puede elaborar la segunda parte de su respuesta como, dónde necesito usar ese script y qué pasos necesito para realizar transacciones usando un navegador web? Accedí a mi cuenta usando la consola geth y Mist, encontré muchos tutoriales al respecto, pero ahora quiero dar un paso adelante para usar la GUI basada en web para realizar transacciones, pero no recibo ningún tutorial o explicación al respecto. ¿Alguna ayuda?