Author

Topic: [TUTORIAL] Membuat Koin Micin (Token) Sendiri (Read 359 times)

full member
Activity: 588
Merit: 100
Pantas banyak koin-koin micin yang terus bermunculan. Baik yang digunakan untuk menipu berkedok airdrop atau yang memang benar-benar niat membuat proyek koin micin. Toh ternyata caranya mudah di pelajari. Saya pikir sebelum membaca tutorial anda. Membuat koin micin itu cukup rumit. Namun ternyata tidak serumit yang di bayangkan.

Ijin mencoba gan.

Maka dari itu sekarang sangat banyak di jumpai koin seperti itu bahkan saya dapat dari aidrop sampai jutaan koin tapi tidak ada harganya sangat di sayangkan sekali sebenarnya
hero member
Activity: 952
Merit: 779
Pantas banyak koin-koin micin yang terus bermunculan. Baik yang digunakan untuk menipu berkedok airdrop atau yang memang benar-benar niat membuat proyek koin micin. Toh ternyata caranya mudah di pelajari. Saya pikir sebelum membaca tutorial anda. Membuat koin micin itu cukup rumit. Namun ternyata tidak serumit yang di bayangkan.

Ijin mencoba gan.
member
Activity: 252
Merit: 64
Never Mind
~snip~
kalau sudah selesai bounty dan disrtibusi ane leave semua group dari telegram. soalnya jadi tdk focus kalau mau ikut yang baru-baru sehingga kekurangannya yaitu, miss informasi kalau dev ganti contract address seperti di atas.
~snip~
Saya juga seperti itu, om.

~snip~
Jadi kesimpulan ane ketika membaca point2 di atas, begitu mudahnya mereka bikin coin dan token micin yang ane anggap orang-orang biasa pun bisa sehingga sekarang ini tidak aneh kalau tiap hari akan ditemui proyek serupa dan dipasarkan oleh orang biasa, artis, penyanyi, politisi dsb.
Betul, om. Mudah dan murah, makanya juga ketika akan launch suatu token, di grup TG kerap bermunculan smart contract palsu untuk menjebak calon investor.
legendary
Activity: 1526
Merit: 1032
Up to 300% + 200 FS deposit bonuses
~snip~
Oya, mantengin grup TG dari token-token yang kita miliki, itu memang sudah kewajiban kita Om.  Cheesy
~snip~
Saya sendiri karena gabung dengan banyak grup TG jadi sering ada grup terlewat untuk dicek, karena list grup di TG kan sering berubah-ubah urutan posisinya  Grin
kalau sudah selesai bounty dan disrtibusi ane leave semua group dari telegram. soalnya jadi tdk focus kalau mau ikut yang baru-baru sehingga kekurangannya yaitu, miss informasi kalau dev ganti contract address seperti di atas.

Jadi kesimpulan ane ketika membaca point2 di atas, begitu mudahnya mereka bikin coin dan token micin yang ane anggap orang-orang biasa pun bisa sehingga sekarang ini tidak aneh kalau tiap hari akan ditemui proyek serupa dan dipasarkan oleh orang biasa, artis, penyanyi, politisi dsb.
member
Activity: 252
Merit: 64
Never Mind
~snip~
Oya, mantengin grup TG dari token-token yang kita miliki, itu memang sudah kewajiban kita Om.  Cheesy
~snip~
Saya sendiri karena gabung dengan banyak grup TG jadi sering ada grup terlewat untuk dicek, karena list grup di TG kan sering berubah-ubah urutan posisinya  Grin

Contoh kasus token Soku, kasusnya bukan smart contract yang berubah kali ini, tapi upgrade versi program staking dari versi 1 ke versi 2. Developer menghapus halaman yang versi 1, sehingga kita tidak bisa meng-unstake dan menghapus token LP karena proses unstake dan hapus LP harus dari halaman versi 1. Nah, di sini perlunya kita mempelajari smart contract.

Maaf ya om-om semua, bukan bermaksud menggurui, hanya berbagi pengalaman  Grin

Jika mengalami insiden seperti ini, kita masih bisa unstake dan remove LP secara darurat melalui smart contract token tersebut pada blockchain explorer. Proses ini disebut emergency withdraw.
legendary
Activity: 2450
Merit: 1140
duelbits.com
Ada yang tanggung jawab, ada yang nggak om. Kalau yang tanggung jawab biasanya dikirim langsung (airdrop) token barunya. Kalau yang nggak tanggung jawab biasanya sih mereka bikin announce di grup TG (padahal kan kita nggak selalu mantengin TG kan ya? Cheesy ) biasanya mereka minta kirim token lama kita ke alamat wallet tertentu, kemudian mereka akan mengirim token baru sesuai nilai token lama tersebut.
Kalau berdasarkan yang pernah saya alamai, developernya akan memberikan pengumuman di site dan sosial media yang mereka punya, termasuk grup telegram. Mereka akan meminta para holder tokennya untuk mengisi semacam form untuk mengumpulkan data terkait jumlah token dan address wallet untuk mengirim token dengan smartcontact barunya. Hal ini memang penting untuk proses validasi. Oya, mantengin grup TG dari token-token yang kita miliki, itu memang sudah kewajiban kita Om.  Cheesy

