The safest way to transfer all your ERC20 tokens at once!
Migratooor is an easy and secure way to move all your Ethereum and ERC20 tokens from one wallet to another, with a single signature if using gnosis. This process does not involve any smart contracts!
- Secure: You don't need to trust any third-party smart contract! For maximum security, you can run the source code yourself and avoid any phishing risks!
- Easy to Use: Our user-friendly interface allows you to quickly select all the tokens you want to migrate!
Migratooor employs the ethers library to transfer ERC20 tokens from one wallet to another. This generates all the transactions needed to securely move your tokens to the wallet of your choosing!
Using Migratooor is simple. Here's a quick step-by-step guide to transferring tokens with Migratooor:
- Connect your wallet to get started
- Select the tokens you want to transfer
- Input the amount of tokens you want to transfer
- Enter the address of the wallet you want to transfer the tokens to
- Confirm the transactions and wait for them to be processed by the Ethereum network
- Transfer complete! All tokens have been sent to the recipient's wallet
In order to run migratooor, you need to set up the environment variables for the JSON-RPC URLs of the Ethereum networks you want to support. You also need to set up the receiver address and disperse address. These settings can be found in the next.config.js
file:
env: {
JSON_RPC_URL: {
1: process.env.RPC_URL_MAINNET,
10: process.env.RPC_URL_OPTIMISM,
250: process.env.RPC_URL_FANTOM,
42161: process.env.RPC_URL_ARBITRUM
},
RECEIVER_ADDRESS: '0x10001192576E8079f12d6695b0948C2F41320040',
DISPERSE_ADDRESS: '0xD152f549545093347A162Dce210e7293f1452150'
}
You can set these environment variables in a .env
file in the project root directory. Make sure to replace the values with the appropriate URLs and addresses for your project.
Here's an example of a .env
file:
RPC_URL_MAINNET=https://mainnet.infura.io/v3/YOUR_API_KEY
RPC_URL_OPTIMISM=https://optimism.infura.io/v3/YOUR_API_KEY
RPC_URL_FANTOM=https://fantom.infura.io/v3/YOUR_API_KEY
RPC_URL_ARBITRUM=https://arbitrum.infura.io/v3/YOUR_API_KEY
RECEIVER_ADDRESS=0x10001192576E8079f12d6695b0948C2F41320040
DISPERSE_ADDRESS=0xD152f549545093347A162Dce210e7293f1452150
Replace YOUR_API_KEY
with your own Infura API key or any other Ethereum JSON-RPC provider. Make sure to use the correct receiver and disperse addresses for your project.
Once you've set up the environment variables, you're ready to run the project using the commands outlined in the previous sections.
Before you proceed, make sure you have the following installed on your machine:
First, navigate to migratooor root directory in your terminal and run the following command to install all the required dependencies:
npm install
To run migratooor in development mode, use the following command:
npm run dev
If you want to run the TypeScript compiler in watch mode alongside the development server, use:
npm run dev:ts
To build migratooor, run the following command:
npm run build
This command will first compile the TypeScript files and then build the project using the next
command.
To start the production server, first build migratooor (if you haven't already), and then run the following command:
npm run start
To export migratooor for deployment to IPFS, run the following command:
npm run export
This command will first compile the TypeScript files, then build migratooor using the next
command, and finally export the build to the ipfs
folder.
To run the ESLint linter, use the following command:
npm run lint
This command will check all .js
, .jsx
, .ts
, and .tsx
files in the project for linting issues.