Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion app/(home)/hackathon/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,8 @@ export default function HackathonPage() {
],
resources: [
{ name: 'InterChain Messaging', url: 'https://academy.avax.network/course/interchain-messaging' },
{ name: 'InterChain Token Transfer', url: 'https://academy.avax.network/course/interchain-token-transfer' },
{ name: 'ERC20 Bridge', url: 'https://academy.avax.network/course/erc20-bridge' },
{ name: 'Native Token Bridge', url: 'https://academy.avax.network/course/native-token-bridge' },
{ name: 'Cross-Chain Communication', url: 'https://build.avax.network/docs/build/avalanchego/cross-chain' }
]
},
Expand Down
3 changes: 2 additions & 1 deletion app/(home)/hackathon_bba/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,8 @@ export default function HackathonPage() {
],
resources: [
{ name: 'InterChain Messaging', url: 'https://academy.avax.network/course/interchain-messaging' },
{ name: 'InterChain Token Transfer', url: 'https://academy.avax.network/course/interchain-token-transfer' },
{ name: 'ERC20 Bridge', url: 'https://academy.avax.network/course/erc20-bridge' },
{ name: 'Native Token Bridge', url: 'https://academy.avax.network/course/native-token-bridge' },
{ name: 'Cross-Chain Communication', url: 'https://build.avax.network/docs/build/avalanchego/cross-chain' }
]
},
Expand Down
32 changes: 16 additions & 16 deletions components/academy/learning-path-configs/avalanche.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ export const avalancheLearningPaths: CourseNode[] = [
slug: "avalanche-l1/customizing-evm",
category: "VM Customization",
dependencies: ["avalanche-fundamentals"],
position: { x: 87.5, y: 250 },
position: { x: 87.5, y: 200 },
mobileOrder: 2
},