legendary
Activity: 2324
Merit: 1604
hmph..
Ada yang tanggung jawab, ada yang nggak om. Kalau yang tanggung jawab biasanya dikirim langsung (airdrop) token barunya. Kalau yang nggak tanggung jawab biasanya sih mereka bikin announce di grup TG (padahal kan kita nggak selalu mantengin TG kan ya? Cheesy ) biasanya mereka minta kirim token lama kita ke alamat wallet tertentu, kemudian mereka akan mengirim token baru sesuai nilai token lama tersebut.
Umumnya sih sekarang ngirim token ke dev jika terjadi pergantian kontrak. Kalau yang airdrop langsung dari sekian banyak token micin yang saya punya, hanya cate coin yang langsung mengirimkan ke wallet. Pengiriman ke wallet dev/smart contract sebernanya rada ngeri-ngeri sedap sih, dikhawatirkan bukan token yang didapat, eh ternyata kita kena 2x scam  udah smart contract ganti, kita diminta kirim buat pengganti, malah dibawa kabur semuanya Tongue
member
Activity: 252
Merit: 64
Never Mind
~snip~
ya ane pernah ngalamin si developer ngerubah smart contract, sehingga token ane dulu gak bisa dikirim. terus kalau sudah begitu apa mereka bertanggung jawab ya?. soalnya ane dulu tanpa ada pemberitahuan apa-apa tau-tau aja diganti.
~snip~
Ada yang tanggung jawab, ada yang nggak om. Kalau yang tanggung jawab biasanya dikirim langsung (airdrop) token barunya. Kalau yang nggak tanggung jawab biasanya sih mereka bikin announce di grup TG (padahal kan kita nggak selalu mantengin TG kan ya? Cheesy ) biasanya mereka minta kirim token lama kita ke alamat wallet tertentu, kemudian mereka akan mengirim token baru sesuai nilai token lama tersebut.
legendary
Activity: 1526
Merit: 1032
Up to 300% + 200 FS deposit bonuses
~snip~
Satu pertanyaan lagi mas, ketika token sudah di deploy, apakah kode pada kontrak sudah tidak bisa diubah lagi? Misal, kita membuat kesalahan token yang kita buat, tidak dapat dijual setelah dibeli. kontrak ini sudah valid seperti ini, jika dev ingin mengubahnya harus membuat ulang atau masih bisa mengubah fungsi?
~snip~
Sudah tidak bisa om, jika kita deploy kembali akan menciptakan smart contract dan address yang baru. Makanya, jika om pernah ikutan (invest) koin micin mungkin pernah mengalami di mana developer mengubah alamat smart contract-nya, contoh proyek FoxGirl yang sampai 3x mengganti alamat smart contract-nya  Grin.
ya ane pernah ngalamin si developer ngerubah smart contract, sehingga token ane dulu gak bisa dikirim. terus kalau sudah begitu apa mereka bertanggung jawab ya?. soalnya ane dulu tanpa ada pemberitahuan apa-apa tau-tau aja diganti.

kl itu ana udah paham bang, cuma ditiap jaringan kan barangkali ada perbedaan kode walaupun sama2 ERC20

nah syukur2 sih yg dibahas jangan cuma ERC20 aja, tapi ERC721, ERC1155, BEP721, BEP1155

Biar kita bareng2 belajar gitu   Smiley
Afaik, kalau seperti erc721 dimana dinamakan NFT kayaknya beda perlakuan deh coba ente cek dimari: https://ethereum.org/en/developers/docs/standards/tokens/erc-721/

~snip~
kl itu ana udah paham bang, cuma ditiap jaringan kan barangkali ada perbedaan kode walaupun sama2 ERC20
~snip~
Sejauh ini yang saya lihat dan setelah saya bandingkan sih tidak ada bedanya om, antara ERC20, BEP20, HRC20, ERC20 (Polygon)

~snip~
nah syukur2 sih yg dibahas jangan cuma ERC20 aja, tapi ERC721, ERC1155, BEP721, BEP1155
Mungkin nanti di thread lain ya om  Grin
Kl menurut ane sih fokus utk pembuatannya dulu bang
Soal DEX sebaiknya di thread lain saja
Karena dari jenis token itu sendiri kan beda2 fungsinya (ownable, mintable, burnable, dll)
apa hubungannya sama dex?.

Nah pembahasan seperti ini yg ana demen, paling ndak kan udah dapat gambaran or sedikit tahu meski tdk praktek langsung
hehehe kalau ngotot di code fitur btt juga ada kok om

Code:
code

- burnable
Burnable hanya menambahkan fungsi untuk burning token, fungsi transfer biasa sih, transfer ke null/zero address atau dead address. Tinggal nanti kita menentukan kapan proses burn nya terjadi, apakah saat terjadi transaksi atau secara manual.
Ini kalau di bitcoin kayaknya sama dengan Op return, misal mengirim coin atau token ke alamat invalid sehingga pemilik tidak dapat lagi mengakses begitu juga penerima karena tiada key-nya
member
Activity: 252
Merit: 64
Never Mind

