php如何使用JSON-RPC查找以太坊中的最新块哈希hash值?-阿里云开发者社区

开发者社区> 开发与运维> 正文

php如何使用JSON-RPC查找以太坊中的最新块哈希hash值?

简介: 我用PHP中开发了一个以太坊块资源管理器,并成功地与我的服务器Geth节点建立了JSON-RPC通信。然而,当我试图找出最后一个区块时,我陷入了困境。

我用PHP中开发了一个以太坊块资源管理器,并成功地与我的服务器Geth节点建立了JSON-RPC通信。然而,当我试图找出最后一个区块时,我陷入了困境。我在https://ethereum.gitbooks.io/frontier-guide/content/rpc.html中读到了很不错的内容,但是我没有任何方法去查询到以太坊节点的哪一个是最后一个块。一旦我得到了块哈希,我就可以有接口检索完整的信息块,但我不知道如何找到最新的块哈希。

API接口中eth_blockNumber应该返回最新的块号,但是如何得到哈希?

问题解答

user@Kumquat:~$ curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["latest", false],"id":1}' localhost:8545
{"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":[]}}

latest也可以用eth_blockNumber,来得到最新块。

你可以参考这个以太坊JSON RPC API

原文《以太坊常见问题和错误》中的:
http://cw.hubwiz.com/card/c/ethereum-FAQ/1/1/19/

另外推荐几个很受欢迎全网稀缺的互动教程:

  • php以太坊,主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和事件等内容。
  • python以太坊,主要是针对python围绕web3.py进行区块链以太坊应用开发的讲解。
  • web3j,主要是针对java和android程序员围绕web3j库进行区块链以太坊开发的讲解。
  • 以太坊开发,主要是介绍使用node.js、mongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。
  • 以太坊教程,主要介绍智能合约与dapp应用开发,适合入门。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章