Sektor blockchain semakin menarik perhatian dengan perkembangan yang terus berlangsung di bidang blockchain, Bitcoin, Ethereum, mata uang kripto, dan ICO. Hal ini mendorong saya untuk menulis tutorial ini, yang pertama dalam serangkaian tutorial yang bertujuan untuk membantu individu memahami cara menggunakan teknologi blockchain dan mata uang kripto untuk membuat aplikasi yang berdampak.
Dalam tutorial ini, saya bertujuan untuk memandu Anda melalui seluruh proses, mulai dari menyiapkan akun Anda hingga menerbitkan token pertama Anda di jaringan uji Ethereum menggunakan kontrak pintar tunggal dan MetamaskToken ini akan berfungsi sebagai token ERC20 standar pada jaringan uji Ethereum, dilengkapi dengan fitur inti yang dapat berfungsi sebagai dasar yang fleksibel untuk aplikasi yang lebih kompleks di luar transfer sederhana.
Sebelum Anda membuat token ERC20 Anda sendiri, Anda perlu menyiapkan hal berikut:
ERC adalah singkatan dari Ethereum Request for Comment, dengan 20 menjadi nomor identifikasi proposal. Tujuan dari ERC-20 adalah untuk meningkatkan jaringan Ethereum. Ini adalah salah satu standar ERC yang paling signifikan dan telah menjadi kerangka teknis untuk menciptakan token pada blockchain Ethereum melalui smart contract. ERC-20 menguraikan seperangkat aturan yang harus dipatuhi oleh semua token berbasis Ethereum, mendefinisikan mereka sebagai aset yang berbasis blockchain yang dapat dikirim dan diterima, memiliki nilai, beroperasi pada blockchain Ethereum, dan memerlukan biaya gas untuk transaksi.
Pada tahun 2015, pengembang Jerman Fabian Vogelsteller berkontribusi pada sejarah Ethereum dengan memberikan komentar di halaman GitHub proyek tersebut. Ini menandai komentar ke-20nya, di mana dia pertama kali menyebutkan ERC-20. Seiring dengan berkembangnya Ethereum dengan pesat, ERC-20 diperkenalkan sebagai solusi untuk tantangan skalabilitas jaringan.
Pengakuan resmi dan adopsi ERC-20 sebagai Ethereum Improvement Proposal (EIP-20), yang ditulis bersama oleh Vogelsteller dan salah satu pendiri Ethereum, Vitalik Buterin, terjadi pada akhir 2017.
Sebelum standar ERC-20, pencipta token harus memulai dari awal, yang mengakibatkan ketidaksesuaian di antara token-token yang berbeda. Pengembang harus sepenuhnya memahami kode kontrak pintar dari token lain karena tidak adanya struktur standar, yang mempersulit hal-hal bagi dompet dan bursa yang harus meninjau kode setiap token untuk dukungan. Menambahkan token baru ke aplikasi menjadi tugas yang kompleks.
Dengan diperkenalkannya standar ERC-20, fitur-fitur standarnya, interoperabilitas, dan transferabilitas telah memungkinkan dompet dan bursa untuk mengintegrasikan banyak token dan memfasilitasi pertukaran di antara mereka dengan mudah. Kontrak pintar yang digunakan dalam token ERC-20 dapat secara otomatis mengeksekusi dan menegakkan transaksi keuangan kompleks, yang penting untuk platform DeFi. Di platform-platform ini, token dapat mewakili berbagai instrumen keuangan, seperti pinjaman atau saham dalam kolam likuiditas.
Standar ERC-20 menentukan enam fungsi wajib dan tiga fungsi opsional yang harus diimplementasikan oleh kontrak pintar.
Berikut adalah fungsi yang dibutuhkan dan deskripsinya:
Selain fungsi-fungsi penting yang disebutkan sebelumnya, ada juga fungsi opsional tambahan yang dapat meningkatkan kegunaan token:
Jika Anda akrab dengan pemrograman berorientasi objek, Anda dapat menganggap ERC-20 sebagai antarmuka. Untuk membuat token Anda menjadi token ERC-20, Anda harus mengimplementasikan antarmuka ERC-20, yang mengharuskan Anda untuk menyertakan enam fungsi penting ini. Pada dasarnya, antarmuka ERC-20 berfungsi sebagai template, dan setiap kontrak yang bertujuan untuk diklasifikasikan sebagai token ERC-20 harus mendesain dan mengimplementasikan fungsinya menggunakan template ini.
Untuk mulai mendeploy kontrak Anda di jaringan uji Ethereum Sepolia, Anda perlu menginstal MetaMaskperpanjangan browser atau menggunakan dompet Web3 lain, seperti Phantom, atau dompet apa pun yang kompatibel dengan WalletConnect. Setelah mengatur dompet Anda, Anda perlu mendapatkan beberapa ETH uji. Anda dapat memperolehnya dari Kran Ethereum Sepolia, yang dirancang khusus untuk jaringan uji coba Ethereum Sepolia. Mendapatkan uji coba ETH sangat mudah: cukup kunjungi situs faucet, hubungkan alamat dompet Anda atau masukkan alamat Anda, dan ikuti petunjuknya. Anda juga dapat membagikan tweet untuk hadiah ekstra, atau Anda dapat memilih opsi 'Tidak, terima kasih, kirimkan saya 0.05 ETH' untuk menerima uji coba ETH langsung. Namun, ingatlah bahwa Anda perlu memiliki setidaknya 0.001 ETH di akun utama Ethereum Anda untuk menggunakan faucet koin uji coba QuickNode.
Saat ini ada banyak token yang sesuai dengan standar ERC20 yang berjalan di blockchain Ethereum, yang dikembangkan oleh berbagai kelompok. Implementasi ini berbeda; beberapa fokus pada meminimalkan biaya gas, sementara yang lain memprioritaskan meningkatkan keamanan. Untuk membuat token yang kuat dan aman, banyak pengembang memilih standar token ERC20 dari OpenZeppelin. OpenZeppelin adalah perpustakaan kontrak pintar yang dapat digunakan kembali yang teruji dengan baik dan diulas oleh komunitas yang mencakup kerangka kerja token ERC20 yang andal dan aman. Ini memastikan bahwa pengembangan token mematuhi dan aman, menjadikannya pilihan yang tepat bagi banyak pengembang token saat ini.
Untuk kemudahan dan keamanan, kami akan menggunakan ERC-20 OpenZeppelinkontrak untuk membuat token kami dalam panduan ini. Dengan OpenZeppelin, kita tidak perlu menulis seluruh antarmuka ERC-20; kita hanya mengimpor kontrak perpustakaan dan memanfaatkan fungsi-fungsinya. Dalam contoh ini, kita akan mengeluarkan 1 juta token ERC-20 yang diberi nama MNT.
Selanjutnya, pergilah ke Ethereum RemixIDE (lingkungan pengembangan terpadu untuk Ethereum yang mendukung bahasa pemrograman Solidity) dan buat file Solidity baru, seperti - MyNewToken.sol.
Silakan tempelkan kode berikut ke dalam skrip Solidity baru Anda:
// SPDX-License-Identifier: MIT pragma kekokohan ^0.8.20;
impor “@openzeppelin/contracts/token/ERC20/ERC20.sol”;
kontrak MyNewToken adalah ERC20 { constructor() ERC20("MyNewToken","MNT") {_mint(msg.sender, 1000000}(10 * uint256(decimals())); } }
Berikut adalah apa yang dilakukan oleh kode tersebut:
Komentar SPDX-License-Identifier menunjukkan lisensi di bawah mana kontrak tersebut dirilis.
Directive pragma menentukan versi kompiler yang akan digunakan.
Kontrak ERC20 diimpor dari OpenZeppelin dan berfungsi sebagai dasar token Anda.
MyNewToken adalah nama kontrak Anda, yang mewarisi kontrak ERC20.
fungsi konstruktor menginisialisasi token Anda dengan nama ("MyNewToken") dan simbol ("MNT").
Fungsi _mint dalam konstruktor menciptakan pasokan awal token. Dalam hal ini, 1 juta token dicetak dan diberikan kepada alamat yang menyebarkan kontrak. Jumlah total token disesuaikan dengan nilai desimal, yang defaultnya adalah 18 dalam implementasi OpenZeppelin.
Karena kami mengimpor kontrak pintar ERC20 dari OpenZeppelin dan kontrak MyNewToken mewarisi darinya, tidak perlu mendefinisikan semua fungsi sendiri. Semua fungsi yang didefinisikan dalam kontrak ERC20 termasuk dalam kontrak MyNewToken. Jika Anda ingin melihat versi yang lebih rinci dari kode ERC-20 lengkap, Anda dapat merujuk ke file ini.
Sekarang, luangkan waktu untuk menyesuaikan kontrak pintar agar sesuai dengan kebutuhan Anda. Anda juga dapat mengubah nama token dan simbol dengan mengubah bagian ini: ERC20("MyNewToken", "MNT").
Setelah Anda menyesuaikan kontrak pintar Anda, langkah selanjutnya adalah mengompilasinya.
Langkah 1: Klik tombol Solidity Compiler. Periksa versi compiler dan pastikan kontrak yang benar dipilih. Karena kontrak pintar Anda termasuk baris pragma solidity ^0.8.20;, versi compiler harus setidaknya 0.8.20. Selanjutnya, klik tombol Compile MyNewToken.sol. Jika semuanya berhasil, Anda akan melihat tanda centang hijau pada tombol kompilasi.
Langkah 2: Navigasi ke tab Deploy & Run Transactions. Di bawah bagian Lingkungan, pilih opsi Provider yang Disuntikkan untuk implementasi. Sebelum melanjutkan, pastikan bahwa MetaMask Anda diatur ke jaringan uji Sepolia dan bahwa Anda telah memilih kontrak MyNewToken untuk implementasi. Terakhir, klik tombol Deploy untuk mendeploy kontrak Anda.
Jika Anda tidak yakin bagaimana cara mengganti jaringan, buka ekstensi MetaMask, klik pada pemilih jaringan di sudut kiri atas, dan pilih Sepolia. Jika tidak terlihat, pastikan opsi “Tampilkan Jaringan Uji” diaktifkan. Untuk petunjuk tentang menambahkan URL RPC QuickNode ke MetaMask, silakan cek Panduan QuickNode.
Langkah 3: Konfirmasikan transaksi di MetaMask:
Selamat! Kontrak token Anda telah berhasil didaftarkan pada jaringan uji Ethereum Sepolia, dan Anda secara resmi memiliki token pertama Anda!
Sektor blockchain semakin menarik perhatian dengan perkembangan yang terus berlangsung di bidang blockchain, Bitcoin, Ethereum, mata uang kripto, dan ICO. Hal ini mendorong saya untuk menulis tutorial ini, yang pertama dalam serangkaian tutorial yang bertujuan untuk membantu individu memahami cara menggunakan teknologi blockchain dan mata uang kripto untuk membuat aplikasi yang berdampak.
Dalam tutorial ini, saya bertujuan untuk memandu Anda melalui seluruh proses, mulai dari menyiapkan akun Anda hingga menerbitkan token pertama Anda di jaringan uji Ethereum menggunakan kontrak pintar tunggal dan MetamaskToken ini akan berfungsi sebagai token ERC20 standar pada jaringan uji Ethereum, dilengkapi dengan fitur inti yang dapat berfungsi sebagai dasar yang fleksibel untuk aplikasi yang lebih kompleks di luar transfer sederhana.
Sebelum Anda membuat token ERC20 Anda sendiri, Anda perlu menyiapkan hal berikut:
ERC adalah singkatan dari Ethereum Request for Comment, dengan 20 menjadi nomor identifikasi proposal. Tujuan dari ERC-20 adalah untuk meningkatkan jaringan Ethereum. Ini adalah salah satu standar ERC yang paling signifikan dan telah menjadi kerangka teknis untuk menciptakan token pada blockchain Ethereum melalui smart contract. ERC-20 menguraikan seperangkat aturan yang harus dipatuhi oleh semua token berbasis Ethereum, mendefinisikan mereka sebagai aset yang berbasis blockchain yang dapat dikirim dan diterima, memiliki nilai, beroperasi pada blockchain Ethereum, dan memerlukan biaya gas untuk transaksi.
Pada tahun 2015, pengembang Jerman Fabian Vogelsteller berkontribusi pada sejarah Ethereum dengan memberikan komentar di halaman GitHub proyek tersebut. Ini menandai komentar ke-20nya, di mana dia pertama kali menyebutkan ERC-20. Seiring dengan berkembangnya Ethereum dengan pesat, ERC-20 diperkenalkan sebagai solusi untuk tantangan skalabilitas jaringan.
Pengakuan resmi dan adopsi ERC-20 sebagai Ethereum Improvement Proposal (EIP-20), yang ditulis bersama oleh Vogelsteller dan salah satu pendiri Ethereum, Vitalik Buterin, terjadi pada akhir 2017.
Sebelum standar ERC-20, pencipta token harus memulai dari awal, yang mengakibatkan ketidaksesuaian di antara token-token yang berbeda. Pengembang harus sepenuhnya memahami kode kontrak pintar dari token lain karena tidak adanya struktur standar, yang mempersulit hal-hal bagi dompet dan bursa yang harus meninjau kode setiap token untuk dukungan. Menambahkan token baru ke aplikasi menjadi tugas yang kompleks.
Dengan diperkenalkannya standar ERC-20, fitur-fitur standarnya, interoperabilitas, dan transferabilitas telah memungkinkan dompet dan bursa untuk mengintegrasikan banyak token dan memfasilitasi pertukaran di antara mereka dengan mudah. Kontrak pintar yang digunakan dalam token ERC-20 dapat secara otomatis mengeksekusi dan menegakkan transaksi keuangan kompleks, yang penting untuk platform DeFi. Di platform-platform ini, token dapat mewakili berbagai instrumen keuangan, seperti pinjaman atau saham dalam kolam likuiditas.
Standar ERC-20 menentukan enam fungsi wajib dan tiga fungsi opsional yang harus diimplementasikan oleh kontrak pintar.
Berikut adalah fungsi yang dibutuhkan dan deskripsinya:
Selain fungsi-fungsi penting yang disebutkan sebelumnya, ada juga fungsi opsional tambahan yang dapat meningkatkan kegunaan token:
Jika Anda akrab dengan pemrograman berorientasi objek, Anda dapat menganggap ERC-20 sebagai antarmuka. Untuk membuat token Anda menjadi token ERC-20, Anda harus mengimplementasikan antarmuka ERC-20, yang mengharuskan Anda untuk menyertakan enam fungsi penting ini. Pada dasarnya, antarmuka ERC-20 berfungsi sebagai template, dan setiap kontrak yang bertujuan untuk diklasifikasikan sebagai token ERC-20 harus mendesain dan mengimplementasikan fungsinya menggunakan template ini.
Untuk mulai mendeploy kontrak Anda di jaringan uji Ethereum Sepolia, Anda perlu menginstal MetaMaskperpanjangan browser atau menggunakan dompet Web3 lain, seperti Phantom, atau dompet apa pun yang kompatibel dengan WalletConnect. Setelah mengatur dompet Anda, Anda perlu mendapatkan beberapa ETH uji. Anda dapat memperolehnya dari Kran Ethereum Sepolia, yang dirancang khusus untuk jaringan uji coba Ethereum Sepolia. Mendapatkan uji coba ETH sangat mudah: cukup kunjungi situs faucet, hubungkan alamat dompet Anda atau masukkan alamat Anda, dan ikuti petunjuknya. Anda juga dapat membagikan tweet untuk hadiah ekstra, atau Anda dapat memilih opsi 'Tidak, terima kasih, kirimkan saya 0.05 ETH' untuk menerima uji coba ETH langsung. Namun, ingatlah bahwa Anda perlu memiliki setidaknya 0.001 ETH di akun utama Ethereum Anda untuk menggunakan faucet koin uji coba QuickNode.
Saat ini ada banyak token yang sesuai dengan standar ERC20 yang berjalan di blockchain Ethereum, yang dikembangkan oleh berbagai kelompok. Implementasi ini berbeda; beberapa fokus pada meminimalkan biaya gas, sementara yang lain memprioritaskan meningkatkan keamanan. Untuk membuat token yang kuat dan aman, banyak pengembang memilih standar token ERC20 dari OpenZeppelin. OpenZeppelin adalah perpustakaan kontrak pintar yang dapat digunakan kembali yang teruji dengan baik dan diulas oleh komunitas yang mencakup kerangka kerja token ERC20 yang andal dan aman. Ini memastikan bahwa pengembangan token mematuhi dan aman, menjadikannya pilihan yang tepat bagi banyak pengembang token saat ini.
Untuk kemudahan dan keamanan, kami akan menggunakan ERC-20 OpenZeppelinkontrak untuk membuat token kami dalam panduan ini. Dengan OpenZeppelin, kita tidak perlu menulis seluruh antarmuka ERC-20; kita hanya mengimpor kontrak perpustakaan dan memanfaatkan fungsi-fungsinya. Dalam contoh ini, kita akan mengeluarkan 1 juta token ERC-20 yang diberi nama MNT.
Selanjutnya, pergilah ke Ethereum RemixIDE (lingkungan pengembangan terpadu untuk Ethereum yang mendukung bahasa pemrograman Solidity) dan buat file Solidity baru, seperti - MyNewToken.sol.
Silakan tempelkan kode berikut ke dalam skrip Solidity baru Anda:
// SPDX-License-Identifier: MIT pragma kekokohan ^0.8.20;
impor “@openzeppelin/contracts/token/ERC20/ERC20.sol”;
kontrak MyNewToken adalah ERC20 { constructor() ERC20("MyNewToken","MNT") {_mint(msg.sender, 1000000}(10 * uint256(decimals())); } }
Berikut adalah apa yang dilakukan oleh kode tersebut:
Komentar SPDX-License-Identifier menunjukkan lisensi di bawah mana kontrak tersebut dirilis.
Directive pragma menentukan versi kompiler yang akan digunakan.
Kontrak ERC20 diimpor dari OpenZeppelin dan berfungsi sebagai dasar token Anda.
MyNewToken adalah nama kontrak Anda, yang mewarisi kontrak ERC20.
fungsi konstruktor menginisialisasi token Anda dengan nama ("MyNewToken") dan simbol ("MNT").
Fungsi _mint dalam konstruktor menciptakan pasokan awal token. Dalam hal ini, 1 juta token dicetak dan diberikan kepada alamat yang menyebarkan kontrak. Jumlah total token disesuaikan dengan nilai desimal, yang defaultnya adalah 18 dalam implementasi OpenZeppelin.
Karena kami mengimpor kontrak pintar ERC20 dari OpenZeppelin dan kontrak MyNewToken mewarisi darinya, tidak perlu mendefinisikan semua fungsi sendiri. Semua fungsi yang didefinisikan dalam kontrak ERC20 termasuk dalam kontrak MyNewToken. Jika Anda ingin melihat versi yang lebih rinci dari kode ERC-20 lengkap, Anda dapat merujuk ke file ini.
Sekarang, luangkan waktu untuk menyesuaikan kontrak pintar agar sesuai dengan kebutuhan Anda. Anda juga dapat mengubah nama token dan simbol dengan mengubah bagian ini: ERC20("MyNewToken", "MNT").
Setelah Anda menyesuaikan kontrak pintar Anda, langkah selanjutnya adalah mengompilasinya.
Langkah 1: Klik tombol Solidity Compiler. Periksa versi compiler dan pastikan kontrak yang benar dipilih. Karena kontrak pintar Anda termasuk baris pragma solidity ^0.8.20;, versi compiler harus setidaknya 0.8.20. Selanjutnya, klik tombol Compile MyNewToken.sol. Jika semuanya berhasil, Anda akan melihat tanda centang hijau pada tombol kompilasi.
Langkah 2: Navigasi ke tab Deploy & Run Transactions. Di bawah bagian Lingkungan, pilih opsi Provider yang Disuntikkan untuk implementasi. Sebelum melanjutkan, pastikan bahwa MetaMask Anda diatur ke jaringan uji Sepolia dan bahwa Anda telah memilih kontrak MyNewToken untuk implementasi. Terakhir, klik tombol Deploy untuk mendeploy kontrak Anda.
Jika Anda tidak yakin bagaimana cara mengganti jaringan, buka ekstensi MetaMask, klik pada pemilih jaringan di sudut kiri atas, dan pilih Sepolia. Jika tidak terlihat, pastikan opsi “Tampilkan Jaringan Uji” diaktifkan. Untuk petunjuk tentang menambahkan URL RPC QuickNode ke MetaMask, silakan cek Panduan QuickNode.
Langkah 3: Konfirmasikan transaksi di MetaMask:
Selamat! Kontrak token Anda telah berhasil didaftarkan pada jaringan uji Ethereum Sepolia, dan Anda secara resmi memiliki token pertama Anda!