Nah pembahasan seperti ini yg ana demen, paling ndak kan udah dapat gambaran or sedikit tahu meski tdk praktek langsung
Siap om, bareng-bareng belajar  Grin
full member
Activity: 137
Merit: 100
Iya paham bang, bukan pengkodean yg ana maksud, tp kl ada contoh kan paling tidak bisa memberi sedikit gambaran
OK om, saya jelaskan secara simplenya saja ya, sesuai yang om tanyakan di atas (ownable, mintable, burnable):
- ownable
Umumnya tiap token terdapat fungsi ownable, biasannya digunakan untuk me-renounce si pemilik token. Renounce = mengubah alamat pemilik ke null atau zero address, dengan maksud supanya token tersebut tidak dapat diubah nilai dari variabel yang terdapat di dalamnya, misalnya variabel fee (marketing fee, team fee, charity fee, dan sebagainya).
Kode fungsi ownable:
Code:

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view virtual returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

- mintable
Token jenis mintable biasanya tidak berdiri sendiri, maksudnya proyek token mintable mempunyai tambahan smart contract lain, seperti smart contract MasterChef, TimeLock, atau bahkan sampai bikin Router sendiri.

- burnable
Burnable hanya menambahkan fungsi untuk burning token, fungsi transfer biasa sih, transfer ke null/zero address atau dead address. Tinggal nanti kita menentukan kapan proses burn nya terjadi, apakah saat terjadi transaksi atau secara manual.
contoh kode fungsi burn
Code:
    function buyBackAndBurn(uint256 amount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = uniswapV2Router.WETH();
        path[1] = address(this);

        uint256 initialBalance = balanceOf(marketingWallet);

        // make the swap
        uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(
            0, // accept any amount of Tokens
            path,
            marketingWallet, // Burn address
            block.timestamp.add(300)
        );

        uint256 swappedBalance = balanceOf(marketingWallet).sub(initialBalance);

        _burn(marketingWallet, swappedBalance);

        emit SwapBNBForTokens(amount, path);
    }
Nah pembahasan seperti ini yg ana demen, paling ndak kan udah dapat gambaran or sedikit tahu meski tdk praktek langsung
member
Activity: 252
Merit: 64
Never Mind
Iya paham bang, bukan pengkodean yg ana maksud, tp kl ada contoh kan paling tidak bisa memberi sedikit gambaran
OK om, saya jelaskan secara simplenya saja ya, sesuai yang om tanyakan di atas (ownable, mintable, burnable):
- ownable
Umumnya tiap token terdapat fungsi ownable, biasannya digunakan untuk me-renounce si pemilik token. Renounce = mengubah alamat pemilik ke null atau zero address, dengan maksud supanya token tersebut tidak dapat diubah nilai dari variabel yang terdapat di dalamnya, misalnya variabel fee (marketing fee, team fee, charity fee, dan sebagainya).
Kode fungsi ownable:
Code:

abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view virtual returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

- mintable
Token jenis mintable biasanya tidak berdiri sendiri, maksudnya proyek token mintable mempunyai tambahan smart contract lain, seperti smart contract MasterChef, TimeLock, atau bahkan sampai bikin Router sendiri.

- burnable
Burnable hanya menambahkan fungsi untuk burning token, fungsi transfer biasa sih, transfer ke null/zero address atau dead address. Tinggal nanti kita menentukan kapan proses burn nya terjadi, apakah saat terjadi transaksi atau secara manual.
contoh kode fungsi burn
Code:
    function buyBackAndBurn(uint256 amount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = uniswapV2Router.WETH();
        path[1] = address(this);

        uint256 initialBalance = balanceOf(marketingWallet);

        // make the swap
        uniswapV2Router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(
            0, // accept any amount of Tokens
            path,
            marketingWallet, // Burn address
            block.timestamp.add(300)
        );

        uint256 swappedBalance = balanceOf(marketingWallet).sub(initialBalance);

        _burn(marketingWallet, swappedBalance);

        emit SwapBNBForTokens(amount, path);
    }
full member
Activity: 137
Merit: 100
Kl menurut ane sih fokus utk pembuatannya dulu bang
Soal DEX sebaiknya di thread lain saja
Karena dari jenis token itu sendiri kan beda2 fungsinya (ownable, mintable, burnable, dll)
Rencananya di thread ini tidak akan membahas teknis pengkodean, om. Untuk token dengan fungsi lain-lain tersebut, seperti disampaikan pada awal thread, kita tinggal nyomot kode sumber dari smart contract (token) yang sudah exist.
Iya paham bang, bukan pengkodean yg ana maksud, tp kl ada contoh kan paling tidak bisa memberi sedikit gambaran
member
Activity: 252
Merit: 64
Never Mind
Kl menurut ane sih fokus utk pembuatannya dulu bang
Soal DEX sebaiknya di thread lain saja
Karena dari jenis token itu sendiri kan beda2 fungsinya (ownable, mintable, burnable, dll)
Rencananya di thread ini tidak akan membahas teknis pengkodean, om. Untuk token dengan fungsi lain-lain tersebut, seperti disampaikan pada awal thread, kita tinggal nyomot kode sumber dari smart contract (token) yang sudah exist.
full member
Activity: 137
Merit: 100
~snip~
kl itu ana udah paham bang, cuma ditiap jaringan kan barangkali ada perbedaan kode walaupun sama2 ERC20
~snip~
Sejauh ini yang saya lihat dan setelah saya bandingkan sih tidak ada bedanya om, antara ERC20, BEP20, HRC20, ERC20 (Polygon)

