你将学到什么
完成本教程后,你将能够:
- 创建应用并获取凭据
- 生成用于 API 认证的 Access Token
- 调用 API 获取代币元数据
- 理解 API 响应结构
前置条件
Step 1: 创建应用并获取凭据
- 登录 ChainStream Dashboard
- 进入 Applications
- 点击 Create New App
- 创建完成后,你将获得
Client ID 和 Client Secret
请安全保存你的 Client ID 和 Client Secret,你将用它们来生成 Access Token。
Step 2: 生成 Access Token
使用你的凭据生成 Access Token。Token 用于 API 认证。
curl -X POST "https://dex.asia.auth.chainstream.io/oauth/token" \
-H "Content-Type: application/json" \
-d '{
"client_id": "YOUR_CLIENT_ID",
"client_secret": "YOUR_CLIENT_SECRET",
"audience": "https://api.dex.chainstream.io",
"grant_type": "client_credentials"
}'
const response = await fetch('https://dex.asia.auth.chainstream.io/oauth/token', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
client_id: 'YOUR_CLIENT_ID',
client_secret: 'YOUR_CLIENT_SECRET',
audience: 'https://api.dex.chainstream.io',
grant_type: 'client_credentials'
})
});
const data = await response.json();
const accessToken = data.access_token;
console.log('Access Token:', accessToken);
import requests
response = requests.post(
'https://dex.asia.auth.chainstream.io/oauth/token',
json={
'client_id': 'YOUR_CLIENT_ID',
'client_secret': 'YOUR_CLIENT_SECRET',
'audience': 'https://api.dex.chainstream.io',
'grant_type': 'client_credentials'
}
)
access_token = response.json()['access_token']
print('Access Token:', access_token)
Access Token 有效期为 24 小时。你可以随时使用凭据重新生成新的 Token。
Step 3: 发起第一次请求
我们以”获取代币元数据”为例,查询 Solana 上 SOL 代币的信息。
curl -X GET "https://api.chainstream.io/v1/token/sol/So11111111111111111111111111111111111111112/metadata" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
const response = await fetch(
'https://api.chainstream.io/v1/token/sol/So11111111111111111111111111111111111111112/metadata',
{
headers: {
'Authorization': `Bearer ${accessToken}`
}
}
);
const tokenMetadata = await response.json();
console.log(tokenMetadata);
import requests
response = requests.get(
'https://api.chainstream.io/v1/token/sol/So11111111111111111111111111111111111111112/metadata',
headers={'Authorization': f'Bearer {access_token}'}
)
token_metadata = response.json()
print(token_metadata)
将 YOUR_ACCESS_TOKEN 替换为你在 Step 2 中生成的 Token。
响应示例
{
"chain": "sol",
"decimals": 9,
"name": "Wrapped SOL",
"symbol": "SOL",
"address": "So11111111111111111111111111111111111111112",
"imageUrl": "https://raw.githubusercontent.com/solana-labs/token-list/main/assets/mainnet/So11111111111111111111111111111111111111112/logo.png",
"tokenCreatedAt": 1710417600000
}
Step 4: 理解响应结构
| 字段 | 类型 | 说明 |
|---|
chain | string | 区块链网络标识符 |
decimals | integer | 代币小数位数 |
name | string | 代币名称 |
symbol | string | 代币符号 |
address | string | 代币合约地址 |
imageUrl | string | 代币图片 URL |
tokenCreatedAt | integer | 代币创建时间戳(毫秒) |
Step 5: 尝试更多 API
现在你已经成功完成了第一次调用,可以尝试以下 API:
常见问题
请检查:
- Access Token 是否正确且未过期?
- Header 格式是否为
Authorization: Bearer YOUR_ACCESS_TOKEN?
- 尝试使用 Client ID 和 Client Secret 重新生成 Token
你已达到请求频率限制。免费套餐限制为 10 请求/秒,可升级套餐提升额度。详见 API 安全。
修改 URL 中的链参数即可,例如:GET /v1/token/eth/{address}/metadata 查询以太坊GET /v1/token/bsc/{address}/metadata 查询 BSC支持的链列表见 实时数据流。
下一步
根据你的使用场景,选择后续学习路径: