Author

Topic: [Guide] Mint & Burn ERC20 pakai OpenZeppelin (Tinggal Klik) (Read 192 times)

legendary
Activity: 1932
Merit: 1273
Betul. Seingat ane, bahkan dulu pernah sempet liat juga website seperti ini, tetapi untuk template smart contract yang khusus untuk scam, semacam modelan token Squid Game.
Apakah templatenya tidak bisa diubah sepenuhnya mas? kan kalau masih dalam bentuk template yang mentah codingnya kan bisa diubah secara keseluruhan, jadi untuk coding-coing yang sifatnya untuk scam bisa diubah ke yang versi normal agar bisa melakukan transaksi sebagaimana mestinya?
Mengenai itu saya kurang tahu pasti, sepertinya masih bisa. Nah, masalahnya ya tujuan pembuatan smart contract ini untuk sekem mas, jadi memang dikhususkan untuk itu.

Saya baru inget lagi, untuk istilahnya "honeypot smart contract".

Terus, bagaimana dengan pembuatan token dari pihak penyedia, apakah tetap aman?
Untuk kasus seperti di atas, sudah pasti tidak aman. Ada kemungkinan juga pihak penyedialah yang mau ngescam para calon scammer-nya Grin
copper member
Activity: 2310
Merit: 2133
Slots Enthusiast & Expert
Terus, bagaimana dengan pembuatan token dari pihak penyedia, apakah tetap aman? Kayanya ada beberapa web yang bisa melakukan pembuatan token instant, tapi harga layanannya cukup mahal sih dibandingkan dengan coding sendiri.
Ane pernah lihat beberapa web untuk bikin token, hanya saja selain dari segi biaya, dari segi keamanan masih dipertanyakan. Kalau dari OpenZeppelin katanya "best practice" dan "industry standard," dan sudah banyak dipakai di tutorial-tutorial dan web belajar dapp. Hanya saja ane tidak menjamin apapun DYOR & DWYOR karena ane tidak melakukan audit pada library-library mereka.

https://github.com/OpenZeppelin/openzeppelin-contracts (sepertinya sudah cukup reputable). Kalau untuk kontrak dasar yang ada di wizard keknya sudah sangat membantu sehingga kita tidak perlu lagi koding dari nol, tidak perlu juga pakai pihak ketiga untuk sekedar bikin token.
legendary
Activity: 2198
Merit: 1592
hmph..
Betul. Seingat ane, bahkan dulu pernah sempet liat juga website seperti ini, tetapi untuk template smart contract yang khusus untuk scam, semacam modelan token Squid Game.
Apakah templatenya tidak bisa diubah sepenuhnya mas? kan kalau masih dalam bentuk template yang mentah codingnya kan bisa diubah secara keseluruhan, jadi untuk coding-coing yang sifatnya untuk scam bisa diubah ke yang versi normal agar bisa melakukan transaksi sebagaimana mestinya?

Terus, bagaimana dengan pembuatan token dari pihak penyedia, apakah tetap aman? Kayanya ada beberapa web yang bisa melakukan pembuatan token instant, tapi harga layanannya cukup mahal sih dibandingkan dengan coding sendiri.
legendary
Activity: 1932
Merit: 1273
Yap, untuk informasi lengkapnya bisa coba langsung cek aja di halaman dokumentasi OpenZeppelin-nya.

Gampang banget kan bikin token? Makanya harus benar-benar hati-hati kalau mau beli token.

Betul. Seingat ane, bahkan dulu pernah sempet liat juga website seperti ini, tetapi untuk template smart contract yang khusus untuk scam, semacam modelan token Squid Game.
copper member
Activity: 2310
Merit: 2133
Slots Enthusiast & Expert
^Atas ane cepet banget dan betul.
Pada "Premint" di OpenZeppelin ane memasukkan 1000 dan betul hasilnya 1000 ROY karena:

Code:
constructor() ERC20("SFIToken", "ROY") {
        _mint(msg.sender, 1000 * 10 ** decimals());
    }

Sudah dihitung di smart contract menggunakan syntax di atas, akan tetapi untuk interaksi lanjutan belum diubah alias masih uint256. Maka dari itu untuk mint dan burn yang menggunakan template OpenZeppelin harus menggunakan perhitungan agan @vv181.

