@interchaininfo/sdk
v0.4.2InterchainInfo SDK
By SparkIBC
Installation
npm install @interchaininfo/sdk
yarn add @interchaininfo/sdk
Usage
Contexts
To access chain-related data in your React components, use useChain()
.
import { useChain } from '@interchaininfo/sdk'
const { client } = useChain()
const { cosmWasmClient, junoClient, osmosisClient } = client
// Query a smart contract
cosmWasmClient.queryContractSmart()
// Query a user's balance
junoClient.cosmos.bank.v1beta1.balance()
// Query a tokenfactory denom's authority metadata
osmosisClient.tokenfactory.v1beta1.denomAuthorityMetadata()
To access user wallet data or trigger a wallet connect/disconnect, use useWallet()
.
import { useWallet } from '@interchaininfo/sdk'
const { wallet, connect, disconnect } = useWallet()
// Connect wallet (type is 'keplr'/'leap'/'cosmostation')
connect('keplr')
To broadcast a Cosmos transaction, use useTx()
.
import { useTx } from '@interchaininfo/sdk'
const { tx } = useTx()
const msgs = ... // Your Cosmos messages
tx([msgs], {}, () => {
console.log('Transaction success!')
})
Creating a widget
import { Widget, useWallet } from '@interchaininfo/sdk'
import { SemVer } from 'semver'
// Create a React component for your widget
const BalanceWidgetComponent = () => {
const { wallet } = useWallet()
return (
<div>
<p>Your balance is {wallet.balance} ujuno</p>
</div>
)
}
// Export the widget from your module
export default new Widget(BalanceWidgetComponent, {
name: 'Balance Widget',
author: 'Josef Leventon <[email protected]>',
version: new SemVer('1.0.0'),
})
npm i @interchaininfo/sdk
Source Code
github.com/interchaininfo/sd...Metadata
- Unknown
- Whatever
- Josef Leventon
- released 12/20/2023