~snip~
nah syukur2 sih yg dibahas jangan cuma ERC20 aja, tapi ERC721, ERC1155, BEP721, BEP1155
Mungkin nanti di thread lain ya om  Grin
Kl menurut ane sih fokus utk pembuatannya dulu bang
Soal DEX sebaiknya di thread lain saja
Karena dari jenis token itu sendiri kan beda2 fungsinya (ownable, mintable, burnable, dll)
member
Activity: 252
Merit: 64
Never Mind
~snip~
kl itu ana udah paham bang, cuma ditiap jaringan kan barangkali ada perbedaan kode walaupun sama2 ERC20
~snip~
Sejauh ini yang saya lihat dan setelah saya bandingkan sih tidak ada bedanya om, antara ERC20, BEP20, HRC20, ERC20 (Polygon)

~snip~
nah syukur2 sih yg dibahas jangan cuma ERC20 aja, tapi ERC721, ERC1155, BEP721, BEP1155
Mungkin nanti di thread lain ya om  Grin
full member
Activity: 137
Merit: 100
Itu token ERC20 jaringan ETH ya bang, waduh kl bikin token beneran pasti biayanya mahal

kl boleh request sih cara bikin token di jaringan lain juga bang, seperti BSC, Solana, AVAX, Polkadot, Polygon dll

Kalau untuk BSC, Polygon, Heco, Fantom, Halo, (apalagi ya?)  Grin sama saja om, karena mereka adaptasi teknis ERC-20 nya ETH. Tinggal mengubah koneksi jaringannya ke jaringan mainet mereka (saat akan deploy), dan jika terdapat fungsi untuk exchange DEX pada kode sumber, pastikan mengubah alamat router dari exchange yang melayanai jaringan tersebut.
kl itu ana udah paham bang, cuma ditiap jaringan kan barangkali ada perbedaan kode walaupun sama2 ERC20

nah syukur2 sih yg dibahas jangan cuma ERC20 aja, tapi ERC721, ERC1155, BEP721, BEP1155

Biar kita bareng2 belajar gitu   Smiley
member
Activity: 252
Merit: 64
Never Mind
Itu token ERC20 jaringan ETH ya bang, waduh kl bikin token beneran pasti biayanya mahal

kl boleh request sih cara bikin token di jaringan lain juga bang, seperti BSC, Solana, AVAX, Polkadot, Polygon dll

Kalau untuk BSC, Polygon, Heco, Fantom, Halo, (apalagi ya?)  Grin sama saja om, karena mereka adaptasi teknis ERC-20 nya ETH. Tinggal mengubah koneksi jaringannya ke jaringan mainet mereka (saat akan deploy), dan jika terdapat fungsi untuk exchange DEX pada kode sumber, pastikan mengubah alamat router dari exchange yang melayanai jaringan tersebut.
full member
Activity: 137
Merit: 100
Itu token ERC20 jaringan ETH ya bang, waduh kl bikin token beneran pasti biayanya mahal

kl boleh request sih cara bikin token di jaringan lain juga bang, seperti BSC, Solana, AVAX, Polkadot, Polygon dll
member
Activity: 252
Merit: 64
Never Mind
~snip~
Satu pertanyaan lagi mas, ketika token sudah di deploy, apakah kode pada kontrak sudah tidak bisa diubah lagi? Misal, kita membuat kesalahan token yang kita buat, tidak dapat dijual setelah dibeli. kontrak ini sudah valid seperti ini, jika dev ingin mengubahnya harus membuat ulang atau masih bisa mengubah fungsi?
~snip~
Sudah tidak bisa om, jika kita deploy kembali akan menciptakan smart contract dan address yang baru. Makanya, jika om pernah ikutan (invest) koin micin mungkin pernah mengalami di mana developer mengubah alamat smart contract-nya, contoh proyek FoxGirl yang sampai 3x mengganti alamat smart contract-nya  Grin.
legendary
Activity: 2324
Merit: 1604
hmph..
Sama om, om bisa coba dengan mengubah pilihan jaringan di MetaMask, misalnya alihkan ke BSC kemudian deploy dari REMIX-nya. Besaran fee tergantung ukuran berkas kode sumbernya, semakin banyak fungsi di dalam kode sumber biasanya fee semakin mahal, tetapi... ukuran berkas ini juga dibatasi (ada nilai maksimal untuk ukurannya), ya kurang lebih maksimalnya 2x dari kode sumber yg dibahas di artikel ini.

Oh, oke saya paham sekarang, saya pikir dulu bergantung pada jumlah suplai  Grin

Satu pertanyaan lagi mas, ketika token sudah di deploy, apakah kode pada kontrak sudah tidak bisa diubah lagi? Misal, kita membuat kesalahan token yang kita buat, tidak dapat dijual setelah dibeli. kontrak ini sudah valid seperti ini, jika dev ingin mengubahnya harus membuat ulang atau masih bisa mengubah fungsi?

