Skip to content

EVM Compatibility

Overview

The IOST 3.0 platform adopts a strategic cross-chain deployment approach, coupled with comprehensive Ethereum Virtual Machine (EVM) compatibility design, providing maximum ecosystem coverage and development convenience for RWA smart contracts.

Cross-Chain Deployment Strategy

BSC Primary Deployment

The core RWA smart contracts of IOST 3.0 are primarily deployed on BNB Smart Chain (BSC), a strategic choice based on the following considerations:

  • Rich Liquidity: BSC has an active DeFi ecosystem and ample liquidity pools
  • Large User Base: BSC's extensive user community provides a broader market for RWA assets
  • Mature Protocol Ecosystem: Direct integration with existing lending, trading and other protocols
  • Comprehensive Infrastructure: Oracle services, cross-chain bridges and other supporting services are already well-established

IOST L2 Synchronized Deployment

Core contracts are also deployed on the IOST Layer 2 network to achieve:

  • Ecosystem Consistency: Ensuring that applications within the IOST ecosystem can seamlessly connect to RWA functionality
  • Performance Optimization: Leveraging L2's high throughput and low fee characteristics
  • Customized Functional Extensions: Enhanced functionality tailored to IOST-specific requirements

Full EVM Compatibility

Technical Implementation

The IOST L2 network adopts a fully EVM-compatible design, which mainly includes:

  • Instruction Set Compatibility: Support for all opcodes and execution logic of the Ethereum virtual machine
  • State Management Model: Adoption of account and storage structures consistent with Ethereum
  • Transaction Format Standardization: Support for standard Ethereum transaction formats and signature mechanisms
  • Contract Interface Standardization: Full compatibility with ERC standards (ERC20, ERC721, etc.)

Developer Advantages

This architecture brings significant convenience to developers:

solidity
// Standard EVM contract example, can be directly deployed on IOST L2
contract RWAToken is ERC20 {
    constructor(string memory name, string memory symbol) 
        ERC20(name, symbol) {
        // Initialization logic
    }
    
    // Custom RWA related functionality
    function verifyAsset(bytes32 assetId) external returns (bool) {
        // Asset verification logic
    }
}
  • Can use Solidity language for smart contract development
  • Directly utilize mainstream development frameworks like Truffle, Hardhat
  • Seamlessly integrate standard contract libraries such as OpenZeppelin
  • Apply existing EVM security audit tools and best practices

User Experience

Users also benefit from this compatibility:

  • Can use mainstream wallets like MetaMask to connect directly to IOST L2
  • Enjoy interaction experiences similar to Ethereum, reducing the learning curve
  • Assets can be conveniently migrated between different EVM-compatible chains

Cross-Chain Synergy Advantages

The dual-chain deployment strategy combined with EVM compatibility brings core values:

  1. Enhanced Liquidity: RWA assets can circulate simultaneously in BSC and IOST L2 ecosystems
  2. Improved Development Efficiency: The same codebase can be deployed across multiple chains, simplifying maintenance
  3. Risk Diversification: Reduce single point of failure risk through multi-chain deployment
  4. Ecosystem Synergy Effect: Can simultaneously leverage developer and user resources from both ecosystems

Application Scenarios

Asset Management System

IOST's asset management system contracts are deployed simultaneously on BSC and IOST L2, achieving:

  • Asset minting and liquidity provision primarily on BSC
  • High-frequency trading and fine-grained permission management on IOST L2
  • Synchronization and transfer of assets across both chains through cross-chain bridges

Separated Bond System

Utilizing the dual-chain strategy, the separated bond system can:

  • Separate principal and yield rights operations on BSC
  • Provide low-cost secondary market trading on IOST L2
  • Ensure cross-chain data consistency and state synchronization

Developer Guide

Below is the basic configuration for developing and deploying cross-chain RWA applications in the IOST ecosystem:

javascript
// Project configuration example
// truffle-config.js example
module.exports = {
  networks: {
    bsc: {
      provider: () => new HDWalletProvider(mnemonic, `https://bsc-dataseed.binance.org`),
      network_id: 56,
      confirmations: 10,
      timeoutBlocks: 200,
      skipDryRun: true
    },
    iostl2: {
      provider: () => new HDWalletProvider(mnemonic, `https://l2-mainnet.iost.io`),
      network_id: 182,  // IOST L2 network ID
      confirmations: 2,
      timeoutBlocks: 50,
      skipDryRun: true
    }
  }
}

// Multi-chain deployment script example
// deploy.js
async function deployToMultipleChains() {
  // First deploy to BSC
  const bscContract = await deployer.deploy(RWAToken, "IOST RWA", "IRWA", {from: deployer_address, network: "bsc"});
  console.log(`Contract deployed to BSC: ${bscContract.address}`);
  
  // Then deploy to IOST L2
  const l2Contract = await deployer.deploy(RWAToken, "IOST RWA", "IRWA", {from: deployer_address, network: "iostl2"});
  console.log(`Contract deployed to IOST L2: ${l2Contract.address}`);
  
  // Record contract addresses for subsequent cross-chain operations
  saveContractAddresses({
    bsc: bscContract.address,
    iostl2: l2Contract.address
  });
}

Multi-Chain Development and Deployment Process

IOST 3.0 provides complete development environment support, allowing developers to:

  • Use standard Ethereum development toolchains
  • Code once, deploy to multiple chains
  • Implement asset and data interoperability using cross-chain tools
  • Optimize contract design on L2 for high-performance scenarios

Development Best Practices

  1. Environment Preparation: Ensure configuration of development environments for both BSC and IOST L2
  2. Contract Design: Consider cross-chain interoperability during the design phase
  3. Testing Strategy: Test first on each chain's testnet, then test cross-chain interactions
  4. Deployment Monitoring: Use professional tools to monitor state consistency of contracts across different chains

After deployment, you can use the cross-chain bridge tools provided by IOST to enable cross-chain interoperability for assets and operations. For high-frequency trading scenarios, it is recommended to prioritize the IOST L2 network for better performance and lower costs.

Future Outlook

The EVM compatibility and cross-chain deployment strategy of IOST 3.0 will continue to evolve:

  • Continuously optimize L2 performance, enhancing transaction processing capabilities
  • Explore integration with more EVM-compatible chains
  • Develop more efficient cross-chain interoperability mechanisms
  • Advance the application of RWA assets in broader financial scenarios

Related Resources:

Released under the MIT License.