InterchainJS (Beta ⚡️)
Overview

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