Dificultades para iniciar Ethereum json RPC

Instalé Ethereum en VPS y tengo dos cuentas. Después de instalar Ethereum en mi mac donde tengo una cuenta. Por ahora estoy en la red testnet.

Quiero conectarme a cuentas de VSP desde una terminal mac. Intenté hacer esto:

geth --rpc --rpcaddr "xxx.xx.xxx.xxx" console

(xxx.xx.xxx.xxx) es la IP del VPS

Pero cuando lo hago :

personal.listAccounts

Solo tengo una cuenta, así que no estoy conectado a VSP sino a mi cuenta de mac.

¿Cómo puedo hacer para conectarme a la cuenta VPS?

Para aclarar, ¿quieres conectar tu geth local a un geth remoto por rpc?
@5chdn, Sí, esto es lo que quiero hacer. Mi primera idea fue por rpc pero si hay otra forma compro
@5chdn, ¿Tienes alguna idea?

Respuestas (2)

Enfoque inseguro :

En la máquina remota, ejecute geth con los siguientes argumentos:

--rpc --rpcapi "admin,personal,db,eth,net,web3" --rpcport "8080"--rpcaddr "0.0.0.0"

Se detallan aquí , aquí y aquí .

En la máquina local ejecute:

$ geth attach rpc:http://<remote_ip>:8080

(Más) Enfoque seguro

Conéctese al VPS a través de SSH y ejecute geth localmente (sin configurar el argumento rpcaddr ) y conéctese a través de IPC:

$ geth attach ipc:/path/to/ipc

donde la ruta es el directorio en el que se ha iniciado geth o el --datadir personalizado pasado como argumento.

¿Por qué su segunda solución es más segura?
Utiliza un túnel SSH para conectar las dos máquinas y administrar la estación remota, lo que significa que solo las personas que tienen credenciales/certificados para esa conexión SSH pueden conectarse a la máquina remota, mientras que en la primera cualquiera conoce la dirección de red y el puerto de la instancia remota de geth. puede conectarse a él. Si tiene una cuenta que está desbloqueada (y el módulo eth está cargado), entonces alguien puede transferir todo su saldo en esa cuenta a otra que controle.

Tienes que habilitar personal a través del --rpcapiinterruptor. Aquí hay algunas opciones de cambio:

--rpcapi "admin,db,eth,debug,miner,net,shh,txpool,personal,web3"