# Migrate existing dApps

Developing a new dApp on Botanix 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!&#x20;

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:&#x20;

* Developers may encounter issues with other infrastructure requirements see [here](https://docs.botanixlabs.xyz/botanix-labs/build-dapps/migrate-existing-dapps#differences-in-block-and-network-properties)
* 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.&#x20;
  * 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.&#x20;

**Differences in block properties**

* Botanix does not use `total_difficulty`, `nonce`, `withdrawals`, `omners`, `mix_hash` or `parent_beacon_block_root` (EIP-4788)
* Botanix stores consensus specific material in the extra data portion
  * Extra data larger than what Ethereum consensus allows

**Differences in Network properties**

* Botanix has 1 block finality
* Botanix has \~ 6 second block times
