Membuat cryptocurrency milikmu sendiri dengan ERC-20 tokens

Pada tutorial langkah demi langkah ini, kamu akan belajar cara menciptakan dan mendeploy token ERC-20 di Ethereum.

Kita akan gunakan Metamask dan Remix IDE pada tutorial ini.

Apa itu ERC-20?

ERC adalah singkatan dari Ethereum Request for Comment. Pada dasarnya, mereka adalah standar yang disetujui oleh komunitas dan digunakan untuk menyampaikan persyaratan teknis dan spesifikasi untuk beberapa kasus penggunaan.

ERC-20 secara khusus adalah standar yang menguraikan spesifikasi teknis dari token yang dapat dipertukarkan.

Fungible token adalah token di mana semua ‘bagian’ dari token tersebut sama. Menukar 1 ETH dengan 1 ETH yang berbeda tidak mengubah apa pun. kamu masih memiliki 1 ETH. Oleh karena itu, ETH adalah token yang dapat dipertukarkan. Semua mata uang fiat seperti USD, Rupiah, juga dapat dipertukarkan.

NFT adalah Non-Fungible Tokens (lebih lanjut akan dijelaskan nanti) di mana setiap token berbeda dari token lain.

Sebagian besar token di Ethereum memenuhi spesifikasi ERC-20. Mengikuti standar seperti ERC-20 memungkinkan pengembang aplikasi yang menggunakan token ERC-20 untuk dengan mudah mendukung semua token ERC-20 tanpa perlu menulis kode khusus untuk masing-masing token secara individual.

Misalnya, aplikasi decentralized exchange seperti Uniswap memungkinkan kamu menukar token apa pun dengan token lainnya. Hal ini hanya dimungkinkan karena hampir semua token mengikuti standar ERC-20, sehingga Uniswap dapat menulis kode yang berfungsi dengan semua token yang mengikuti standar tersebut.

Persyaratan

Pastikan kamu telah mengunduh dan menginstal Metamask. Pilih jaringan Sepolia Testnet. Minta ether testnet di Sepolia melalui faucet berikut: - Sepolia Faucet

Setelah semuanya siap, mari kita mulai!

Menulis kode

Kita gunakan Remix IDE untuk menulis smart contract. Di Remix, buat file kontrak baru, misalnya MyToken.sol

Di kontrak, tulis kode berikut:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

import "<https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol>";

contract MyToken is ERC20 {
    constructor(string memory _name, string memory _symbol) ERC20(_name, _symbol) {
        _mint(msg.sender, 10 * 10 ** 18);
    }
}

Mari kita bahas baris per baris:

pragma solidity ^0.8.0;

Baris ini menentukan versi kompilator Solidity yang akan digunakan. ^0.8.0 berarti versi apa saja yang lebih besar dari 0.8.0. Biasanya, kamu ingin menggunakan versi kompilator Solidity terbaru, karena versi baru biasanya memiliki fitur-fitur baru atau optimisasi fitur lama.