Memahami ERC20

Memahami ERC20

Artikel ini mengasumsikan bahwa pembaca setidaknya sudah familiar dengan konsep berikut: blockchain Ethereum, dapps, ether, kontrak pintar & ICO.

Untuk menutup kembali dengan cepat, blockchain Ethereum adalah platform komputasi berbasis blockchain sumber terbuka yang terdistribusi. Platform komputasi ini, jaringan Ethereum, menghosting aplikasi terdesentralisasi (dapps) yang dijalankan dengan potongan kode bernama kontrak pintar; semua transaksi di jaringan Ethereum, serta biaya komputasi untuk melaksanakan kontrak pintar, dibayar dalam Ethereum cryptocurrency ether.

Beberapa, tetapi tidak semua, dari dapps ini (aplikasi terdesentralisasi) memerlukan mata uang dalam-dapp tambahan – dapps ini memperkenalkan mata uang baru mereka, token bernama, dan mengumpulkan dana melalui penawaran koin awal (ICO).

Platform blockchain Ethereum dibangun sedemikian rupa sehingga mendorong semua jenis dapp – termasuk yang membutuhkan pembuatan, pemeliharaan & mentransfer aset digital. Token Ethereum khusus dapp ini dapat diimplementasikan untuk membuat jaringan dapp dengan kasus penggunaan yang bermakna seperti anjak faktur, pembayaran di seluruh browser, & kartu debit cryptocurrency.

Semua ide yang disebutkan sebelumnya adalah dapp-token berbasis Ethereum yang saat ini hidup yang mengikuti standar pemrograman token yang sangat umum; Faktanya, 99% dari semua token Ethereum yang diterapkan mengikuti standar ini, standar ERC20.

Standar token ERC20, yang merupakan singkatan dari Permintaan Ethereum untuk Komentar, adalah seperangkat “aturan” pemrograman standar yang diharapkan untuk diikuti oleh semua token berbasis Ethereum. Pengembang menyetujui enam fungsi ini & dua peristiwa sebagai token minimal yang layak untuk menormalkan perilaku yang diharapkan saat berkomunikasi di seluruh jaringan Ethereum – dengan membuat protokol ini, pengembang Ethereum dapat bekerja dengan kontrak pintar eksternal dengan mudah.

Memperkenalkan Solidity

Sedangkan Ethereum paling populer klien saat ini ditulis dalam GO Google, banyak pilihan untuk bahasa kontrak pintar yang ramah pengembang. Pengembang dapat memilih dari bahasa seperti Vyper, Bambu, Ular & Kepadatan.

Untuk sisa artikel ini akan kami soroti & walkthrough sintaks Solidity.

Solidity adalah bahasa pemrograman berorientasi kontrak tingkat tinggi yang digunakan untuk mengimplementasikan kontrak pintar. Sintaks Solidity, bagi mereka yang akrab dengan pemrograman, adalah mishmash dari Javascript, Python, & Konsep C; itu diketik secara statis, mendukung pewarisan & memiliki sejumlah perpustakaan sejak awal. Untuk informasi lebih lanjut tentang Soliditas, Anda harus membaca dokumentasi yang ada di sini: https://solidity.readthedocs.io/en/develop/#


Panduan Antarmuka ERC20

Kami akan mulai menggali lebih dalam tentang apa sebenarnya & bagaimana standar ini diterapkan di seluruh jaringan Ethereum – seperti yang disebutkan sebelumnya, kami akan membahasnya secara khusus dalam sintaks Solidity.

Di Ethereum-land, semuanya dimulai & berakhir dengan kontrak. Dokumentasi soliditas mendefinisikan kontrak sebagai “kumpulan kode (nya fungsi) & data (itu negara) yang berada di alamat tertentu di blockchain Ethereum. ” Kontrak Ethereum mendukung warisan – jadi kontrak bisa menjadi contoh kontrak lain.

Mengikuti logika ini, kontrak abstrak, yang hanya digunakan untuk warisan, juga dapat digunakan sebagai pengaman dari kegagalan dengan menentukan kontrak baru. harus berisi untuk dikompilasi. Kontrak abstrak ini, juga dikenal sebagai kontrak antarmuka.

