Infura API 使用哈希查询以太坊区块事务数 - 区块链数据开发实战

极客红石
极客红石2019.05.27 21:14
摘要: 简介:Infura 是以太坊和 IPFS 的 API 服务提供商。Infura 一开始只是为 ConsenSys 内部项目提供稳定可靠的 RPC 访问,后来随着以太坊生态发展,他们意识到自己可以起到更大作用,于是开始面向开发者提供公共 API 服务。本文整理使用 Infura API 通过哈希查询以太坊区块事务数。 Infura 是以太坊和 IPFS 的 API 服务提供商。Infura 一...

简介:Infura 是以太坊和 IPFS 的 API 服务提供商。Infura 一开始只是为 ConsenSys 内部项目提供稳定可靠的 RPC 访问,后来随着以太坊生态发展,他们意识到自己可以起到更大作用,于是开始面向开发者提供公共 API 服务。本文整理使用 Infura API 通过哈希查询以太坊区块事务数。

Infura 是以太坊和 IPFS 的 API 服务提供商。Infura 一开始只是为 ConsenSys 内部项目提供稳定可靠的 RPC 访问,后来随着以太坊生态发展,他们意识到自己可以起到更大作用,于是开始面向开发者提供公共 API 服务。

本文整理使用 Infura API 通过哈希查询以太坊区块事务数。

Infura API 官方文档:https://infura.io/docs

使用 API 需要申请 Project ID,ID 是免费申请的,申请流程为“注册 - 登录 - 创建新项目”,不需要审核,几分钟就能搞定。

Infura API 标准请求端口格式:

https://<network>.infura.io/v3/{Your Project ID}

本例中我们使用基于 HTTP 的以太坊主网 JSON-RPC 端口:

https://mainnet.infura.io/v3/{Your Project ID}

Infura API 使用哈希查询以太坊区块事务数:

请求参数:

BLOCK HASH [必需] - 表示块的散列(32字节)的字符串。

Curl 示例:

## JSON-RPC over HTTPS POST
## Replace YOUR-PROJECT-ID with a Project ID from your Infura Dashboard
## You can also replace mainnet with a different supported network
curl https://mainnet.infura.io/v3/YOUR-PROJECT-ID \
    -X POST \
    -H "Content-Type: application/json" \
    -d '{"jsonrpc":"2.0","method":"eth_getBlockTransactionCountByHash","params": ["0xb3b20624f8f0f86eb50dd04688409e5cea4bd02d700bf6e79e9384d47d6a5a35"],"id":1}'

Node.js 示例:

const fetch = require('node-fetch');

fetch('https://mainnet.infura.io/v3/{Your Project ID}', {
    method: 'post',
    body: JSON.stringify({
        jsonrpc:2.0,
        method:'eth_getBlockTransactionCountByHash',
        params:["0xb3b20624f8f0f86eb50dd04688409e5cea4bd02d700bf6e79e9384d47d6a5a35"],
        id:1
    })
}).then(response => response.json()
    .then(data => console.log(data)));

返回的 JSON 示例:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0x50"
}

Infura API 服务思维导图:

Infura API

我们有一个区块链知识星球,做区块链前沿资料的归纳整理以方便大家检索查询使用,也是国内顶尖区块链技术社区,欢迎感兴趣的朋友加入。如果你对上面内容有疑问,也可以加入知识星球提问我:

区块链社群 知识星球
打开App,阅读全文

精彩推荐

负责声明:转载此文为传递更多市场信息,不代表蜜蜂查的观点和立场,请自行参考。