API Key
什么是 API Key
TronGrid 提供 TRON 网络的核心全节点 HTTP API 和扩展 API。所有 API 请求都需要提供 API Key 参数,以确保请求资源的合理分配。未提供 API Key 的请求将受到严格的速率限制,甚至不会得到响应。
注意目前,通过 TronGrid 向 Shasta 或 Nile 测试网发送请求时,无需配置 API Key。
如何获取 API Key
用户登录 TronGrid 后,即可在仪表板 (Dashboard) 或 API Key 列表页面快速创建 API Key。每个 API Key 都有独立的配置页面,方便用户根据实际业务需求进行精细化配置。
如何使用 API Key
要使用 API Key,请在 HTTP 请求头 (Headers) 中添加 TRON-PRO-API-KEY 字段,并将其值设定为您的 API Key。
HTTP 示例
curl -X POST \
https://api.trongrid.io/wallet/createtransaction \
-H 'Content-Type: application/json' \
-H 'TRON-PRO-API-KEY: <your-trongrid-api-key>' \
-d '{
"to_address": "41e9d79cc47518930bc322d9bf7cddd260a0260a8d",
"owner_address": "41D1E7A6BC354106CB410E65FF8B181C600FF14292",
"amount": 1000
}'import requests
url = "https://api.trongrid.io/wallet/createtransaction"
payload = "{\n \"to_address\": \"41e9d79cc47518930bc322d9bf7cddd260a0260a8d\",\n \"owner_address\": \"41D1E7A6BC354106CB410E65FF8B181C600FF14292\",\n \"amount\": 1000\n}"
headers = {
'Content-Type': "application/json",
'TRON-PRO-API-KEY': "<your-trongrid-api-key>"
}
response = requests.request("POST", url, data=payload, headers=headers)
print(response.text)var request = require("request");
var options = { method: 'POST',
url: 'https://api.trongrid.io/wallet/createtransaction',
headers: {
'TRON-PRO-API-KEY': '<your-trongrid-api-key>',
'Content-Type': 'application/json'
},
body: {
to_address: '41e9d79cc47518930bc322d9bf7cddd260a0260a8d',
owner_address: '41D1E7A6BC354106CB410E65FF8B181C600FF14292',
amount: 1000
},
json: true
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});gRPC 示例
import io.grpc.Metadata;
import io.grpc.stub.MetadataUtils;
// 创建自定义 Header
Metadata header=new Metadata();
Metadata.Key<String> key =
Metadata.Key.of("TRON-PRO-API-KEY", Metadata.ASCII_STRING_MARSHALLER);
header.put(key, "<your-trongrid-api-key>");
// 创建 client stub
ServiceGrpc.ServiceBlockingStub stub = ServiceGrpc.newBlockingStub(channel);
// 将 Header 附加到 stub
stub = MetadataUtils.attachHeaders(stub, header);
public Block getNowBlock() {
return stub.getNowBlock(EmptyMessage.newBuilder().build());
}