钱包 API
搭建 Web3 资产看板

搭建 Web3 资产看板#

第一步:创建项目及配置#

在开始搭建前,需要做一些准备工作:

创建项目和 API key#

在开始使用钱包 API 之前,先在开发者管理平台创建项目并生成 API key:

  1. 登录开发者管理平台
  2. 创建新的项目。
  3. 在项目设置中生成 API key。

接下来,需要开发者做一些配置工作。

REST 请求验证配置#

在发送 REST 请求时,需要进行验证。具体请查看 REST 请求验证指南

Node.js 环境设置#

导入必要的 Node.js 库并设置你的环境变量 Node.js 环境设置


第二步:创建账户#

对于资产看板场景,一般使用观察账户,只追踪资产。

现在你可以创建观察账户 (AccountId),来聚合你想观察的地址,进行批量查询代币余额和交易历史。

说明
钱包 API 提供了两种账户:钱包账户、观察账户。

钱包账户:需要鉴权,可以自由添加代币,可以链上交易。
观察账户:无需鉴权,只追踪资产,不能发送交易。

创建观察账户#

调用 POST /api/v5/wallet/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/wallet/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/wallet/wallet/asset/all-token-balances-watch-only 接口查看账户下所持有的币种,点击查观察账户代币余额查看详情。

//定义参数
const getAssetsParams = {
    accountId: '13886e05-1265-4b79-8ac3-b7ab46211001',
};

//定义辅助函数
const getAssetsData = async () => {
    const apiRequestUrl = getRequestUrl(
      apiBaseUrl,
      '/api/v5/wallet/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 参考