-snip-
Kecuali jika market yang dibidik adalah exchange diluar Yurisdiksi Indonesia, maka perijinan dari Bappebti bisa dilewati  Grin.
Kalau membidik market luar, proyek Indonesia sekarang rada susah, karena sering kali proyek "cibaduyut" berakhir dengan rug, itupun kalau komunitas Indonesia sadar kalau proyeknya dari anak Indonesia, kebanyakan akan langsung di FUD di grup.
legendary
Activity: 2254
Merit: 2253
From Zero to 2 times Self-Made Legendary
Klo tujuan dari pembuatan token/coin hanya untuk iseng-iseng atau sekedar bahan eksperimen maka tidak diperlukan perijinan khusus, tapi klo tujuannya untuk bisa diperdagangkan di market (exchange) Crypto di Indonesia, maka token/coin harus mendapatkan legalitas sesuai dengan ketentuan Peraturan Nomor 7 Tahun 2020 Tentang Penetapan Daftar Aset Kripto Yang Dapat Diperdagangkan Di Pasar Fisik Aset Kripto yang dikeluarkan oleh Bappebti. Kecuali jika market yang dibidik adalah exchange diluar Yurisdiksi Indonesia, maka perijinan dari Bappebti bisa dilewati  Grin.
member
Activity: 252
Merit: 64
Never Mind
...
yang ingin saya tanyakan mengenai fee, apakah fee deploy di mainnet dengan testnet itu sama mas?
...
Sama om, om bisa coba dengan mengubah pilihan jaringan di MetaMask, misalnya alihkan ke BSC kemudian deploy dari REMIX-nya. Besaran fee tergantung ukuran berkas kode sumbernya, semakin banyak fungsi di dalam kode sumber biasanya fee semakin mahal, tetapi... ukuran berkas ini juga dibatasi (ada nilai maksimal untuk ukurannya), ya kurang lebih maksimalnya 2x dari kode sumber yg dibahas di artikel ini.

... ongkos pembuatan token sendiri dengan menggunakan layanan pembuatan token instant yang banyak ditemukan sekarang ini bisa dibilang biayanya jauh lebih mahal...

Betul om, jasa-jasa pembuatan token biasanya mematok setidaknya 1BNB. Pertanyaan om ini jawabannya nantinya akan jadi bahan penutup (conclusion) artikel Grin untuk yang mau belajar bikin token sendiri supaya nantinya bisa bikin penyedia jasa seperti yang om sebut di pertanyaan.
legendary
Activity: 2688
Merit: 1262
-snip-
Keknya kalo itu mah udah inclueded biaya service.

Ada beberapa thread yang ane cari mengenai depoly token, hal menarik disini : https://forum.openzeppelin.com/t/how-much-gas-is-required-to-deploy-token-or-crowdsale/5984/2 yang dimana gas transaksi yang digunakan juga tergantung dari tingkat kesulitan dari contract itu sendiri.

Keknya kalo contract macem micin2 yang paling script kidie dari contract laen, jadi yah kek bayar biaya transaksi ajh kayaknya macem 20$ an lah kalo buat BSC.
legendary
Activity: 2324
Merit: 1604
hmph..
yang saya penasaran akhirnya ada threadnya, tapi saya ga minat sih bikin token, cuma pengen tau aja prosesnya. yang ingin saya tanyakan mengenai fee, apakah fee deploy di mainnet dengan testnet itu sama mas?

Kalau memang sama, ongkos pembuatan token sendiri dengan menggunakan layanan pembuatan token instant yang banyak ditemukan sekarang ini bisa dibilang biayanya jauh lebih mahal. Saya sempat membuka website penyedia pembuatan token instant di jaringan BNB, biayanya sekitar 2 BNB dengan berbagai fungsi yang disematkan (auto burn, auto distribution ke holder).
member
Activity: 252
Merit: 64
Never Mind
Diamankan untuk pembaruan
member
Activity: 252
Merit: 64
Never Mind

Halo Indonesia,

Belakangan ini ramai istilah "Koin Micin", apa sih? Koin Micin ini merujuk kepada token-token yang dibuat pada jaringan BSC (Binance Smart Coin) yang biasanya token ini mempunyai total pasokan (supply) yang besar, milyar, triliun, kuadriliun, bahkan kuintiliun. Lha itu kan token, kenapa bisa disebut "Koin Micin", mohon dimaafkan keawaman yang terjadi di masyarakat yang tidak bisa membedakan koin dan token. Saya tidak perlu menuliskan perbedaannya kan?

Lanjut, setelah sukses dengan artikel tutorial perdana saya, 2 (dua) tahun yang lalu, [TUTORIAL] Cara Staking Koin Lengkap, kali ini saya ingin menulis artikel sesuai judul topik ini. Kita akan membuat "Token Micin" dari awal. Sebetulnya sudah ada artikel dengan tema ini sebelumnya yaitu di sini: https://bitcointalksearch.org/topic/tutorial-cara-membuat-cryptocurrency-anda-sendiri-newbie-version-2964599. Namun sepertinya dengan perkembangan sekarang ini saya merasa artikel tersebut sudah kurang relevan.

Artikel ini akan benar-benar mengulas dari awal, dari mulai pembuatan dompet (wallet) sampai ke bagaimana "Koin Micin" bisa diperdagangkan. Oleh karenanya tutorial ini akan dibagi menjadi 11 (sebelas) episode:

