在开始搭建前,需要做一些准备工作:
在开始使用钱包 API 之前,先在开发者管理平台创建项目并生成 API key:
接下来,需要开发者做一些配置工作。
在发送 REST 请求时,需要进行验证。具体请查看 REST 请求验证指南。
导入必要的 Node.js 库并设置你的环境变量 Node.js 环境设置。
对于资产看板场景,一般使用观察账户,只追踪资产。
现在你可以创建观察账户 (AccountId),来聚合你想观察的地址,进行批量查询代币余额和交易历史。
调用 POST /api/v5/waas/account/create-watch-only-account
接口来创建观察账户。
例如,同时订阅不同链上的同一地址,实现如下:
//定义你的参数
const addresses = [
{
"chainIndex":"1",
"address":"0x561815e02bac6128bbbbc551005ddfd92a5c24db",
},
{
"chainIndex":"10",
"address":"0x561815e02bac6128bbbbc551005ddfd92a5c24db",
}
];
const getCreateWatchOnlyAccountBody = {
addresses: addresses
};
//定义辅助函数
const getCreateAccountData = async () => {
const apiRequestUrl = getRequestUrl(
apiBaseUrl,
'/api/v5/waas/account/create-watch-only-account'
);
return fetch(apiRequestUrl, {
method: 'post',
headers: headersParams,
body: JSON.stringify(getCreateWatchOnlyAccountBody),
})
.then((res) => res.json())
.then((res) => {
return res;
});
};
const { data: createWatchOnlyAccountData } = await getCreateWatchOnlyAccountData();
观察账户可直接调用 POST /api/v5/waas/wallet/asset/all-token-balances-watch-only
接口查看账户下所持有的币种,点击查观察账户代币余额查看详情。
//定义参数
const getAssetsParams = {
accountId: '13886e05-1265-4b79-8ac3-b7ab46211001',
};
//定义辅助函数
const getAssetsData = async () => {
const apiRequestUrl = getRequestUrl(
apiBaseUrl,
'/api/v5/waas/asset/all-token-balances-watch-only',
getAssetsParams
);
return fetch(apiRequestUrl, {
method: 'GET',
headers: headersParams,
})
.then((res) => res.json())
.then((res) => {
return res;
});
};
const { data: getAssetsData } = await getAssetsData();
当查询到资产时,你将收到如下的响应:
{
"code": "0",
"data": [
{
"chainIndex": "1",
"tokenAddress": "0xdac17f958d2ee523a2206206994597c13d831ec7",
"symbol": "USDT",
"balance": "0.688467",
"tokenPrice": "0.99993",
"tokenType": "1"
},
{
"chainIndex": "1",
"tokenAddress": "0x514910771af9ca656af840dff83e8264ecf986ca",
"symbol": "LINK",
"balance": "0.000000366257612925",
"tokenPrice": "14.108071299717093",
"tokenType": "1"
}
],
"msg": "success"
}
到这里,你基本上已经实现了开发一款 Web3 资产看板所需的部分基础功能。
此外,钱包 API 提供了丰富接口,全方位满足交易所钱包开发者的需求,具体请查看 API 参考 。