If one wants to migrate from one platform, e.g. Ethereum, to another one, e.g. NEO or EOS, then what steps must be taken.

As per my understanding, the following steps would be needed at high level but I am not sure how the second and third one can be done. May be I missed some other important steps too so feel free to add those.

  1. Migrate/re-code the existing smart contracts as per new platform, e.g. from Solidity in Ethereum to C# in NEO or C++ in EOS.
  2. Migrate the existing blockchain data (accounts, balances and everything else stored on the chain) from previous one to the new one.
  3. Make sure the data on target blockchain platform is correctly associated as it was in source blockchain.

Also, what happens to the data on source blockchain after migration is done and there is no plan to use it in future?

  • This is an interesting question. I was also wondering about this. Particularly about the cost of migrating the data from the existing chain to the new chain. Presumably this could be quite expensive for an elaborate dapp? Commented Apr 20, 2018 at 8:33

1 Answer 1


Migration code is always easy. However it is impossible to migrate token balances without user interaction, unless this was carefully crafted to the token contract when it was originally issued.

You can study how Storj tokens were converted from Counterparty to Ethereum.

  1. The party issuing the tokens creates matching pool of tokens in new network

  2. User registers their old network address (Counterparty) and new network address (Ethereum) at the centralized conversion server

  3. User performs a transaction to send tokens in the migration source network to a burn smart contract or similar address, thus forever locking out tokens in the old network

  4. The centralized conversion server picks up the transaction based on the address data given by the user earlier

  5. The issuing party will issue replacement tokens in the migration target network by sending out tokens to the user from their conversion pool

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.