Ini berarti bahwa kontrak token apa pun yang merupakan instance ERC20 tidak dapat dikompilasi tanpa hal berikut; sebaliknya, ini berarti pengembang Ethereum sekarang tahu fungsi apa & perilaku yang dapat mereka harapkan saat berinteraksi dengan token ERC20 apa pun.

Standar ERC20 adalah kontrak antarmuka yang berisi total enam fungsi yang dapat dieksekusi & dua peristiwa logging.

Tunjangan

Fungsi Allowance memungkinkan dua alamat membuat transfer searah berulang; alamat dompet tokenOwner & Sebentar dompet pemboros didefinisikan sebagai dua dompet yang akan terlibat dalam transaksi berulang. Secara khusus, dompet spender akan menarik beberapa jumlah dari dompet tokenOwner di beberapa interval – keduanya adalah variabel yang akan ditentukan nanti.

Menyetujui

Untuk fungsi Setujui, lihat kembali fungsi Tunjangan kami: fungsi ini memungkinkan dua alamat untuk berulang kali ditarik secara searah. Fungsi Setujui, dinamai dengan tepat, adalah fungsi standar sederhana yang meminta pemilik dompet untuk “menyetujui” transaksi yang akan dilakukan atas namanya dalam konteks Tunjangan. Fungsi ini membutuhkan dua masukan, alamat pembeli & jumlah token yang dikirim. Keluarannya mengembalikan boolean publik yang menentukan apakah persetujuan diberikan atau ditolak.

BalanceOf

BalanceOf adalah fungsi intuitif yang menerima parameter masukan alamat tunggal (alamat tokenOwner) & mengembalikan satu konstanta publik (keseimbangan uint). Konstanta uint yang dikembalikan, saldo, mewakili jumlah token yang dimiliki alamat yang diminta – ingat, transaksi pada blockchain biasanya bersifat publik, tidak berbeda dengan Ethereum.

TotalSupply

Fungsi totalSupply, seperti yang mungkin bisa Anda tebak dari namanya, adalah fungsi konstruktor anonim yang hanya berjalan sekali pada saat pertama penerapan ke jaringan Ethereum langsung. Fungsi mengembalikan total konstan publikSupply unassigned integer (uint) yang bertindak sebagai token total pasokan untuk sisa masa kontrak. Konstanta totalSupply ini biasanya didefinisikan dengan salah satu dari dua cara: melakukan hardcode variabel atau pendanaan dari dompet asal.

Transfer

Fungsi Transfer adalah fungsi inti dari setiap token ERC20; itu mendefinisikan & mengimplementasikan langsung wallet-owner-to-peer transfer token. Karena pemilik dompet melakukan panggilan ini, hanya dua parameter yang diperlukan: alamat penerima & jumlah token yang dikirim. Kedua parameter ini biasanya diinisialisasi sebagai (alamat ke) & (token uint). Nilai pengembalian transfer hanyalah boolean yang mengonfirmasi apakah penerima (alamat “ke”) menerima token yang dikirim.

TransferFrom

Fungsi TransferFrom memungkinkan kontrak pintar untuk menjalankan transfer dengan parameter yang dilewati atas nama pemilik dompet. Hati-hati membuat perbedaan dengan yang sebelumnya Transfer fungsi. Fungsi sebelumnya diperbolehkan untuk pemilik dompet untuk langsung mengirim token ke suatu alamat; ini TransferFrom memungkinkan untuk a kontrak pintar untuk mengirim token atas nama pemilik dompet, seperti mengisi pesanan di bursa, melepaskan dana tepat waktu, atau membayar kemenangan kami dalam permainan keberuntungan.

Itu TransferFrom fungsi memiliki tiga parameter input, alamat pemilik dompet, alamat dompet penerima, & jumlah token yang dikirim. Mereka sering kali diinisialisasi dalam sintaks berikut: (alamat dari, alamat ke, token uint). Output fungsinya sama persis dengan output Transfer: boolean publik tunggal yang merinci keberhasilan atau kegagalan transaksi.

Ringkasan

Enam fungsi yang dirinci di atas adalah enam fungsi inti yang ditemukan di 99% dari semua token ERC20 yang saat ini aktif. Dengan beberapa pengecualian (melihat Anda Golem), pengembang Ethereum dapat merasa aman mengetahui bahwa mereka dapat sepenuhnya mengharapkan fungsi inti ini saat mengembangkan kontrak internal atau saat berinteraksi dengan kontrak publik eksternal di alam liar..

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map