@gotabit/client
TypeScript icon, indicating that this package has built-in type declarations

1.1.28 • Public • Published

Client

Client for Gotabit.

Install

npm install

npm i @gotabit/client

yarn install

yarn add @gotabit/client

Sign with client and broadcast

After creating the transaction message we need to send the payload to wallet so it can be signed. With the signature we can broadcast the transaction.

import { GotabitClient } from '@gotabit/client'
import { KeplrWallet } from '@gotabit/wallet-keplr'

const wallet = await KeplrWallet.init('test')

const gotabit = await GotabitClient.init(wallet, 'test')
const accounts = await gotabit.wallet.getAccounts()

const account = accounts[0].address

const client = await gotabit.signStargateClient()

const toAddress = 'gio1qdgzfy4vta5p43l4urdtmawka3qv2ldh4h0jay'
const msgSendtoken = createMsgSend(account, toAddress, '3', 'ugtb')

const result = await client.signAndBroadcast(account, [msgSendtoken], 'auto')

Init client without wallet. You can only use stargateClient and wasmClient without wallet.

const gotabit = await GotabitClient.init(null, 'test')
const wasmClient = await gotabit.wasmClient()

const response = await wasmClient.queryContractSmart(contractAddress, queryMsg)

Sign Arbitary message

This is an experimental implementation of ADR-36. Use this feature at your own risk.

import { verifyArbitrary } from '@gotabit/wallet-core'
import { KeplrWallet } from '@gotabit/wallet-keplr'
const wallet = await KeplrWallet.init('test')

const data = JSON.stringify({ title: 'Hello Gotabit' })
const signature = await wallet.signArbitrary(account, data)
const ok = verifyArbitrary(account, data, signature)

Query with extensions

Query base extensions

const client = await gotabit.stargateClient()
const queryClient = client.makeQueryClient()

const response = await queryClient.distribution.delegationRewards(
  delegatorAddress,
  validatorAddress,
)

Query with additional extensions. You can pass multiple extensions as params.

import { setupGovExtension } from '@cosmjs/stargate'

const client = await gotabit.stargateClient()
const queryClient = client.makeQueryClient(setupGovExtension)

const response = await queryClient.gov.vote(proposalId, voterAddress)

Credits

Code built with the help of these related projects:

  • cosmos/cosmjs CosmJS is the Swiss Army knife to power JavaScript based client solutions ranging from Web apps/explorers over browser extensions to server-side clients like faucets/scrapers in the Cosmos ecosystem.

Readme

Keywords

none

Package Sidebar

Install

npm i @gotabit/client

Weekly Downloads

1

Version

1.1.28

License

MIT

Unpacked Size

2.74 MB

Total Files

22

Last publish

Collaborators

  • new_sunflower
  • wuchendi
  • roy_gotabit