Token Deployer is a Next.js application that allows users to deploy ERC20 tokens on multiple chains using the Interblockchain Communication (IBC) protocol. The application leverages the Universal Channel feature of Polymer's IBC to enable seamless token deployment across different blockchain networks.
To run the Token Deployer application locally, follow these steps:
- Clone the repository:
git clone https://github.com/IbcFan/token-deployer.git
- Navigate to the project directory:
cd token-deployer
- Install dependencies:
npm install
- Set up environment variables:
OPTIMISM_RPC
: Provide the RPC URL for the Optimism Sepolia testnetBASE_RPC
: Provide the RPC URL for the Base Sepolia testnetOP_UC_MW_SIM
: Provide the address of the Optimism Universal Channel middleware (optional)BASE_UC_MW_SIM
: Provide the address of the Base Universal Channel middleware (optional)OP_CHANNEL
: Provide the channel name for the Optimism network (optional)BASE_CHANNEL
: Provide the channel name for the Base network (optional)
- Start the development server:
npm run dev
- Open your browser and navigate to
http://localhost:3000
- PolyERC20
- Next.js
- Tailwind CSS
- Ethers.js
- Wagmi
- Rainbow Kit
- Radix UI
-
Understanding IBC Protocol: Grasping the concepts and implementation details of the Interblockchain Communication (IBC) protocol was a significant challenge. I had to study the protocol documentation and existing implementations to understand how to leverage it for token deployment across multiple chains.
-
Integrating with Universal Channel: Implementing the Universal Channel feature of IBC required a deep understanding of the protocol and its various components. I had to ensure that the token deployment process was seamless and worked correctly across different blockchain networks.
While the Token Deployer application provides a solid foundation for cross-chain token deployment, there are several areas where improvements can be made:
-
Support for Additional Chains: Currently, the application supports the Optimism Sepolia and Base Sepolia testnets. In the future, I plan to add support for more blockchain networks, including mainnet deployments.
-
Enhanced Token Management: Implementing features for managing deployed tokens, such as token transfers, approvals, and other ERC20 functionalities, would enhance the application's utility.
-
Improved Error Handling: While I have implemented basic error handling, more robust and user-friendly error messaging could be added to improve the overall user experience.
Contracts:
- PolyErc20factory on Base
- PolyErc20factory on Optimism
- PolyErc20 token example on Optimism
This project is licensed under the MIT License.