Error de curl de Windows con JSON-RPC

Usando Windows, cuando comencé Geth con:

geth --rpc --rpcaddr 192.168.1.9 --rpcport 8545 --rpcapi "eth,net,web3,personal" --datadir C:\Users\BulldogBud\AppData\Roaming\Ethereum\testnet\chaindata --networkid 3 console

Recepción:

I1206 11:55:12.857903 node/node.go:410] Punto final HTTP abierto: http://192.168.1.9:8545

Abrí otra consola escribiendo:

curl -X POST --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":1}' http://192.168.1.9:8545

Recibiendo:

{"jsonrpc":"2.0","error":{"código":-32600,"mensaje":"carácter no válido '\'' buscando el comienzo del valor"}}

¿Cómo puedo solucionar este problema? ¡Gracias de antemano!

EDITAR después de varios intentos, dando:

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_coinbase","params":[],"id":1}' http://localhost:8545

el nuevo mensaje de error es:

curl: (7) Error al conectarse al puerto localhost 8545: Conexión rechazada

¿Cualquier sugerencia?

Desafortunadamente reinicié Geth: > admin.startRPC() I1206 14:18:47.079120 node/node.go:410] Punto final HTTP abierto: localhost:8545 true Experimentando de nuevo: C:\>curl -X POST --data '{" jsonrpc":"2.0","método":"eth_syncing","params":[],"id":1}' localhost:8545 {"jsonrpc":"2.0","error":{"código": -32600,"mensaje":"carácter no válido '\\'' buscando el comienzo del valor"}}
Acabo de probar su segunda cadena RPC desde arriba, pero cambié 192.168.1.9 a localhost . Obtuve un resultado perfecto. Comienzo geth con geth --rpc --rpcapi"eth,net,web3,personal"los valores predeterminados --rpcport de todos modos. No sé sobre el resto de los parámetros que usa para iniciar geth
No sé cómo proceder para solucionarlo... Estoy usando Windows 10, ¿hay alguna versión particular de Curl para descargar?
¿Has encontrado una manera de resolver este problema? tengo el mismo problema
En Windows, debe escapar de todas las comillas dobles.

Respuestas (2)

Vamos a usar POST MAN

Con:

  • Método: Publicar
  • URL: http://localhost:8545

  • Encabezado: Tipo de contenido: aplicación/json

  • Cuerpo: crudo

{
  "jsonrpc": "2.0",
  "method": "eth_coinbase",
  "params": ["0x68656c6c6f20776f726c64"],
  "id": 1
}

funcionó perfectamente para mí.

Trate de establecer

--rpccorsdomain="http://yourip/"

O

--rpccorsdomain="*"

¡Dime si eso funciona!

También en algún momento uso NGROK de esta manera puedo crear un dominio, apuntar al puerto 8545 y usar ese dominio en lugar de esa IP