#1  Menyiapkan Wallet MetaMask
#2  Mencari Ropsten Faucet
#3  Menyiapkan Kode Sumber
#4  Melihat Kode Sumber
#5  Memulai Pengembangan
#6  Penyesuaian dan Publikasi Token ke Jaringan
#7  Verifikasi Token di Jaringan
#8  Transfer Token
#9  Membuat Likuiditas Token di DEx (Decentralized Exchange)
#10  Menjual Token di DEx
#11  Membeli Token di DEx

Baik, kita mulai episode pertama.

#1 Menyiapkan Wallet Metamask

Wallet MetaMask digunakan untuk menyimpan koin dan/atau token Anda yang kemudian digunakan untuk persetujuan transaksi (jual, beli, transfer, dsb) koin dan/atau token yang Anda simpan. Untuk memasang wallet Metamask, sila kunjungi https://metamask.io melalui browser Anda. Saya merekomendasikan menggunakan browser Mozilla Firefox agar selaras dengan ilustrasi-ilustrasi yang akan disertakan pada artikel ini.

Klik tombol Download now!


Klik Install MetaMask for Firefox!


Kemudian klik Add to Firefox!


Klik tombol Add saat tampil notifikasi! Pada bilah alat (toolbar) Firefox akan bertambah tombol ikon MetaMask, klik pada tombol ikon tersebut!


Klik Get Started untuk memulai pengaturan wallet MetaMask Anda!


Klik Create a Wallet untuk membuat wallet baru!


Klik I Agree!


Masukkan New password dan Confirm password yang akan digunakan untuk login pertama kali saat menggunakan MetaMask. Centang I have read and agree to the Terms of User, kemudian klik Create!


Klik Next untuk masuk ke langkah berikutnya!


Selanjutnya simpan Secret Recovery Phrase dengan mengklik CLICK HERE TO SECRET WORDS dilanjutkan dengan klik tombol Next. Atau Anda dapat melewati langkah ini dulu dengan mngeklik Remind me later. Sampai di sini pembuatan wallet Anda sudah selesai.


Mari kita lihat wallet anda pada blockchain explorer dengan mengklik tombol menu di sudut kanan atas jendela MetaMask kemudian klik menu View Account on Etherscan.


Pada blockchain explorer Anda dapat memeriksa semua transaksi yang terjadi pada wallet Anda nantinya.
Selanjutnya kita kembali ke aplikasi wallet MetaMask. Kita akan mengaktifkan opsi untuk menampilkan jaringan (blockchain) test pada MetaMask.


Klik pada dropdown Networks, kemudian klik Show/hide test networks.


Centang pada radio Show test networks!


Klik kembali dropdown Networks dan kini sudah terdapat beberapa item network baru, klik pada Ropsten Test Network untuk pengubahan jaringan terpilih (aktif). Ya pada tutorial kali ini kita akan menggunakan jaringan Ropsten Test Network untuk membangun "Koin Micin" kita.


Pembahasan episode #1 selesai, jika Anda masih kurang paham, sila tonton videonya di sini: https://www.youtube.com/watch?v=EzA0xAQc-b0
*****

#2  Mencari Ropsten Faucet

Setiap transaksi yang memerlukan proses pencatatan pada blockchain akan dikenakan biaya (fee), untuk itu, wallet Anda harus mempunyai saldo yang cukup untuk menutupi biaya tersebut. Wallet baru tentu saja tidak akan mempunyai saldo sama sekali. Episode ini akan menerangkan bagaimana mendapatkan saldo koin ETH (Ethereum) secara gratis. Ya gratis, tetapi koin ini hanya berlaku di jaringan test, tidak dapat digunakan di jaringan utama (live/main), karena beda alam.
Untuk mencari koin gratis ini cukup mudah, cukup buka browser Anda kemudian googling kata kunci "ropsten faucet". Namun sebelum itu, salin lebih dulu alamat wallet Anda di MetaMask.


Klik pada nama akun untuk menyalin alamat wallet pada clipboard.


Googling "ropsten faucet" kemudian buka satu per satu situs yang ditampilkan pada hasil pencarian.


Anda tinggal mengikuti instruksi yang ditentukan oleh pemilik situs, kemudian tunggu beberapa saat. Dan…


Selamat, Anda sudah punya saldo pada wallet Anda.
Bingung? Tonton videonya di sini: https://www.youtube.com/watch?v=sl3Q4eGbFJw
*****

#3  Menyiapkan Kode Sumber

ATM (Amati Tiru Modifikasi) metode popular ini sangat cocok digunakan pada proses pengembangan (development) "Koin Micin". Dengan menjamurnya "Koin Micin" di pasaran, memudahkan pengembang untuk memilih kode sumber yang akan digunakan, alih-alih menulis kode dari awal. Tentunya disesuaikan dengan tokenomik proyek yang sedang dibangun.
Bagaimana caranya menyiapkan kode sumber? Anda boleh menuju situs-situs yang menyediakan daftar proyek "Koin Micin", misalnya https://coinsniper.net.


Klik pada salah satu baris proyek untuk melihat detil proyek.


Klik pada Visit Website untuk mengunjungi situs pengembang (developer).


