First of all, I would like to say thank you to Solange Gueiros fellow Chainlink Developer Expert for a wonderful session (which I've used as a guide to wrote this article hehe)

Outline

  • Basic CCIP
  • Smart Contracts structure
  • Pre-requisite
  • Hands-on
  • Summary


Basic CCIP

Smart Contracts structure

We will create 3 smart contracts on 2 chains in this session and it would look somewhat similar to this.

Mumbai
1. ChainlinkNFT.sol
2. DestinationMinter.sol

Avalanche Fuji
1. SourceMinter.sol

Prerequisite

Hands-On

Refer to all the code from this gist 👇

Sepolia

  1. ChainlinkNFT
    We're using https://wizard.openzeppelin.com/#erc721
    Try visit testnet.opensea.com after deployed
  2. DestinationMinter.sol

Avalanche Fuji

3. SourceMinter.sol

Summary

  1. We deployed ChainlinkNFT on Mumbai
  2. Then we deployed DestinationMinter on Mumbai
  3. Change the chain to Avalanche Fuji, Then deploy SourceMinter
  4. Supply LINK to SourceMinter contract
  5. We can call mintOnMumbai() on SourceMinter to mint a new NFT on Mumbai!