Gampang banget kan bikin token? Makanya harus benar-benar hati-hati kalau mau beli token.
legendary
Activity: 1932
Merit: 1273
Pada contoh ane coba mint 1000 token, tapi yang masuk hanya 0.000000000000001 ROY
Ada yang tahu kenapa?

Symbol ROY, Desimal 18

Karena dalam smart contract tidak mengenal bilangan desimal, hanya bilangan bulat. Token ROY menggunakan desimal 18, maka minting dengan jumlah 1000, itu sama dengan 1000/10^18 = 1E-15, 1E-15 atau 0.000000000000001.

jika ROY ingin di-mint sebanyak 1000 tokens, maka jumlah yang harus dimasukan adalah 1000*10^18 = 1E21 atau 1000000000000000000000 (1000 + 0 sebanyak 18x).

copper member
Activity: 2310
Merit: 2133
Slots Enthusiast & Expert
Panduan kali ini membahas:
* Penggunaan template smart contract di OpenZeppelin (https://wizard.openzeppelin.com/)
* Compile & Deploy smart contract via remix (https://remix.ethereum.org/)
* Berinteraksi dengan smart contract yang sudah dideploy

Bonus karena pakai BSC testnet (tidak harus pakai BSC, jaringan apa aja yang mendukung standar ERC bisa)
* Ambil BSC testnet coin (https://testnet.binance.org/faucet-smart)
* Setup Metamask BSC testnet


0. Setup Metamask (BSC Testnet)


Pada Network, masukkan informasi berikut:
Quote
* Network Name: BSC Testnet
* New RPC URL: https://data-seed-prebsc-1-s1.binance.org:8545
* ChainID: 97
* Symbol: BNB
* Block Explorer URL: https://testnet.bscscan.com/

Kemudian minta sedikit saldo di https://testnet.binance.org/faucet-smart
Metamask pun berisi koin testnet dan siap untuk dipakai
Kalau ane dikirim 0.5 BNB Testnet


1. Generate Kontrak di OpenZeppelin (Pakai Wizard)

Kunjungi https://wizard.openzeppelin.com/ untuk membuat smart contract

* Pilih mau ERC20, ERC721, dsb, pada contoh ini pakai ERC20
* Inputkan nama token, simbol ticker, premint alias jumlah token awal, dan fitur. Dalam kasus ini ane centang mintable agar bisa dimint, burnable agar bisa diburn, dan pausable agar token tidak bisa berpindah tangan (berguna ketika ada hack dsb) - (1).
* Agan bisa copy kodenya di kolom (2) lalu manual paste di remix, atau
* Pakai (3) "Open in Remix" biar langsung terbuka di sana


2. Compile Kode tsb di Remix


* Pastikan versinya sama antara compiler dengan kode dari OpenZeppelin, dalam kasus ini pragma solidity ^0.8.4;
* Tekem Compile.


3. Deploy Hasil Compile


* Jangan lupa hubungkan dengan MetaMask di "Environment"
* Biarkan Gas Limit (Ini kalau live/bukan testnet tergantung kondisi jaringan) dan Value default.
* Pastikan Contract yang mau dideploy adalah yang namanya sama dengan jendela yang terbuka. Dalam kasus ini "SFIToken - ....."
* Tekem tombol "Deploy"


4. Cek ROY Token di BSCSCAN Testnet


https://testnet.bscscan.com/token/0xd13ded934b2750a041a4d7d0791d6b04c4ce740a
Ingat alamat kontraknya (0xd13ded934b2750a041a4d7d0791d6b04c4ce740a) untuk berinteraksi lanjutan seperti mint dan burn.


5. Coba Mint dan Burn via Remix


Pada Bagian:
Quote
OR
At Address
Isikan dengan alamat kontrak 0xd13ded934b2750a041a4d7d0791d6b04c4ce740a
Maka akan terbuka opsi-opsi seperti mint, burn, dll.
Sesudah input data tinggal tekem "transact" aja

Pada contoh ane coba mint 1000 token, tapi yang masuk hanya 0.000000000000001 ROY
Ada yang tahu kenapa? (Berhadiah Merit)


Bonus:
6. Setup ROY Token di MetaMask

Buat yang belum tau aja kalau token tadi harus diimport dulu di MetaMask agar terbaca

Klik Import


Isikan dengan alamat kontrak kita tadi 0xd13ded934b2750a041a4d7d0791d6b04c4ce740a
Symbol ROY, Desimal 18
Jump to: