Geth JSON-RPC solo devuelve 0, nulo o error

Configuré un env docker basado en Ubuntu para trabajar con Geth (por ahora en Testnet) y JSON-RPC de Geth, sin embargo, cada llamada que hago a JSON-RPC falla en 0, nulo o un error porque el método sería no existe. Algunas llamadas (cuentas, precio del gas) sí funcionan en la red 'regular'.

Configuré Geth en Rinkeby Testnet con la siguiente línea:geth --rinkeby --rpc --rpcaddr "127.0.0.1" --rpcport "8000"

Aquí hay algunos ejemplos de lo que estoy recibiendo de vuelta; lo probé con localhost y 127.0.0.1. Todo en curl, colóquelo en la propia CLI del contenedor.

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionReceipt","params":["0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"],"id":1}' http://localhost:8000
{"jsonrpc":"2.0","id":1,"result":null}

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getCompilers","params":[],"id":1}' http://localhost:8000
{"jsonrpc":"2.0","id":1,"error":{"code":-32601,"message":"The method eth_getCompilers does not exist/is not available"}}

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_accounts","params":[],"id":2}' http://localhost:8000
{"jsonrpc":"2.0","id":2,"result":[]}

Para el último ejemplo, para probar que hay cuentas:

 geth account list
 Account #0: {678decf23eb929b88d7a55c272b73aa6e1d0d4bc} keystore:///root/.ethereum/keystore/UTC--2017-10-03T12-56-37.565267100Z--678decf23eb929b88d7a55c272b73aa6e1d0d4bc

Si alguien pudiera ayudarme y decirme cuál podría ser la causa, sería genial.

Respuestas (2)

este problema puede ocurrir si no ha desbloqueado su cuenta o si el minero no ha iniciado

  1. Para desbloquear la cuenta:

abre tu consola geth y ejecuta el siguiente comando

personal.unlockAccount("your account key","your passphrase",time in miliseconds)

para más: - API

2.Para ejecutar el minero

abre tu consola geth y ejecuta el siguiente comando

miner.start(2)

Después de hacer esto, intente ejecutar sus transacciones.

Esto me ayudó mucho, me hizo descubrir que la cuenta solo estaba registrada en la red 'regular' y no en la red de prueba de Rinkeby, registrarla allí funcionó. Escribiré una respuesta, desafortunadamente debido a la baja reputación en este SE, mi voto a favor no se muestra.

A partir de la respuesta de SwapnilKumbhar, descubrí que el problema era que la cuenta no estaba registrada en Rinkeby Testnet, solo en la red normal. Específicamente, registrar una nueva cuenta en Rinkeby Testnet funcionó.