API Key

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());
}