Skip to main content

Native Cross-Chain NFT

Prerequisites#

Before you begin, make sure you have:

Step 1: Clone & Setup#

git clone https://github.com/VIALabs-io/quickstart-nft.git && cd quickstart-nftnpm installcp .env.example .env

Edit the .env file and add:

  • Your private key for deploying contracts (PRIVATE_KEY=)

Step 2: Deploy Your NFT#

node scripts/deploy.js

Step 3: Bridge NFTs Between Networks#

node scripts/bridge.js avalanche-testnetnode scripts/bridge.js avalanche-testnet base-testnet 431130000

๐ŸŽ‰ Congratulations! You've successfully created and used a cross-chain NFT.

Adding More Networks

Step 1: Edit Network Configuration#

Edit the network.config.js file and add new network configurations:

// Add a new networkconst networks = {  'avalanche-testnet': {    name: 'avalanche-testnet',    chainId: 43113,    rpcUrl: process.env.AVALANCHE_TESTNET_RPC || 'https://api.avax-test.network/ext/bc/C/rpc',    blockExplorer: 'https://testnet.snowtrace.io',    nativeCurrency: {      name: 'AVAX',      symbol: 'AVAX',      decimals: 18    }  },  'base-testnet': {    name: 'base-testnet',    chainId: 84532,    rpcUrl: process.env.BASE_TESTNET_RPC || 'https://sepolia.base.org',    blockExplorer: 'https://sepolia-explorer.base.org',    nativeCurrency: {      name: 'ETH',      symbol: 'ETH',      decimals: 18    }  },  // Add your new network here  // Example for adding Polygon Mumbai:  'polygon-testnet': {    name: 'polygon-testnet',    chainId: 80001,    rpcUrl: process.env.POLYGON_TESTNET_RPC || 'https://rpc-mumbai.maticvigil.com',    blockExplorer: 'https://mumbai.polygonscan.com',    nativeCurrency: {      name: 'MATIC',      symbol: 'MATIC',      decimals: 18    }  }};

Step 2: Deploy#

node scripts/deploy.js

Next Steps

Need Help? Join our Discord community for support and discussions.