Official TypeScript SDK for interacting with Selendra Network, supporting both EVM and WebAssembly (Substrate) interactions.
- 🚀 Dual VM Support: Interact with both EVM and WebAssembly smart contracts
- 📦 TypeScript First: Full TypeScript support with comprehensive type definitions
- 🔗 Multi-Chain: Support for mainnet, testnet, and custom networks
- 💰 Wallet Integration: Easy connection with MetaMask, WalletConnect, and Polkadot.js
- 🔧 Developer Friendly: Comprehensive utilities and helper functions
- 📊 Real-time Data: WebSocket support for live blockchain events
- 🧪 Testing Support: Built-in utilities for testing and development
npm install @selendrajs/sdk
import { SelendraSDK } from '@selendrajs/sdk';
// Initialize SDK
const sdk = new SelendraSDK({
network: 'mainnet', // or 'testnet'
provider: window.ethereum // or custom provider
});
// Connect wallet
await sdk.evm.connect();
// Get account balance
const balance = await sdk.evm.getBalance('0x...');
// Send transaction
const tx = await sdk.evm.sendTransaction({
to: '0x...',
value: '1000000000000000000' // 1 SEL
});
// Initialize Substrate connection
await sdk.substrate.connect();
// Get account info
const account = await sdk.substrate.getAccount('5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY');
// Submit extrinsic
const hash = await sdk.substrate.submitExtrinsic(
api.tx.balances.transfer('5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY', 1000000000000)
);
// EVM Contract
const contract = sdk.evm.contract({
address: '0x...',
abi: contractABI
});
const result = await contract.read('balanceOf', ['0x...']);
await contract.write('transfer', ['0x...', '1000000000000000000']);
// WASM Contract
const wasmContract = sdk.substrate.contract({
address: '5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY',
metadata: contractMetadata
});
const wasmResult = await wasmContract.query('get_balance');
- RPC: https://rpc.selendra.org
- Chain ID: 1961
- WebSocket: wss://rpc.selendra.org
- RPC: https://rpc-testnet.selendra.org
- Chain ID: 1953
- WebSocket: wss://rpc-testnet.selendra.org
# Install dependencies
npm install
# Build
npm run build
# Test
npm run test
# Lint
npm run lint
# Generate docs
npm run docs
Check out the examples directory for complete working examples:
We welcome contributions! Please see our Contributing Guide for details.
MIT License - see LICENSE for details.