Botanix
Visit websiteTry Testnet
  • Welcome!
  • Get to know the Technology
    • Introduction to Botanix Labs
    • Risk warning
    • Terminology
    • Basic knowledge
      • Proof-of-Stake
      • Ethereum Virtual Machine (EVM)
      • UTXO vs Account Based Model
    • Introductory concepts
      • The Botanix EVM
      • The Spiderchain
      • Orchestrator node
      • Deposit & Withdraw
      • Transaction fees
    • Advanced concepts
      • Bitcoin security inheritance
      • Bridging
      • Consensus
      • Finality
        • Finality in a Proof-of-Work (PoW)
        • Finality in a Proof-of-Stake (PoS)
        • Finality on Botanix EVM
      • Forward security
        • Forward security in cryptography
        • The Spiderchain's Forward Security
        • Inventory management
      • FROST
      • Reth
      • Orchestrators
      • Staking
    • Roadmap to Spiderchain
      • Single Node (Testnet)
      • Botanix Federation
        • Consensus - CometBFT
          • Byzantine Fault Tolerance (BFT)
        • Node types
        • Multisig details - FROST
        • Peg-in / Peg-out
      • Botanix Federation with Staking
      • Slashing
      • Spiderchain DynaFed
      • Permissionless staking
      • Fully Decentralized Layer 2
    • Deeper dive: Whitepaper
  • How to use the Botanix EVM
    • Getting started with the Botanix EVM (testnet)
    • Risk warning
    • Step 1 - Set up your wallet
    • Step 2 - Get test funds
    • Step 3 - Send a transaction
    • Step 4 - Use dApps
    • Step 5 - Deploy your first contract / Launch your own token
    • Step 6 - Withdraw
    • FAQ - Testnet V1
  • Build dApps
    • Introduction
    • Risk warning
    • Tools
      • Useful links
      • Development Frameworks
      • Web3 libraries and tools
      • Block explorer
        • Routescan
      • Cross-chain communication
        • Chainlink CCIP
        • LayerZero
      • Indexers
        • The Graph
        • SubQuery
      • Oracle Tools
        • Chainlink Data Feeds
        • Chainlink Data Streams
        • Supra
      • WalletConnect
      • Account Abstraction with BTC Connect
      • Muticall3
    • Build on the Botanix EVM
      • Basic Botanix EVM Information
      • Gas fees
      • Develop a new dApp
      • Migrate existing dApps
      • Quickstart - Build a dApp with Botanix (Solidity, Hardhat)
  • Run a node
    • Introduction
    • Run an RPC Node
  • Glossary
Powered by GitBook
On this page

Was this helpful?

  1. Build dApps
  2. Build on the Botanix EVM

Migrate existing dApps

Here you will find some tips and tricks on how to migrate existing dApps to the Botanix EVM

PreviousDevelop a new dAppNextQuickstart - Build a dApp with Botanix (Solidity, Hardhat)

Last updated 10 months ago

Was this helpful?

Developing a new dApp on the Botanix EVM is going to feel very familiar for those who are used to developing dApps but migrating requires some more work than a simple copy-paste job!

In general, migrating the existing smart contracts is rather easy. One might face more issues when migrating the front end, back end or database. Some things to take into account are:

  • Developers may encounter issues with other infrastructure requirements see

  • Look for open source projects with low dependencies

  • Chain independent

    • = not depending on any specific property of a chain

    • For example: project doesn't depend on PoS on ETH

  • Do not require cloud provisioned nodes

    • Many ETH projects use Infura but that doesn't really exist outside of ETH.

    • This can make it tough to port backends and dApps over.

  • Has a active contributors / issues

Differences in block and network properties

Developers might encounter logic errors stemming from variations in block and network properties.

Differences in block properties

  • The Botanix EVM does not use total_difficulty, nonce, withdrawals, omners, mix_hash or parent_beacon_block_root (EIP-4788)

  • The Botanix EVM stores consensus specific material in the extra data portion

    • Extra data larger than what Ethereum consensus allows

Differences in Network properties

  • The Botanix EVM has 1 block finality

  • The Botanix EVM (v1) has ~ 10 second block times

here