Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ERC404 based cross-chain NFT DEX game #7

Open
dpbpolymer opened this issue Feb 20, 2024 · 1 comment
Open

ERC404 based cross-chain NFT DEX game #7

dpbpolymer opened this issue Feb 20, 2024 · 1 comment

Comments

@dpbpolymer
Copy link
Contributor

dpbpolymer commented Feb 20, 2024

Experimental idea: Implement ERC404 and build a cross-chain NFT minting game:

  1. 10,000 ERC-20 tokens & same number of associated “Replicant” NFTs.
  2. If someone buys one full token on a DEX on Optimism testnet, one replicant NFT will be minted on Base.
  3. If the token is sold, the connected NFT must be burned.

Gamification: Users initiate a sell from Base with a defined slippage (lower slippage means more points) and users on the Optimism DEX earn points for throwing off price to fail trades due to slippage (higher slippage failed tx means more points).

Note: Having fun with Acknowledgements by building complex onRecvPacket and onAcknowledgment behaviors.

  • In IBC when a packet is sent, it goes through three distinct phases of the packet lifecycle: (1) the initiating sendPacket transaction from the source chain, (2) the corresponding recvPacket transaction on the destination chain that executes a specific action (referred to as the 'onRecvPacket' callback action), and (3) finally a acknowledgment or timeout transaction. The acknowledgment serves as a notification to the originating chain about the receipt of the packet on the destination.

    NOTE: timeouts are currently not supported on testnet

  • If the action involves the minting of a specific token on the destination chain, there are ways to improve UX: the user tokens on source are unlocked or not burned in case of a failed onRecvPacket callback action of minting new tokens.

@dpbpolymer dpbpolymer changed the title Experimental ideas ERC404 based cross-chain NFT DEX game Feb 21, 2024
@dpbpolymer dpbpolymer mentioned this issue Feb 21, 2024
@Atunde-SS
Copy link

Potential Challenges:

  1. Volatile Pricing: The gamification aspect that rewards users for throwing off prices on the DEX could lead to extreme volatility and manipulation, making it difficult to maintain a stable market for the ERC-20 tokens and associated NFTs.

  2. Liquidity Challenges: If users are incentivized to fail trades due to slippage, it might discourage genuine buyers and sellers, leading to liquidity issues on the DEX.

  3. Complexity of IBC Interactions: Managing the intricate details of IBC packet lifecycle, including handling acknowledgments and potential timeouts, can be complex, especially when dealing with cross-chain NFT minting and burning mechanisms.

  4. User Experience Challenges: The combination of multiple blockchain networks, DEXs, NFTs, and gamification elements could create a steep learning curve for users, potentially deterring widespread adoption.

Potential Solutions:

  1. Controlled Volatility: Instead of rewarding users for throwing off prices, consider implementing a controlled volatility mechanism. For example, you could introduce a dynamic slippage tolerance that adjusts based on market conditions, ensuring a balance between price stability and trade execution.

  2. Liquidity Incentives: Offer incentives for genuine buyers and sellers to participate in the market, such as trading fee discounts or airdrops, to maintain healthy liquidity levels.

  3. Simplified IBC Interactions: Abstract away the complexities of IBC packet lifecycle by implementing robust error handling and fallback mechanisms. For example, if an NFT minting fails on the destination chain, automatically refund the tokens on the source chain to ensure a seamless user experience.

  4. Gamified Education: Introduce gamified educational elements to onboard users gradually, helping them understand the underlying concepts and mechanics of the system in an engaging and interactive manner.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants