The Disperse app allows you to distribute any ERC20 tokens or ethers to multiple addresses using a single transaction.
-
Clone the repository:
git clone https://github.com/rajkharvar/disperse-clone.git
-
Install the dependencies:
npm start
# or
yarn start
-
Modify the hardhat.config.js file to include the new network. Refer to the documentation at https://hardhat.org/hardhat-runner/docs/config for guidance.
-
Deploy the contract:
npx hardhat scripts/deploy.js --network [NETWORK]
-
Adding support in the frontend:
- Open the
constants.ts
file in thefrontend/utils
directory. - Include the chain information and Disperse contract address by adding the following code snippet in
supportedChains
array:Replace{ chainId: <chain_id>, disperseAddress: <disperse_address>, blockExplorer: <block_explorer_url>, name: <chain_name>, }
<chain_id>
with the ID of the new chain,<disperse_address>
with the address of the deployed Disperse contract,<block_explorer_url>
with the URL of the block explorer for the chain, and<chain_name>
with the name of the chain.
- Open the
-
Verifying the contract with the relevant chain block explorer:
- Follow the instructions provided in the Hardhat documentation at https://hardhat.org/hardhat-runner/docs/guides/verifying to verify the deployed contract on the new network's block explorer.
-
Updating the README:
- Edit the README file of the project.
- Add the chain name and hyperlink for the Disperse contract on the block explorer in Supported Network and addresses in Supported Networks and addresses section
Network | Disperse contract address |
---|---|
Mumbai | 0xaf6f4A737188571d128477DEe81d54Bc63De6d80 |
Goerli | 0xD286f3D834E6030F178C395C9ba33d32B427cAD3 |
Razor Schain | 0x3bAB943FE31B0F90c1E4c2733113E336eBAC4Bc1 |
Polygon | 0x0461950C8664A38b6b1D6599420CA9c50a714B56 |
Skale Staging | 0x553a0a6FCe2943F6901f783f381292C567038ddF |
Europa Testnet | 0x596df15B63d0f9CB9690BbdAecE64db59637Bf22 |
Optimism Sepolia | 0xC181C71991FFfE9952B023835DE79D7EcC67AE9B |