InterchainJS
A single, universal signing interface for any network. Birthed from the interchain ecosystem for builders.
Overview
InterchainJS is a versatile signing library designed to cater to a variety of blockchain networks through a flexible adapter pattern. This architecture enables seamless integration of new networks, account management modules, authentication protocols, and signing algorithms.
Key Features
- 🔌 Universal Interface - Single interface for multiple networks
- 🛠 Flexible Adapters - Easy integration of new networks
- 🔑 Advanced Auth - Robust authentication and signing support
- 📦 Modular Design - Use only what you need
- 🔒 Type Safe - Built with TypeScript for better developer experience
Core Packages
@interchainjs/auth
- Universal authentication module@interchainjs/core
- Core functionality and types@interchainjs/cosmos
- Cosmos network support@interchainjs/injective
- Injective network support@interchainjs/ethereum
- Ethereum network support
Architecture
Quick Start
# Install core packages
npm install @interchainjs/auth @interchainjs/core
# Install network-specific packages
npm install @interchainjs/cosmos # For Cosmos
npm install @interchainjs/injective # For Injective
npm install @interchainjs/ethereum # For Ethereum
Basic Usage
import { CosmosClient } from '@interchainjs/cosmos'
import { Auth } from '@interchainjs/auth'
// Initialize auth
const auth = new Auth({
// auth configuration
})
// Create client
const client = new CosmosClient({
auth,
// other options
})
// Sign and broadcast transaction
const result = await client.signAndBroadcast(messages, fee)
Network Support
InterchainJS currently supports:
- Cosmos Network (Amino & Direct signing)
- Injective Network (Amino & Direct signing)
- Ethereum Network (EIP712 signing)
- Custom Networks (via adapter pattern)
Related Projects
- Interchain Kit - Wallet adapter for the Interchain
- Create Interchain App - Create Interchain apps with one command