Tujuan
Mempelajari bersama tentang bagaimana proses mebuat sebuah smart contract (simple erc20 token) pada ethereum network, sehingga kita semua tahu bagaimana proses dari pembuatan erc20 token itu karena kita hampir setiap hari menggunakannya. Hanya untuk tujuan edukasi dan tidak digunakan secara komersil.
Alat dan Bahan
- Ethereum address
- Sedikit ethereum
- Text editor
- Solidity Contract
Langkah-langkah
Karena ini cuma sebatas tutorial biar om om gak ngeluarin eth beneran kita bakal pake ropsten network ya, ambil aja ethereum gratis di
https://faucet.ropsten.be/ tinggal claim nanti langsung dikirim 1 eth di ropsten network. Karena ini menggunakan ropsten network explorenya jadi
disini ya. Pastiin kalo om sekalian sudah menginstal metamask sebagai extention dibrowser masing masing.
Selanjutnya agan bisa pake solidity contract
ini atau om bisa pilih solidity mana aja yg ada di github itu juga terserah om karena basicnya akan sama dan hanya beda beda tipis didalam codenya.
Oke lanjut, setelah mengcopy seluruh code dari github tadi dan mempastenya ke text editor pilihan om sekarang saatnya kita belajar bareng.
- Kita lihat line 3 - 15, ini adalah comment section yg akan kita jadikan acuan.
- Ganti line 4 jadi nama smart contract pilihan pribadi.
- Line 6 diisi dengan address ethereum om sendiri.
- Line 7 diisi dengan symbol buat token ini (cukup singkatan saja atau kalo bisa tidak terlalu panjang)
- Line 8 diisi dengan nama dari token yg agan mau.
Oke selanjutnya:
- Liat line 102 dan ganti "TutorToken" jadi "NamaYangOmMau".
- Sekarang ke line 116 dan ganti nama simbolnya, samain seperti yang om buat di comment section diatas tadi.
- Lakukan hal yang sama di line 117.
- Ganti address yg ada diline 120 jadi address pribadi om begitu juga dengan line 121.
Buat desimal dan total supply di line 118 dan 119, om bisa biarin aja begitu tapi ane bakal jelasin supaya lebih jelas. Untuk total supply ada beberapa pertimbangan. Yang pertama adalah yang standar (dan maximal) adalah 18 desimal, artinya coin itu bisa dipecah menjadi 18 bagian. Yang kedua contohnya gini, misal om mau buat cuma 100 token, dibagian total supply om harus nulis 100 diikuti dengan decimal yang om mau. Contoh ane mau bikin 100 token, jadi yang harus ane tulis di bagian total supply adalah: 100000000000000000000; 100 diikutin dengan 18 buah angka 0 dan begitu seterusnya.
Oke semuanya sudah, sekarang kita selesai dengan masalah edit edit code ini, sangat mudah tentunya bukan? hanya membutuhkan sedikit kesabaran dan koneksi internet. Sekarang barulah kita mulai hal hal yg seru..
- Silahkan buka http://remix.ethereum.org/
- di tab browser/ballot.sol,paste code yang tadi sudah om edit, kalau ada notif merah muncul berarti ada yg salah di codenya. Kalau cuma warning kuning itu gapapa dan kita lanjutkan saja.
- Nah sekarang pilih dulu compilernya sesuai dengan versi solidity yang kita pakai, karena ane pakai yg pragma solidity ^0.4.24; maka ane milih compilernya versi 0.4.24 juga
- Dibawah compile > Details > Pilih Token yang akan dibuat.
- Dibagian ByteCode nanti ada bagian yg namanya "object" nah isi dari object ini di copy.
- Sekarang kita buka myetherwallet, ane pake myetherwallet versi lama atau vintage untuk ngedeploy contract kita kali ini. Pilih Contract > Deploy.
- Paste ByteCode yg tadi kita copy dibagian "Byte Code" tambahkan 0x didepannya ini disebeut sebagai 0xByteCode. Gas limitnya akan menyesesuaikan secara otomatis.
- Akses wallet om seklian terserah pake apa, tapi kalo ane pake metamask, lebih aman dan lebih simple.
- Sekarang tekan "Sign Transaction" > "Deploy Transaction"
- Akan ada pop up lain lagi muncul cukup tekan Yes.
Voila, eits tapi belum selesai. ininih momen yang kita tunggu tunggu
Click TX transaksinya dan cek apakah contractnya berhasil dideploy. Kalau tidak berhasil silahkan ulangi lagi semuanya dan baca hati hati, perhatikan secara seksama dimana om salahnya. Kalau berhasil ya selamat om, sekarang om sudah bisa buat token ERC20 versi sendiri. Kalau semuanya berhasil kontrak yg tadi om deploy akan terlihat seperti gambar dibawah ini ya.
Nah sekarang kita akan ngedaftarin kontrak ini, untuk melakukan itu caranya:
- Di overview tab klik kontrak addressnya
- Lihat di Contract Code Tab lalu klik Verify and Publish
Oke hampir selesai, langkah berikutnya ini
sangatlah penting, jadi harus hati hati.Pada dasarnya apa yang akan kita lakukan di sini adalah mencoba untuk memastikan bahwa kode tersebut sesuai dengan apa yang kita mau dan kita mendaftarkan ini di network untuk selamanya. Jadi kalo salah ya akan salah terus.
Sekarang om punya 5 hal yang harus dilakukan dihalaman ini
- Pastiin bawha kolom contract address terisi sama dengan contract yang baru aja om deploy.
- Contract name harus sama dengan yang ada di code, lihat line 102 dicode om biar gak salah.
- Compilernya pilih sama seperti yang tadi om pake, versi 0.4.24.
- Dibagian Optimisation pilih No, karena kita tidak mengenable fungsi itu tadi.
- Dibagian "Enter the Solidity Contract Code below *" paste seluruh code yang sudah kita buat, seluruhnya ya jadi copy yg ada ditext editor om.
Oke, sekarang dah kosongin sisa kolom yang ada, selesaikan capchtanya abis itu langsung klik Verify and Publish deh.
Tunggu sebentar dan kalau page seperti gambar dibawah ini muncul berarti selamat om udah berhasil buat token sendiri dan memverifnya !!
Kalau ada msg merah yang muncul berarti ada yang salah coba baca lagi dari atas dan ulangi prosesnya.
untuk memastiin kalo tokennya bener bener jadi, silahkan cek di
https://ropsten.etherscan.io/ dan lihat address pribadi punya om tadi
Tokennya sudah jadi dan om bebas menggunakannya buat apa aja, tapi ini cuma standart token ya jadi cuma bisa dikirim kirim gak ada fitur aneh aneh lainnya.
Penutup
Membuat sebuah smart contract di ethereum network ternyata bukan hal yang sulit kan om om sekalian, nanti kalau misalnya ada banyak yang tertarik mungkin ane bakal bikin tutor2 lain tentang ERC20 token dan kita jadi bisa belajar sama sama. Ane juga pemula dan bukanlah seorang ethereum developer kalau ada yang mau ditanya monggo tulis tulis aja dibawah.
Ini Address ane kalo ada yang mau kirim2 token hasil buatannya sendiri boleh buat pamer kalo udah bisa bikin token sendiri coba kirim kesini 0xBe78faf3a6571096D668E2e1c0b1a6749b350911
Tapi inget ya om, kita buatnya di ropsten network biar gratis.
Sumber belajar ane dan sebagian besar ane kutip tutornya buat disini:
https://medium.com/@netomoritzhttps://www.asacrypto.info/2019/04/simpleERC20token.htmlhttps://www.youtube.com/watch?v=k_sQmCNTFuM&list=PLUlb7FZJYF320U_8pIy0EGtR21Zw7l9tW