Cross-chain NFT Minting

Objective

Implement NFT minting on the Ethereum side using proxy accounts to represent Solana users.

Overview

  • EVM Side: Users mint NFTs via a proxy account on Ethereum.

  • Proxy Representation: Solana users authorize proxy accounts to mint NFTs on their behalf.

  • Multi-NFT Support: Multiple NFT collections (e.g., NFT1, NFT2) are supported.

Key Modules

NFT Contract (ERC-721)

  • Standard ERC-721 smart contract.

  • Proxy accounts mint NFTs instead of users.

  • Main functions:

    • mint()

    • ownerOf()

    • transferFrom()

Relay Contract (NFT Proof Submission)

  • Verifies NFT ownership by proxy accounts.

  • Relays proof to Solana using Wormhole messaging.

  • Key functions:

    • sendProof(address nftContract, uint256 tokenId, address solanaReceiver)

    • verifyOwnership(address nftContract, address proxyAccount, uint256 tokenId)

Wormhole Cross-Chain Messaging

  • Relays ownership proof from Ethereum to Solana.

  • Message content:

    • Proxy account address

    • NFT contract address

    • Token ID

    • Solana recipient address

Last updated