- Infura API 通过块哈希和事务索引位置获取以太坊事务信息
- Infura API 通过块号和事务索引位置获取以太坊事务信息
- Infura API 获取以太坊当前配置链 ID - 区块链数据
- Infura API 获取以太坊最新块高 - 区块链数据开发实战
- Infura API 执行以太坊合约 call 调用 - 区块链
- Infura API 使用块号查询以太坊区块信息 - 区块链数据
- Infura API 使用哈希查询以太坊区块信息 - 区块链数据
- Infura API 查询以太坊账户余额 - 区块链数据开发实战
- Infura API 获取当前 gas 价格 - 区块链数据开发
- Infura API 获取交易所需 gas 估算 - 区块链数据
简介: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字节)的字符串;
TRANSACTION INDEX POSITION
[必需] - 表示块中位置的整数的十六进制。
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_getTransactionByBlockHashAndIndex","params": ["0xb3b20624f8f0f86eb50dd04688409e5cea4bd02d700bf6e79e9384d47d6a5a35","0x0"],"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_getTransactionByBlockHashAndIndex',
params:["0xb3b20624f8f0f86eb50dd04688409e5cea4bd02d700bf6e79e9384d47d6a5a35","0x0"],
id:1
})
}).then(response => response.json()
.then(data => console.log(data)));
返回的 JSON 示例:
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"blockHash": "0xb3b20624f8f0f86eb50dd04688409e5cea4bd02d700bf6e79e9384d47d6a5a35",
"blockNumber": "0x5bad55",
"from": "0xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb98",
"gas": "0x249f0",
"gasPrice": "0x174876e800",
"hash": "0x8784d99762bccd03b2086eabccee0d77f14d05463281e121a62abfebcf0d2d5f",
"input": "0x6ea056a9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000bd8d7fa6f8cc00",
"nonce": "0x5e4724",
"r": "0xd1556332df97e3bd911068651cfad6f975a30381f4ff3a55df7ab3512c78b9ec",
"s": "0x66b51cbb10cd1b2a09aaff137d9f6d4255bf73cb7702b666ebd5af502ffa4410",
"to": "0x4b9c25ca0224aef6a7522cabdbc3b2e125b7ca50",
"transactionIndex": "0x0",
"v": "0x25",
"value": "0x0"
}
}
Infura API 服务思维导图:

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

网友评论