Sila pelajari proyek "Koin Micin" tersebut, seperti pasokan, alokasi dan distribusi token, termasuk besaran biaya (fee) yang dikenakan, imbalan (reward), dan sebagainya. Setelah dirasa sesuai, cari tahu alamat kontrak cerdas (smart contract) token tersebut di jaringan, kemudian lihat kode sumbernya di blockhain explorer tempat token tersebut di-deploy.
Dalam memilih proyek yang akan ditiru kode sumbernya, sebaiknya perhatikan tips berikut ini:
-   Token sudah terdaftar di situs listing kripto seperti https://coinmarketcap.com atau https://www.coingecko.com.
-   Kode sumber sudah melalui audit pihak ketiga seperti Certix, Quantstamp, Fairyproof, dan sebagainya.
-   Token sudah diperdagangkan di exchange baik DEX maupun CEX, lebih bagus kalua sudah keduanya dengan market yang baik.


Sebagai contoh saya akan meniru proyek dari Litle Baby Doge (dengan ini saya menyatakan tidak berafiliasi dengan proyek ini). Token ini dibangun di jaringan Binance Smart Chain (BSC), maka kita bisa lihat kode sumbernya di https://bscscan.com.
Tutorial video: https://www.youtube.com/watch?v=SIiOtrgxJ20
*****

#4  Melihat Kode Sumber

Mari kita lihat kode sumber proyek yang akan kita tiru.


Di situs https://bscscan.com, tempel alamat smart contract token tersebut pada kotak pencarian.


Kita akan dibawa ke halaman rincian informasi token yang bersangkutan. Klik pada tab Contract untuk melihat kode sumbernya.


Seperti di atas tampilan kode sumber dari sebuah token. Kode sumber hanya akan terlihat pada token (smart contract) yang sudah diverifikasi di mana ditandai dengan centang hijau pada tulisan tab Contract.


Klik tombol copy source to clipboard untuk menyalin kode sumbernya.
Tutorial video: https://www.youtube.com/watch?v=J4xYpgV2KLU
*****

#5 Memulai Pengembangan

Baik, kini kita sampai ke fase pengembangan token. Anda tidak perlu memasang (install) IDE atau GUI apapun, Anda cukup buka https://remix.ethereum.org melalui browser.


IDE (Integrated Development Environment) Remix terdiri dari 4 (empat) tab tersusun vertikal, di antaranya: FILE EXPLORERS, SOLIDITY COMPILER, DEPLOY & RUN TRANSACTIONS, dan PLUGIN MANAGER.
Untuk menulis kode sumber dilakukan di tab FILE EXPLORERS. Secara default, REMIX sudah membuatkan workspace yang mempunyai beberapa folder dan file untuk pengembangan. Untuk memulai pengembangan sebuah proyek, sebaiknya kita membuat sebuah workspace baru.


Klik tombol plus (+) pada bidang Workspace untuk menciptakan workspace baru.


Kemudian tuliskan nama workspace baru Anda.


Hapus saja semua berkas-berkas yang otomatis tercipta saat pembuatan workspace baru.


Kemudian buat berkas baru pada dengan mengklik kanan cabang contract kemudian pilih menu New File.


Beri nama berkas baru tersebut, misalnya KoinMicin.sol.


Selanjutnya tempel kode sumber token yang sudah Anda salin sebelumnya dengan menekan tombol Ctrl+V.
Tutorial Video: https://www.youtube.com/watch?v=gi-ipKAcpe0
*****

#6 Penyesuaian dan Publikasi Token ke Jaringan

Kita lanjutkan pengembangan, sekarang kita sesuaikan kode sumber sesuai dengan spesifikasi tokenomik proyek kita.


