Finden Sie den neuesten Block-Hash in Ethereum mit JSON-RPC heraus

Ich entwickle einen Ethereum-Block-Explorer in PHP und habe erfolgreich eine JSON-RPC-Kommunikation mit meinem Server-Geth-Knoten hergestellt. Trotzdem stecke ich irgendwie fest, wenn ich versuche, den letzten Block in Ethereum herauszufinden. Ich habe die großartigen Informationen unter https://ethereum.gitbooks.io/frontier-guide/content/rpc.html gelesen , aber ich finde dort keine Möglichkeit, den Ethereum-Knoten zu fragen, welcher der letzte Block ist. Sobald ich den Block-Hash hatte, sehe ich, dass es Endpunkte gibt, um vollständige Informationen über den Block abzurufen, aber ich weiß nicht, wie ich den neuesten Block-Hash finden soll.

Der API-Endpunkt eth_blockNumber soll die neueste Blocknummer zurückgeben, aber wie bekomme ich den Hash?

Irgendeine Hilfe? Vielen Dank im Voraus!

Antworten (1)

Anfrage:

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

Antwort:

{
  "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": [

    ]
  }
}

(Ich habe die Ergebnisse zum leichteren Lesen formatiert).

Ich habe "latest" verwendet, um den neuesten Block zu finden. Sie können auch das Ergebnis Ihres eth_blockNumberAnrufs verwenden.

Quelle: JSON-RPC - eth_getBlockByNumber .