Deploy Token ERC-20 Standar Anda ke Lisk
Dalam tutorial ini, Anda akan belajar cara bridge token ERC-20 standar dari Ethereum ke Lisk menggunakan Sistem Bridge Standar.
Tutorial ini ditujukan untuk developer yang sudah memiliki token ERC-20 di Ethereum dan ingin membuat representasi token tersebut di Lisk.
Tutorial ini menjelaskan cara menggunakan OptimismMintableERC20Factory
untuk deploy token ERC-20 standar di jaringan Lisk atau Lisk Sepolia.
Token yang dibuat oleh contract factory ini kompatibel dengan sistem Bridge Standar dan mencakup logika dasar untuk deposit, transfer, dan withdrawals.
Jika Anda ingin menyertakan logika khusus di dalam token L2 Anda, lihat tutorial Bridge Token ERC-20 Kustom Anda ke Lisk.
Dependensi
Prasyarat
Anda dapat deploy token ERC-20 Standar Anda di Lisk Mainnet dengan menggunakan proses yang sama.
Untuk deploy ke mainnet, pastikan wallet Anda memiliki ETH yang cukup.
Teks berikut mencakup perintah untuk Lisk dan Lisk Sepolia demi kemudahan Anda.
Untuk informasi lebih lanjut, lihat jaringan Lisk yang tersedia dan cara menghubungkan wallet ke jaringan tersebut.
Dapatkan ETH di Sepolia dan Lisk Sepolia
Tutorial ini menjelaskan cara membuat token ERC-20 yang di-bridge di Lisk Sepolia.
Anda perlu mendapatkan sejumlah ETH di kedua testnet ini.
Anda dapat menggunakan ETH Sepolia Faucet untuk mendapatkan ETH di Sepolia.
Anda dapat menggunakan Superchain Faucet untuk mendapatkan ETH di Lisk Sepolia.
Dapatkan Alamat Token ERC-20 L1
Anda memerlukan token ERC-20 L1 untuk tutorial ini.
Jika Anda sudah memiliki token ERC-20 L1 yang di-deploy di Ethereum Mainnet atau Sepolia, Anda dapat melewati langkah ini.
Untuk Sepolia, Anda dapat menggunakan token uji coba yang berada di alamat 0x5589BB8228C07c4e15558875fAf2B859f678d129
, yang memiliki fungsi faucet()
untuk me-mint token.
Membuat Token ERC-20 L2
Setelah Anda memiliki token ERC-20 L1, Anda dapat menggunakan OptimismMintableERC20Factory
untuk membuat token ERC-20 L2 yang sesuai di jaringan Lisk atau Lisk Sepolia.
Semua token yang dibuat oleh factory ini mengimplementasikan interface IOptimismMintableERC20
dan kompatibel dengan sistem Bridge Standar.
Untuk membuat token ERC-20 L2, lakukan langkah-langkah berikut:
1. Tambahkan private key ke environment Anda
Anda memerlukan private key untuk menandatangani transaksi.
Atur private key Anda sebagai variabel environment menggunakan perintah export
.
Pastikan private key ini sesuai dengan alamat yang memiliki ETH di jaringan Lisk atau Lisk Sepolia.
export TUTORIAL_PRIVATE_KEY=0x...
2. Tambahkan URL RPC Lisk ke environment Anda
Anda memerlukan URL RPC untuk terhubung ke jaringan Lisk atau Lisk Sepolia.
Atur URL RPC Anda sebagai variabel environment menggunakan perintah export
.
- Lisk
- Lisk Sepolia
export TUTORIAL_RPC_URL=https://rpc.api.lisk.com
export TUTORIAL_RPC_URL=https://rpc.sepolia-api.lisk.com
3. Tambahkan alamat token ERC-20 L1 Anda ke environment
Anda perlu mengetahui alamat token ERC-20 L1 Anda untuk membuat representasi token tersebut di jaringan Lisk atau Lisk Sepolia.
Atur alamat token ERC-20 L1 Anda sebagai variabel environment menggunakan perintah export
.
# Replace this with your L1 ERC-20 token if not using the testing token!
export TUTORIAL_L1_ERC20_ADDRESS=0x5589BB8228C07c4e15558875fAf2B859f678d129
4. Deploy token ERC-20 L2 Anda
Anda sekarang dapat deploy token ERC-20 L2 Anda menggunakan OptimismMintableERC20Factory
.
Gunakan perintah cast
untuk memicu fungsi deployment pada contract factory.
Contoh perintah berikut akan membuat token dengan nama "My Standard Demo Token" dan simbol "L2TKN".
Alamat token ERC-20 L2 yang dihasilkan akan mint di konsol.
cast send 0x4200000000000000000000000000000000000012 "createOptimismMintableERC20(address,string,string)" $TUTORIAL_L1_ERC20_ADDRESS "My Standard Demo Token" "L2TKN" --private-key $TUTORIAL_PRIVATE_KEY --rpc-url $TUTORIAL_RPC_URL --json | jq -r '.logs[0].topics[2]' | cast parse-bytes32-address
Jika semua berjalan dengan lancar, Anda akan menerima respons berisi alamat contract yang baru saja di-deploy:
0x891C582b83F69B7c2d3107cd73A3e491CB33962F
Factory memudahkan proses deployment contract secara instan.
Namun, kelemahannya adalah Anda tidak memiliki kendali atas source code dari contract yang akan di-deploy karena proses ini dilakukan oleh factory.
Selain itu, verifikasi contract tersebut di Blockscout tidak begitu mudah dilakukan, karena source code contract diperlukan untuk proses verifikasi.