介绍
本教程将展示如何使用 Chainbase API 的 getTopTokenHolders
函数来获取以太坊区块链上某个加密货币的头部持有者。了解谁持有最多的代币对于许多方面都是有帮助的,比如与他们合作并跟踪资金流动。
目录
- 概述 - 使用 Chainbase 的工具
- 步骤 1:在 Chainbase 上设置免费账户
- 步骤 2:编写使用 Chainbase API 的脚本
- 步骤 3:打印代币持有者
- 结论
- 常见问题
1. 概述 - 使用 Chainbase 的工具
开始之前,您需要准备以下工具:
- 在 Chainbase 上注册一个免费账户并获取 API 密钥。
- 一个集成开发环境(IDE)。我们推荐使用 Visual Studio Code(VS Code)。
2. 步骤 1:在 Chainbase 上设置免费账户
要使用 Chainbase 的功能,请按照以下步骤进行操作:
- 在 Chainbase 网站上注册一个免费账户。
- 登录 Chainbase 账户并访问控制台以获取概览。
- 在控制台中创建一个新项目以获取 API 密钥。
3. 步骤 2:编写使用 Chainbase API 的脚本
您可以使用 JavaScript 和 Chainbase API 来检索前持有者。下面是使用不同库的两个示例:fetch
和 axios
。
在 JavaScript 中使用 fetch
javascript
javascriptCopy code
network_id = '1'; // 查看 https://docs.chainbase.com/reference/supported-chains 获取不同链的 id。
token_addr = '0x7d1afa7b718fb893db30a3abc0cfc608aacfebb0'; // 以 MATIC 代币地址为例。
fetch(`https://api.chainbase.online/v1/token/top-holders?chain_id=${network_id}&contract_address=${token_addr}&page=1&limit=5`, {
method: 'GET',
headers: {
'x-api-key': CHAINBASE_API_KEY, // 替换为您的 API 密钥。
'accept': 'application/json'
}
}).then(response => response.json())
.then(data => console.log(data.data))
.catch(error => console.error(error));
在 JavaScript 中使用 axios
您需要首先在终端中使用 `npm install axios --save` 安装 axios。
javascript
javascriptCopy code
network_id = '1'; // 查看 https://docs.chainbase.com/reference/supported-chains 获取不同链的 id。
token_addr = '0x7d1afa7b718fb893db30a3abc0cfc608aacfebb0'; // 以 MATIC 代币地址为例。
const axios = require('axios');
const options = {
url: `https://api.chainbase.online/v1/token/top-holders?chain_id=${network_id}&contract_address=${token_addr}&page=1&limit=5`,
method: 'GET',
headers: {
'x-api-key': CHAINBASE_API_KEY, // 替换为您的 API 密钥。
'accept': 'application/json'
}
};
axios(options)
.then(response => console.log(response.data.data))
.catch(error => console.log(error));
4. 步骤 3:显示代币持有者
Chainbase API 的 getTopTokenHolders
函数需要链的 ID 和 ERC20 代币的合约地址作为输入参数。该函数返回有关前持有者的信息。此外,您可以使用 page
和 limit
参数进行分页,并检索特定数量的头部持有者地址。
要显示代币持有者地址,请在终端中执行命令 node <filename>.js
,其中 <filename>
表示您脚本的名称。以下是 API 返回的预期 JSON 数据示例:
css
jsonCopy code
{
"count": 593525,
"holders": [
{
"wallet_address": "0x5e3ef299fddf15eaa0432e6e66473ace8c13d908",
"amount": "3814264335.329752",
"usd_value": "4167560569.389670"
},
{
"wallet_address": "0x401f6c983ea34274ec46f84d70b31c151321188b",
"amount": "910440417.955799",
"usd_value": "994769961.668955"
},
{
"wallet_address": "0xcd6507d87f605f5e95c12f7c4b1fc3279dc944ab",
"amount": "590639315.000000",
"usd_value": "645347281.551875"
},
{
"wallet_address": "0xb316fa9fa91700d7084d377bfdc81eb9f232f5ff",
"amount": "434226114.715070",
"usd_value": "474446308.590553"
},
{
"wallet_address": "0xcbfe11b78c2e6cb25c6eda2c6ff46cd4755c8fca",
"amount": "273304816.000000",
"usd_value": "298619674.582000"
}
]
}
5. 结论
通过按照教程的步骤,您已经学会了如何使用 Chainbase API 的 getTopTokenHolders
函数获取部署在以太坊区块链上的 ERC20 代币头部持有者的详细信息。
6. 常见问题
问题1:我可以在其他区块链网络上使用 Chainbase API 来获取代币持有者吗?
目前,我们仅提供以太坊 ERC-20 代币持有者的信息。其他链的数据将很快提供。
问题2:如何增加检索到的代币持有者数量?
您可以调整 API 请求中的 limit
参数以获取更多的代币持有者。增加该值以检索更大的列表,但请注意过高的值可能会影响性能。
问题3:是否可以根据持有量对代币持有者进行排序?
Chainbase API 已经根据持有量以降序返回代币持有者。
问题4:我可以获取有关代币持有者的其他信息吗?
是的,API 提供了钱包地址、代币数量和当前币价。您可以使用这些数据来分析和与代币持有者进行互动。
问题5:Chainbase API 多久更新一次代币持有者信息?
我们的 API 提供实时的、可排序的代币持有者信息。其他 API(例如浏览器中使用的 API)通常具有大约 20 分钟的缓存。