Expand All @@ -32,7 +32,7 @@ export const avalancheLearningPaths: CourseNode[] = [
slug: "avalanche-l1/interchain-messaging",
category: "Interoperability",
dependencies: ["avalanche-fundamentals"],
position: { x: 62.5, y: 250 },
position: { x: 62.5, y: 200 },
mobileOrder: 3
},
{
Expand All @@ -42,7 +42,7 @@ export const avalancheLearningPaths: CourseNode[] = [
slug: "avalanche-l1/permissioned-l1s",
category: "L1 Development",
dependencies: ["avalanche-fundamentals"],
position: { x: 12.5, y: 250 },
position: { x: 12.5, y: 200 },
mobileOrder: 6
},
{
Expand All @@ -52,28 +52,28 @@ export const avalancheLearningPaths: CourseNode[] = [
slug: "avalanche-l1/l1-native-tokenomics",
category: "L1 Tokenomics",
dependencies: ["avalanche-fundamentals"],
position: { x: 37.5, y: 250 },
position: { x: 37.5, y: 200 },
mobileOrder: 7
},
// Third Layer - Advanced topics
{
id: "interchain-token-transfer",
name: "Interchain Token Transfer",
description: "Transfer assets between chains using Interchain Messaging",
slug: "avalanche-l1/interchain-token-transfer",
id: "erc20-bridge",
name: "ERC20 Bridge",
description: "Bridge ERC20 tokens between chains using Interchain Token Transfer",
slug: "avalanche-l1/erc20-bridge",
category: "Interoperability",
dependencies: ["interchain-messaging"],
position: { x: 82.5, y: 500 },
position: { x: 62.5, y: 375 },
mobileOrder: 4
},
{
id: "erc20-to-erc20-bridge",
name: "ERC20 to ERC20 Bridge",
description: "Bridge ERC20 tokens between chains using Interchain Token Transfer",
slug: "avalanche-l1/erc20-bridge",
id: "native-token-bridge",
name: "Native Token Bridge",
description: "Bridge native tokens between chains using Interchain Token Transfer",
slug: "avalanche-l1/native-token-bridge",
category: "Interoperability",
dependencies: ["interchain-messaging", "l1-native-tokenomics"],
position: { x: 52.5, y: 500 },
dependencies: ["erc20-bridge", "l1-native-tokenomics"],
position: { x: 50, y: 525 },
mobileOrder: 5
},
{
Expand All @@ -83,7 +83,7 @@ export const avalancheLearningPaths: CourseNode[] = [
slug: "avalanche-l1/permissionless-l1s",
category: "L1 Development",
dependencies: ["permissioned-l1s", "l1-native-tokenomics"],
position: { x: 22.5, y: 500 },
position: { x: 25, y: 375 },
mobileOrder: 8
},
];
Expand Down
6 changes: 3 additions & 3 deletions components/navigation/navigation.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -141,10 +141,10 @@ export function AcademyDropdown() {
url: "https://academy.avax.network/course/interchain-messaging",
},
{
title: "Interchain Token Transfer",
description: "Transfer assets between Avalanche blockchains.",
title: "ERC20 Bridge",
description: "Bridge ERC-20 tokens between Avalanche L1s.",
icon: <ArrowLeftRight className="w-5 h-5" />,
url: "https://academy.avax.network/course/interchain-token-transfer",
url: "https://academy.avax.network/course/erc20-bridge",
},
{
title: "Customizing the EVM",
Expand Down
4 changes: 2 additions & 2 deletions components/quizzes/quizData.json
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,8 @@
"215"
]
},
"interchain-token-transfer": {
"title": "Interchain Token Transfer",
"native-token-bridge": {
"title": "Native Token Bridge",
"quizzes": [
"118",
"119",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import { Step, Steps } from 'fumadocs-ui/components/steps';

### Deploy an ERC-20 Token

We've already deployed an ERC-20 token in the [Transfer an ERC-20 Token](/academy/interchain-token-transfer/03-tokens/08-transfer-an-erc-20-token) section. If you've completed that step, you can use the same token for this bridge.
We've already deployed an ERC-20 token in the [Transfer an ERC-20 Token](/academy/avalanche-l1/l1-native-tokenomics/01-tokens-fundamentals/05-transfer-an-erc-20-token) section. If you've completed that step, you can use the same token for this bridge.

If you haven't deployed a token yet, make sure you're connected to the Fuji testnet since we're covering this guide from Fuji to Echo. You can deploy the original ERC-20 token below:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Since we're covering an ERC20 > ERC20 bridge, make sure to set the Transferrer t

<Callout>
Make sure you have:
1. Deployed your ERC-20 token (from [Deploy ERC-20 Token](/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/02-deploy-erc-20-token))
1. Deployed your ERC-20 token (from [Deploy ERC-20 Token](/academy/avalanche-l1/erc20-bridge/03-erc-20-to-erc-20-bridge/02-deploy-erc-20-token))
2. Have enough test AVAX for gas fees
</Callout>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ Now we'll deploy the ERC20TokenRemote contract to the Echo chain. Use our toolbo

<Callout>
Make sure you have:
1. Deployed your ERC-20 token (from [Deploy ERC-20 Token](/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/02-deploy-erc-20-token))
2. Deployed your ERC20Home contract (from [Deploy Home](/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/03-deploy-home))
1. Deployed your ERC-20 token (from [Deploy ERC-20 Token](/academy/avalanche-l1/erc20-bridge/03-erc-20-to-erc-20-bridge/02-deploy-erc-20-token))
2. Deployed your ERC20Home contract (from [Deploy Home](/academy/avalanche-l1/erc20-bridge/03-erc-20-to-erc-20-bridge/03-deploy-home))
3. Have enough test ECH for gas fees
</Callout>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ To register your remote bridge with the home bridge, use our toolbox:

<Callout>
Make sure you have:
1. Deployed your ERC-20 token (from [Deploy ERC-20 Token](/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/02-deploy-erc-20-token))
2. Deployed your ERC20Home contract (from [Deploy Home](/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/03-deploy-home))
3. Deployed your ERC20TokenRemote contract (from [Deploy Remote](/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/04-deploy-remote))
1. Deployed your ERC-20 token (from [Deploy ERC-20 Token](/academy/avalanche-l1/erc20-bridge/03-erc-20-to-erc-20-bridge/02-deploy-erc-20-token))
2. Deployed your ERC20Home contract (from [Deploy Home](/academy/avalanche-l1/erc20-bridge/03-erc-20-to-erc-20-bridge/03-deploy-home))
3. Deployed your ERC20TokenRemote contract (from [Deploy Remote](/academy/avalanche-l1/erc20-bridge/03-erc-20-to-erc-20-bridge/04-deploy-remote))
4. Have enough test ECH for gas fees
</Callout>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ Now that all the bridge contracts have been deployed and registered, you can tra

<Callout>
Make sure you have:
1. Deployed your ERC-20 token (from [Deploy ERC-20 Token](/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/02-deploy-erc-20-token))
2. Deployed your ERC20Home contract (from [Deploy Home](/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/03-deploy-home))
3. Deployed your ERC20TokenRemote contract (from [Deploy Remote](/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/04-deploy-remote))
4. Registered your remote bridge with the home bridge (from [Register Remote](/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/05-register-remote))
1. Deployed your ERC-20 token (from [Deploy ERC-20 Token](/academy/avalanche-l1/erc20-bridge/03-erc-20-to-erc-20-bridge/02-deploy-erc-20-token))
2. Deployed your ERC20Home contract (from [Deploy Home](/academy/avalanche-l1/erc20-bridge/03-erc-20-to-erc-20-bridge/03-deploy-home))
3. Deployed your ERC20TokenRemote contract (from [Deploy Remote](/academy/avalanche-l1/erc20-bridge/03-erc-20-to-erc-20-bridge/04-deploy-remote))
4. Registered your remote bridge with the home bridge (from [Register Remote](/academy/avalanche-l1/erc20-bridge/03-erc-20-to-erc-20-bridge/05-register-remote))
5. Have enough test AVAX for gas fees
</Callout>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ Now we'll deploy the ERC20TokenRemote contract to the Echo chain. Use our toolbo

<Callout>
Make sure you have:
1. Deployed your ERC-20 token (from [Deploy ERC-20 Token](/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/02-deploy-erc-20-token))
2. Deployed your ERC20Home contract (from [Deploy Home](/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/03-deploy-home))
1. Deployed your ERC-20 token (from [Deploy ERC-20 Token](/academy/avalanche-l1/erc20-bridge/03-erc-20-to-erc-20-bridge/02-deploy-erc-20-token))
2. Deployed your ERC20Home contract (from [Deploy Home](/academy/avalanche-l1/erc20-bridge/03-erc-20-to-erc-20-bridge/03-deploy-home))
3. Have enough test ECH for gas fees
</Callout>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ To register your remote bridge with the home bridge, use our toolbox:

<Callout>
Make sure you have:
1. Deployed your ERC-20 token (from [Deploy ERC-20 Token](/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/02-deploy-erc-20-token))
2. Deployed your ERC20Home contract (from [Deploy Home](/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/03-deploy-home))
3. Deployed your ERC20TokenRemote contract (from [Deploy Remote](/academy/interchain-token-transfer/07-tokens-on-multiple-chains/02-deploy-token-remote))
1. Deployed your ERC-20 token (from [Deploy ERC-20 Token](/academy/avalanche-l1/erc20-bridge/03-erc-20-to-erc-20-bridge/02-deploy-erc-20-token))
2. Deployed your ERC20Home contract (from [Deploy Home](/academy/avalanche-l1/erc20-bridge/03-erc-20-to-erc-20-bridge/03-deploy-home))
3. Deployed your ERC20TokenRemote contract (from [Deploy Remote](/academy/avalanche-l1/erc20-bridge/04-tokens-on-multiple-chains/02-deploy-token-remote))
4. Have enough test DIS for gas fees
</Callout>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ Now that all the bridge contracts have been deployed and registered, you can tra

<Callout>
Make sure you have:
1. Deployed your ERC-20 token (from [Deploy ERC-20 Token](/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/02-deploy-erc-20-token))
2. Deployed your ERC20Home contract (from [Deploy Home](/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/03-deploy-home))
3. Deployed your ERC20TokenRemote contract (from [Deploy Remote](/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/04-deploy-remote))
4. Registered your remote bridge with the home bridge (from [Register Remote](/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/05-register-remote))
5. Have enough ERC-20 tokens on the _R<sub>a</sub>_ chain: `Echo` (you can transfer tokens from the _H_ chain to the _R<sub>a</sub>_ chain first) (from [Transfer Tokens](/academy/interchain-token-transfer/06-erc-20-to-erc-20-bridge/06-transfer-tokens))
1. Deployed your ERC-20 token (from [Deploy ERC-20 Token](/academy/avalanche-l1/erc20-bridge/03-erc-20-to-erc-20-bridge/02-deploy-erc-20-token))
2. Deployed your ERC20Home contract (from [Deploy Home](/academy/avalanche-l1/erc20-bridge/03-erc-20-to-erc-20-bridge/03-deploy-home))
3. Deployed your ERC20TokenRemote contract (from [Deploy Remote](/academy/avalanche-l1/erc20-bridge/03-erc-20-to-erc-20-bridge/04-deploy-remote))
4. Registered your remote bridge with the home bridge (from [Register Remote](/academy/avalanche-l1/erc20-bridge/03-erc-20-to-erc-20-bridge/05-register-remote))
5. Have enough ERC-20 tokens on the _R<sub>a</sub>_ chain: `Echo` (you can transfer tokens from the _H_ chain to the _R<sub>a</sub>_ chain first) (from [Transfer Tokens](/academy/avalanche-l1/erc20-bridge/03-erc-20-to-erc-20-bridge/06-transfer-tokens))
6. Have enough test ECH for gas fees
</Callout>

Expand Down
5 changes: 2 additions & 3 deletions content/academy/avalanche-l1/erc20-bridge/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,16 @@ authors: [nicolasarnedo]
icon: Smile
---

## ERC-20 to ERC-20 Bridge
## ERC20 Bridge

Welcome to the **ERC-20 to ERC-20 Bridge** course! This course is designed to give you a deep understanding of bridging ERC-20 tokens between Avalanche L1s using Avalanche Interchain Token Transfer (ICTT).
Welcome to the **ERC20 Bridge** course! This course is designed to give you a deep understanding of bridging ERC-20 tokens between Avalanche L1s using Avalanche Interchain Token Transfer (ICTT).

By the end of this course, you will have practical skills in deploying token bridges, understanding bridge security, and implementing multi-chain token transfers using Avalanche's native interoperability features.

### Prerequisites

Before starting this course, we recommend completing:
- [Interchain Messaging](/academy/avalanche-l1/interchain-messaging) - Foundation in cross-chain communication with ICM
- [L1 Native Tokenomics](/academy/avalanche-l1/l1-native-tokenomics) - Understanding tokens fundamentals

### What You'll Learn

Expand Down
4 changes: 2 additions & 2 deletions content/academy/avalanche-l1/erc20-bridge/meta.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"title": "ERC-20 to ERC-20 Bridge",
"title": "ERC20 Bridge",
"icon": "ArrowLeftRight",
"root": true,
"pages": [
"---ERC-20 to ERC-20 Bridge---",
"---ERC20 Bridge---",
"index",
"---Token Bridging---",
"...01-token-bridging",
Expand Down

This file was deleted.

This file was deleted.

Loading