SDK
Details are provisional and may be updated during development.
Current SDK Approach
Arichain takes a pragmatic approach to developer tooling by leveraging existing, mature SDKs from both Ethereum and Solana ecosystems. This ensures developers can use familiar tools and workflows while benefiting from Arichain's Multi-VM capabilities.
EVM Development For Ethereum Virtual Machine development, use standard Ethereum SDKs and tools:
// Using ethers.js for EVM interactions
import { ethers } from 'ethers';
// Connect to Arichain EVM
const provider = new ethers.providers.JsonRpcProvider('https://evm-rpc.arichain.io');
const wallet = new ethers.Wallet(privateKey, provider);
// Deploy EVM contract
const contractFactory = new ethers.ContractFactory(abi, bytecode, wallet);
const contract = await contractFactory.deploy(...constructorArgs);
// Interact with deployed contract
const result = await contract.someFunction(param1, param2);
Supported EVM Tools:
ethers.js / web3.js: Standard Ethereum JavaScript libraries
Hardhat / Truffle: Development frameworks and testing suites
Remix IDE: Browser-based development environment
MetaMask: Wallet integration for dApps
OpenZeppelin: Security-focused smart contract library
SVM Development For Solana Virtual Machine development, use standard Solana SDKs and frameworks:
// Using @solana/web3.js for SVM interactions
import { Connection, PublicKey, Transaction } from '@solana/web3.js';
import { Program, AnchorProvider } from '@project-serum/anchor';
// Connect to Arichain SVM
const connection = new Connection('https://svm-rpc.arichain.io');
const provider = new AnchorProvider(connection, wallet, {});
// Load Solana program
const program = new Program(idl, programId, provider);
// Execute instruction
const tx = await program.methods
.someInstruction(param1, param2)
.accounts({
account1: publicKey1,
account2: publicKey2,
})
.rpc();
Supported SVM Tools:
@solana/web3.js: Official Solana JavaScript SDK
Anchor Framework: Rust-based development framework
Solana CLI: Command-line tools for deployment and management
Phantom / Solflare: Wallet integration for dApps
Metaplex: NFT and digital asset standards
Future Implementation: Unified Multi-VM SDK
Planned Unified SDK Architecture
We are developing a unified SDK that will provide seamless Multi-VM development experience:
// Future unified SDK (planned implementation)
import { ArichainProvider, MultiVMContract } from '@arichain/sdk';
const provider = new ArichainProvider({
evmRpc: 'https://evm-rpc.arichain.io',
svmRpc: 'https://svm-rpc.arichain.io',
defaultGasToken: 'ARI'
});
// Deploy contracts to multiple VMs simultaneously
const multiContract = await provider.deployMultiVM({
evm: {
contract: evmContractFactory,
args: evmConstructorArgs
},
svm: {
program: svmProgram,
args: svmInitArgs
}
});
Last updated