@imua-xyz/imuajs
v0.0.2
Published
TypeScript SDK for interacting with Imuachain - provides utilities for account management, transaction building, signing, and querying
Maintainers
Readme
@imua-xyz/imuajs
TypeScript SDK for interacting with Imuachain, providing utilities for account management, transaction building, signing, and querying.
Features
- Custom Account Parser: Handles Imuachain's
EthAccounttype (Ethermint-based) - ethsecp256k1 Signer: Creates signers where Cosmos address matches EVM address
- Transaction Building: Simplified transaction construction and signing
- Query Client: Scalable module-based query clients for all Imuachain modules
- Address Conversion: Utilities for converting between EVM hex and Cosmos bech32 addresses
- Type Safety: Full TypeScript support with generated protobuf types
Installation
npm install @imua-xyz/imuajs
# or
yarn add @imua-xyz/imuajs
# or
pnpm add @imua-xyz/imuajsQuick Start
import { ImuachainClient } from "@imua-xyz/imuajs";
import { MessageComposer } from "@imua-xyz/imuajs/imuachain/operator/v1/tx.registry";
// Initialize client
const client = new ImuachainClient({
rpcEndpoint: "http://localhost:26657",
chainId: "imuachainlocalnet_232-1",
});
// Initialize signer
await client.initSigner("0x...");
// Build and send transaction
const message = MessageComposer.encoded.registerOperator({ /* ... */ });
const txHash = await client.sendTx([message], {
gasLimit: "200000",
gasPrice: "10",
});
// Query operator info
const operatorInfo = await client.getOperatorInfo("im1...");
// Or use the scalable query client
const queries = client.queries;
const assetInfo = await queries.assets.queStakingAssetInfo({ assetId: "..." });Documentation
- SDK Client README - Complete API documentation
- Query Scalability - Understanding the query client architecture
- SDK Summary - Overview of the SDK structure
Examples
See the examples/ directory for complete examples:
register-operator-sdk.ts- Register an operator using the SDKquery-examples.ts- Various query examples using the scalable query client
License
SEE LICENSE IN LICENSE
Repository
https://github.com/imua-xyz/imuajs
