Cara Deploy Token ERC-721 Baru di Lisk
Panduan ini menggunakan Remix IDE untuk pengembangan smart contract, tetapi Anda bebas memilih framework pengembangan smart contract lain sesuai preferensi Anda untuk mengimplementasikan contract token Anda.
1. Buka Remix
Akses Remix di browser Anda.
2. Buat File Baru
Di dalam folder contracts
, klik tombol 📄 ("Buat file baru") untuk membuat file Solidity kosong baru.
Anda dapat memberikan nama file sesuai keinginan, misalnya, MyItems.sol
.
3. Salin Contoh Contract
Salin contoh contract berikut ke dalam file baru Anda:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.28;
import "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";
contract MyItems is ERC1155 {
uint256 public constant GOLD = 0;
uint256 public constant SILVER = 1;
uint256 public constant THORS_HAMMER = 2;
uint256 public constant SWORD = 3;
uint256 public constant SHIELD = 4;
constructor() ERC1155("https://game.example/api/item/{id}.json") {
_mint(msg.sender, GOLD, 10**18, "");
_mint(msg.sender, SILVER, 10**27, "");
_mint(msg.sender, THORS_HAMMER, 1, "");
_mint(msg.sender, SWORD, 10**9, "");
_mint(msg.sender, SHIELD, 10**9, "");
}
}
Pada contoh diatas, Gold, Silver, Sword, dan Shield adalah token yang dapat dipertukarkan (fungible token), sedangkan Thor’s Hammer adalah token yang tidak dapat dipertukarkan (non-fungible token) karena kami hanya mint satu unit.
Sebuah URI yang menunjuk ke metadata JSON dari item/token yang berbeda harus ditentukan dalam konstruktor, lihat API contract ERC-1155.
URI tersebut dapat menyertakan string {id}
, yang harus diganti oleh klien dengan ID token sebenarnya dalam format heksadesimal huruf kecil (tanpa awalan 0x
) dan disertakan nol di depan hingga mencapai 64 karakter heksadesimal.
URI HARUS menunjuk ke file JSON yang sesuai dengan Skema JSON Metadata URI ERC-1155.
Untuk token ID 2 dan URI https://game.example/api/item/{id}.json
, klien akan mengganti {id}
dengan 0000000000000000000000000000000000000000000000000000000000000002
untuk mengambil JSON di https://game.example/api/item/0000000000000000000000000000000000000000000000000000000000000002.json
.
Dokumen JSON untuk token ID 2 mungkin akan terlihat seperti ini:
{
"name": "Thor's hammer",
"description": "Mjölnir, the legendary hammer of the Norse god of thunder.",
"image": "https://game.example/item-id-8u5h2m.png",
"strength": 20
}
Untuk informasi lebih lanjut tentang Skema JSON Metadata, silakan lihat Skema JSON Metadata URI ERC-1155.
4. Kompilasi Contract
Pastikan bahwa versi compiler di Remix IDE sesuai dengan versi compiler yang disebutkan di smart contract: pragma solidity ^0.8.28;
.
Tekan tombol play berwarna hijau di bagian atas untuk mengompilasi contract.
5. Deploy Contract
Buka tab Deploy & run transactions
(ikon ini terlihat seperti logo Ethereum dengan panah mengarah ke kanan). Pastikan bahwa environment Anda diatur ke "Injected Provider", wallet Anda terhubung ke jaringan Lisk atau Lisk Sepolia, dan Remix memiliki akses ke wallet Anda.
Kemudian, pilih contract MyItems
dari dropdown deployment dan klik tombol Deploy
berwarna oranye untuk deploy contract.
Akhirnya, konfirmasi deployment contract di wallet Anda yang terhubung.
Periksa pesan log Remix; pesan tersebut akan mencantumkan alamat contract. Tempelkan alamat ini di BlockScout untuk melihat contract di block explorer Lisk: https://sepolia-blockscout.lisk.com/address/0x8b2f45e810F539647e70fBCd6441B73d332Ef1A0
Jika Anda memilih untuk deploy di Lisk Mainnet, tempelkan alamat tersebut di https://blockscout.lisk.com
6. Verifikasi Contract
Jika Anda ingin berinteraksi dengan contract Anda di block explorer, Anda, atau orang lain, harus memverifikasinya terlebih dahulu. Contract di atas sudah diverifikasi, sehingga Anda seharusnya dapat melihat versi Anda di block explorer. Selebihnya dari panduan ini, kami akan menjelaskan cara memverifikasi contract Anda dengan Remix di Lisk Sepolia Testnet.
Anda dapat menerapkan langkah yang sama untuk memverifikasi contract di Lisk Mainnet, jika contract di-deploy di jaringan tersebut, cukup gunakan https://blockscout.lisk.com untuk menggantikan https://sepolia-blockscout.lisk.com pada langkah 2 dibawah ini.
- Di Remix, klik kanan pada contract yang ingin Anda verifikasi dan pilih
Flatten
.
Ini akan membuat file baru bernamaMyItems_flattened.sol
. - Sekarang, buka contract yang baru saja Anda deploy di https://sepolia-blockscout.lisk.com.
- Buka tab contract dan klik tombol
Verify and Publish
berwarna biru.- (Opsional) Atur lisensi untuk contract Anda.
- Pilih
Solidity (Single file)
sebagai metode verifikasi. - Pilih versi compiler yang sesuai untuk contract Anda.
- Nonaktifkan code optimization.
- Salin source code yang telah diflatkan dari Remix dan tempelkan di kolom
Enter the Solidity Contract Code
.
- Periksa bahwa semua informasi sudah benar, lalu klik tombol
Verify and Publish
untuk memverifikasi contract Anda.
Setelah diverifikasi, tab kode akan menyertakan ikon ✅, dan source code akan dapat dilihat.