Descubra el hash de bloque más reciente en Ethereum usando JSON-RPC

Estoy desarrollando un explorador de bloques ethereum en PHP y he establecido con éxito una comunicación JSON-RPC con el nodo geth de mi servidor. Sin embargo, estoy un poco atascado cuando trato de encontrar el último bloque en ethereum. He leído la excelente información en https://ethereum.gitbooks.io/frontier-guide/content/rpc.html pero no encuentro ninguna forma de preguntarle al nodo ethereum cuál es el último bloque. Una vez que tuve el hash de bloque, veo que hay puntos finales para recuperar información completa sobre el bloque, pero no sé cómo encontrar el hash de bloque más reciente.

Se supone que el extremo de la API eth_blockNumber devuelve el último número de bloque, pero ¿cómo obtengo el hash?

¿Alguna ayuda? ¡Gracias de antemano!

Respuestas (1)

pedido:

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["latest", false],"id":1}' localhost:8545

respuesta:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "difficulty": "0x31962a3fc82b",
    "extraData": "0x4477617266506f6f6c",
    "gasLimit": "0x47c3d8",
    "gasUsed": "0x0",
    "hash": "0x78bfef68fccd4507f9f4804ba5c65eb2f928ea45b3383ade88aaa720f1209cba",
    "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
    "miner": "0x2a65aca4d5fc5b5c859090a6c34d164135398226",
    "nonce": "0xa5e8fb780cc2cd5e",
    "number": "0x1e655a",
    "parentHash": "0x8b535592eb3192017a527bbf8e3596da86b3abea51d6257898b2ced9d3a83826",
    "receiptRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
    "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
    "size": "0x20e",
    "stateRoot": "0xdc6ed0a382e50edfedb6bd296892690eb97eb3fc88fd55088d5ea753c48253dc",
    "timestamp": "0x579f4981",
    "totalDifficulty": "0x25cff06a0d96f4bee",
    "transactions": [

    ],
    "transactionsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
    "uncles": [

    ]
  }
}

(He formateado los resultados para facilitar la lectura).

He usado "más reciente" para encontrar el bloque más reciente. También puede usar el resultado de su eth_blockNumberllamada.

Fuente: JSON-RPC - eth_getBlockByNumber .