1/5
# Cross-Chain Token Transfers With Chainlink CCIP In this lesson, we are focusing on cross-chain token transfers with Chainlink�s CCIP. We will need to enable our tokens with Chainlink CCIP, as the previous video stated. If we head to the Chainlink documentation, we can read about CCIP and all of their other products. For this project, we will be focusing specifically on CCIP. If we go to Guides, we can find a Cross-Chain Token (CCT) Standard section. Since we know all about the cross-chain token standard, let's begin. We can start building the cross-chain token standard into our project. There is a tutorial for registering a token from an EOA using Foundry. In this tutorial, there is a very useful guide on creating a cross-chain token, and we are going to be making a burn-and-mint cross-chain token. The pool contract, which was explained in the previous video, will be handling the cross-chain transfer and burn tokens on the source chain, then mint them on the destination chain. If bridging from the destination chain back to the source chain, the reverse will happen. So, to start, we need to deploy a token pool for our token. This will be a custom token pool, as we need to send extra information for bridging. There is information about custom pools in the concepts section in the cross-chain token standard page, down under �Custom Token Pools�. We can see some use cases and more information. For example, that custom token pools should inherit from: ```javascript BurnMintTokenPoolAbstract ``` or: ```javascript LockReleaseTokenPool ``` Additionally, the custom token pool must implement the necessary functions for both source and destination blockchains. There are various examples, but specifically we are going to be making a burn and mint token pool contract. The first thing we�ll do is deploy a token pool for our token, but actually, we are going to be creating our own custom token pool, because there is some extra information that we want to pass cross-chain when we bridge. This will be a burn and mint contract where we burn tokens on the source chain, and mint tokens on the destination chain. If we head over to the CCIP repo, we can see that inside of `contracts/src/v0.8/ccip/pools`, there is `TokenPool.sol`, which is where we can inherit this functionality from: ```javascript ccip/contracts/src/v0.8/ccip/pools/TokenPool.sol ``` Then, you will see that inside of the CCIP repo which we are going to import from there is a `TokenPool.sol` contract which we need to inherit. So, now that we�ve covered this background information, we can create a new file which will be called: ```javascript RebaseTokenPool.sol ``` We can put our SPDX-License-Identifier and our pragma statement in that file: ```javascript // SPDX-License-Identifier: MIT pragma solidity ^0.8.24; ``` Then, we need to import our pool contract from chainlink ```javascript import {TokenPool} from "@ccip/contracts/src/v0.8/ccip/pools/TokenPool.sol"; ``` And now that we�ve got all of that done, we will pick up where we left off in the next lesson.
Previous lesson
Previous
Next lesson
Next
Give us feedback
Course Overview
About the course
Advanced smart contract development
How to develop a stablecoin
How to develop a DeFi protocol
How to develop a DAO
Advanced smart contracts testing
Fuzz testing
Manual verification
Web3 Developer Relations
$85,000 - $125,000 (avg. salary)
Web3 developer
$60,000 - $150,000 (avg. salary)
Smart Contract Engineer
$100,000 - $150,000 (avg. salary)
Smart Contract Auditor
$100,000 - $200,000 (avg. salary)
Security researcher
$49,999 - $120,000 (avg. salary)
Guest lecturers:
Juliette Chevalier
Lead Developer relations at Aragon
Nader Dabit
Director of developer relations at Avara
Ally Haire
Developer relations at Protocol Labs
Harrison
Founder at GasliteGG
Last updated on March 11, 2025
Solidity Developer
Advanced FoundryDuration: 36min
Duration: 3h 06min
Duration: 5h 02min
Duration: 6h 02min
Duration: 2h 47min
Duration: 1h 23min
Duration: 4h 28min
Duration: 1h 19min
Duration: 1h 10min
Course Overview
About the course
Advanced smart contract development
How to develop a stablecoin
How to develop a DeFi protocol
How to develop a DAO
Advanced smart contracts testing
Fuzz testing
Manual verification
Web3 Developer Relations
$85,000 - $125,000 (avg. salary)
Web3 developer
$60,000 - $150,000 (avg. salary)
Smart Contract Engineer
$100,000 - $150,000 (avg. salary)
Smart Contract Auditor
$100,000 - $200,000 (avg. salary)
Security researcher
$49,999 - $120,000 (avg. salary)
Guest lecturers:
Juliette Chevalier
Lead Developer relations at Aragon
Nader Dabit
Director of developer relations at Avara
Ally Haire
Developer relations at Protocol Labs
Harrison
Founder at GasliteGG
Last updated on March 11, 2025
Testimonials
Read what our students have to say about this course.
Chainlink
Chainlink
Gustavo Gonzalez
Solutions Engineer at OpenZeppelin
Francesco Andreoli
Lead Devrel at Metamask
Albert Hu
DeForm Founding Engineer
Radek
Senior Developer Advocate at Ceramic
Boidushya
WalletConnect
Idris
Developer Relations Engineer at Axelar