跳转到主要内容
查询链上 bank 模块相关数据的示例代码片段。

使用 gRPC

获取 bank 模块参数

line
import { ChainGrpcBankApi } from "@injectivelabs/sdk-ts/client/chain";
import { getNetworkEndpoints, Network } from "@injectivelabs/networks";

const endpoints = getNetworkEndpoints(Network.Testnet);
const chainGrpcBankApi = new ChainGrpcBankApi(endpoints.grpc);

const moduleParams = await chainGrpcBankApi.fetchModuleParams();

console.log(moduleParams);

获取 injective 地址的余额

import { ChainGrpcBankApi } from "@injectivelabs/sdk-ts/client/chain";
import { getNetworkEndpoints, Network } from "@injectivelabs/networks";

const endpoints = getNetworkEndpoints(Network.Testnet);
const chainGrpcBankApi = new ChainGrpcBankApi(endpoints.grpc);

const injectiveAddress = "inj...";

const balances = await chainGrpcBankApi.fetchBalances(injectiveAddress);

console.log(balances);

按基础 denom 获取 cosmos 地址的余额

import { ChainGrpcBankApi } from "@injectivelabs/sdk-ts/client/chain";
import { getNetworkEndpoints, Network } from "@injectivelabs/networks";

const endpoints = getNetworkEndpoints(Network.Testnet);
const chainGrpcBankApi = new ChainGrpcBankApi(endpoints.grpc);

const cosmosAddress = "cosmos1..."; /* 示例使用 Cosmos Hub */
const denom = "uatom";

const balance = await chainGrpcBankApi.fetchBalance({
  accountAddress: cosmosAddress,
  denom,
});

console.log(balance);

获取链上总供应量

import { PaginationOption } from '@injectivelabs/sdk-ts/types'
import { ChainGrpcBankApi } from '@injectivelabs/sdk-ts/client/chain'
import { getNetworkEndpoints, Network } from '@injectivelabs/networks'

const endpoints = getNetworkEndpoints(Network.Testnet)
const chainGrpcBankApi = new ChainGrpcBankApi(endpoints.grpc)

const pagination = {...} as PaginationOption

const totalSupply = await chainGrpcBankApi.fetchTotalSupply(
  pagination /* 可选分页参数 */
)

console.log(totalSupply)

使用 HTTP REST

获取地址的余额

import { ChainRestBankApi } from "@injectivelabs/sdk-ts/client/chain";
import { getNetworkEndpoints, Network } from "@injectivelabs/networks";

const endpoints = getNetworkEndpoints(Network.Testnet);
const chainRestBankApi = new ChainRestBankApi(endpoints.rest);

const injectiveAddress = "inj...";

const balances = await chainRestBankApi.fetchBalances(injectiveAddress);

console.log(balances);

按基础 denom 获取 cosmos 地址的余额

import { ChainRestBankApi } from "@injectivelabs/sdk-ts/client/chain";
import { getNetworkEndpoints, Network } from "@injectivelabs/networks";

const endpoints = getNetworkEndpoints(Network.Testnet);
const chainRestBankApi = new ChainRestBankApi(endpoints.rest);

const cosmosAddress = "cosmos..."; /* 示例使用 Cosmos Hub */
const denom = "uatom";

const balance = await chainRestBankApi.fetchBalance(cosmosAddress, denom);

console.log(balance);