チェーン上のgovernanceモジュールをクエリするためのコードスニペット例。Documentation Index
Fetch the complete documentation index at: https://injectivelabs-mintlify-jp-native-query-chain.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
gRPCを使用する
voting period、max depositing period、tally詳細などのパラメータを取得する
import { ChainGrpcGovApi } from "@injectivelabs/sdk-ts/client/chain";
import { getNetworkEndpoints, Network } from "@injectivelabs/networks";
const endpoints = getNetworkEndpoints(Network.Testnet);
const chainGrpcGovApi = new ChainGrpcGovApi(endpoints.grpc);
const moduleParams = await chainGrpcGovApi.fetchModuleParams();
console.log(moduleParams);
statusに基づいてproposalsを取得する
import { getNetworkEndpoints, Network } from '@injectivelabs/networks'
import { ProposalStatusMap } from '@injectivelabs/sdk-ts/client/chain'
import { PaginationOption } from '@injectivelabs/sdk-ts/types'
import { ChainGrpcGovApi } from '@injectivelabs/sdk-ts/client/chain'
const endpoints = getNetworkEndpoints(Network.Testnet)
const chainGrpcGovApi = new ChainGrpcGovApi(endpoints.grpc)
const status = 3 as ProposalStatusMap[keyof ProposalStatusMap]
const pagination = {...} as PaginationOption
const proposals = await chainGrpcGovApi.fetchProposals({
status,
pagination /* optional pagination params */
})
console.log(proposals)
proposalのidに基づいてproposalの詳細を取得する
import { ChainGrpcGovApi } from "@injectivelabs/sdk-ts/client/chain";
import { getNetworkEndpoints, Network } from "@injectivelabs/networks";
const endpoints = getNetworkEndpoints(Network.Testnet);
const chainGrpcGovApi = new ChainGrpcGovApi(endpoints.grpc);
const proposalId = 123;
const proposalDetails = await chainGrpcGovApi.fetchProposal(proposalId);
console.log(proposalDetails);
proposalのidに基づいてproposal depositsを取得する
import { PaginationOption } from '@injectivelabs/sdk-ts/types'
import { ChainGrpcGovApi } from '@injectivelabs/sdk-ts/client/chain'
import { getNetworkEndpoints, Network } from '@injectivelabs/networks'
const endpoints = getNetworkEndpoints(Network.Testnet)
const chainGrpcGovApi = new ChainGrpcGovApi(endpoints.grpc)
const proposalId = 123
const pagination = {...} as PaginationOption
const proposalDeposits = await chainGrpcGovApi.fetchProposalDeposits({
proposalId,
pagination /* optiona pagination parameter */
})
console.log(proposalDeposits)
proposalのidに基づいてproposalの詳細を取得する
import { ChainGrpcGovApi } from "@injectivelabs/sdk-ts/client/chain";
import { getNetworkEndpoints, Network } from "@injectivelabs/networks";
const endpoints = getNetworkEndpoints(Network.Testnet);
const chainGrpcGovApi = new ChainGrpcGovApi(endpoints.grpc);
const proposalId = 123;
const proposalDetails = await chainGrpcGovApi.fetchProposal(proposalId);
console.log(proposalDetails);
proposalのidに基づいてproposal depositsを取得する
import { PaginationOption } from '@injectivelabs/sdk-ts/types'
import { ChainGrpcGovApi } from '@injectivelabs/sdk-ts/client/chain'
import { getNetworkEndpoints, Network } from '@injectivelabs/networks'
const endpoints = getNetworkEndpoints(Network.Testnet)
const chainGrpcGovApi = new ChainGrpcGovApi(endpoints.grpc)
const proposalId = 123
const pagination = {...} as PaginationOption
const proposalDeposits = await chainGrpcGovApi.fetchProposalDeposits({
proposalId,
pagination /* optional pagination param */
})
console.log(proposalDeposits)
proposalのidに基づいてproposal votesを取得する
import { PaginationOption } from '@injectivelabs/sdk-ts/types'
import { ChainGrpcGovApi } from '@injectivelabs/sdk-ts/client/chain'
import { getNetworkEndpoints, Network } from '@injectivelabs/networks'
const endpoints = getNetworkEndpoints(Network.Testnet)
const chainGrpcGovApi = new ChainGrpcGovApi(endpoints.grpc)
const proposalId = 123
const proposalVotes = await chainGrpcGovApi.fetchProposalVotes({
proposalId,
pagination: /* optional pagination Options */
})
console.log(proposalVotes)
proposalのidに基づいてproposal tallyを取得する
import { PaginationOption } from '@injectivelabs/sdk-ts/types'
import { ChainGrpcGovApi } from '@injectivelabs/sdk-ts/client/chain'
import { getNetworkEndpoints, Network } from '@injectivelabs/networks'
const endpoints = getNetworkEndpoints(Network.Testnet)
const chainGrpcGovApi = new ChainGrpcGovApi(endpoints.grpc)
const proposalId = 123
const pagination = {...} as PaginationOption
const proposalTally = await chainGrpcGovApi.fetchProposalTally({
proposalId,
pagination /* optional pagination Options */
})
console.log(proposalTally)