Kita mulai dengan mengubah nama kontrak, dari sebelumnya LitleBabyDoge menjadi KoinMicin (sesuaikan dengan nama proyek yang Anda buat.


Selanjutnya ubah instrument-instrumen lain seperti nama token, simbol, decimal, pasokan (supply) nilai pajak, alamat wallet tim, dan sebagainya.


Saya melakukan perubahan pada variabel-variabel: _name, symbol, marketingAddress, dan charityAddress.
Baik, kita cukupkan perubahan itu saja dulu, selanjutnya kita masuk ke proses kompilasi. Klik tab Solidity Compiler (tombol ke tiga dari atas pada bilah alat panel sisi kiri) untuk masuk ke jendela Solidity Compiler.


Ubah dropdown COMPILER, usahakan pilih versi compiler terbaru, dan jangan lupa sesuaikan pengaturan compiler ini dengan kode sumber pada baris pragma solidity {versi}.


Ubah EVM VERSION ke london dan centang opsi Enable optimation, terakhir klik tombol Compile nama_berkas untuk memulai proses kompilasi.


Jika tidak ditemukan error pada kode sumber maka tombol tab akan dibubuhi centang hijau. Selanjutnya kita masuk ke proses berikutnya yaitu penyebaran (deployment). Proses deployment adalah proses merekam kode sumber di jaringan blockchain sehingga smart contract (token) yang Anda kembangkan siap digunakan.


Klik tab Deploy & Run Transactions, kemudian lakukan pengaturan-pengaturan berikut ini.


Ubah Environment ke Injected Web3.


Maka pada kolom Account akan tampil alamat wallet Anda di MetaMask.


Ubah kolom Contract ke berkas kode sumber.


Jangan lupa untuk selalu memeriksa nama contract yang tampil pada kolom Contract, jangan sampai salah memilih nama contract. Terakhir klik tombol Deploy untuk memulai proses deployment.


Jika Anda mendapatkan dialog seperti ilustrasi di atas, batalankan proses deployment karena dipastikan akan mengalami kegagalan proses jika dilanjutkan. Pesan ini menandakan masih ada kesalahan pada kode sumber.
Lho kesalahan (error) apa? Padahal sudah berhasil pada saat proses kompilasi.


Ini contoh kegagalan yang terjadi jika proses dipaksa untuk dilanjutkan. Mari periksa kembali kode sumber Anda.


Kesalahan terjadi pada nilai variabel _uniswapV2Router. Dari mana saya tahu? Ingat, kita menyalin kode sumber dari jaringan live, sementara kita melakukan pengembangan pada jaringan test. Alamat wallet _uniswapV2Router yang tertera pada kode sumber adalah alamat pada jaringan live. Maka ubah alamat _uniswapV2Router menjadi alamat pada jaringan test.


Lakukan proses kompilasi kode sumber kembali, kemudian ulangi lagi proses deployment.


Jika sudah tidak ditemukan lagi masalah, maka browser akan mengontak wallet MetaMask untuk konfirmasi penggunaan sejumlah biaya untuk proses deployment. Klik tombol Confirm untuk mengonfirmasi persetujuan proses. Catat besaran biaya yang dibutuhkan ya! Cheesy


Setelah proses deployment selesai, akan tampil pop-up di kanan bawah browser Anda. Klik pop-up tersebut untuk melihat rangkuman transaksi pada blockchain explorer.


Klik pada nama token untuk melihat token baru Anda.


Klik pada alamat token baru Anda dan Anda akan melihat informasi token baru Anda.


Selesai. Langkah selanjutnya adalah proses verifikasi kode sumber smart contract (token) Anda.
Tutorial video: https://www.youtube.com/watch?v=Ye4lP3ELpPw
*****

#7  Verifikasi Token di Jaringan

Token (Smart Contract) yang telah tersimpan di blockchain selanjutnya perlu melalui proses verifikasi. Proses ini dilakukan agar kode sumber dari Token (Smart Contract) tersebut menjadi terbuka dan dapat dilihat semua orang. Tujuannya untuk mengurangi kekhawatiran calon investor apabila terdapat kode-kode curang pada Token (Smart Contract), seperti misalnya: manipulasi pajak atau saldo, manipulasi transaksi di mana token tidak dapat dijual kembali, pencurian data atau aset, dan sebagainya.
Jika Anda ada pada posisi calon investor, maka jangan pernah mau untuk berinvestasi pada token yang belum melewati proses verifikasi.


Untuk melakukan proses verifikasi, buka alamat token Anda pada blockchain explorer kemudian klik tab Contract, klik tautan (link) Verify Your Contract Source Code.


Sesuaikan pengaturan-pengaturan yang diminta.


Sesuaikan Compiler Version dengan versi Compiler pada saat pengembangan.


Sesuaikan Open Source License Type dengan jenis lisensi yang tertulis pada kode sumber.




Setelah semua sudah sesuai, klik tombol Continue.


Ubah Optimization menjadi Yes (sesuaikan dengan pengaturan pada REMIX saat pengembangan). Buka kembali IDE REMIX, salin semua kode sumber token Anda. Kemudian tempel pada kotak Enter the Solidity Code below.


Periksa kembali semua pengaturan.


klik tombol Verify and Publish jika diras semuanya sudah benar, kemudian tunggu sampai proses verifikasi selesai.


Jika proses verifikasi berhasil maka akan ditampilkan halaman seperti ilustrasi di atas.


Kembali ke explorer dari alamat token Anda dan Anda dapat melihat info kode sumber token Anda sudah terverifikasi.
Sekarang mari tambahkan token Anda pada MetaMask. Salin alaman token Anda.


Klik ikon MetaMask pada browser kemudian klik Import tokens.


Tempel alamat token Anda kemudian klik Add Custom Token.


Klik Import Tokens untuk mendaftarkan token Anda pada wallet MetaMask.

Silakan mencoba transfer token Anda ke alamat lain.
Tutorial Video: https://www.youtube.com/watch?v=kvOuUD6u0uc
*****

Pembahasan episode lainnya:
#8  Transfer Token
#9  Membuat Likuiditas Token di DEx (Decentralized Exchange)
#10  Menjual Token di DEx
#11  Membeli Token di DEx

Kita lanjut nanti ya, tapi bila sudah tidak sabar boleh langsung tonton tutorial videonya saja
#8  Transfer Token: https://www.youtube.com/watch?v=o0qBzoYlUgs
#9  Membuat Likuiditas Token di DEx (Decentralized Exchange): https://www.youtube.com/watch?v=2Ze0KJ5s0pk
#10  Menjual Token di DEx: https://www.youtube.com/watch?v=XE3YbVAMP0s
#11  Membeli Token di DEx: https://www.youtube.com/watch?v=g3CxMkEP-B4

*****
Catatan: Kanal (channel) sumber tutorial video adalah kanal milik penulis.
Jump to: