Menggunakan Mallet untuk Berkomunikasi Dengan Testnet IELE Cardano

Reza
4 min readNov 12, 2018
“worm's eye-view photography of ceiling” by Joshua Sortino on Unsplash

Testnet Cardano

Cardano adalah blockchain publik sekaligus platform smart contract yang menawarkan fitur-fitur yang lebih canggih dibandingkan protokol-protokol yang pernah dikembangkan sebelumnya.

Saat ini ada dua testnet Cardano yang dapat digunakan untuk men-deploy dan mengeksekusi smart contracts yaitu testnet KEVM dan IELE. Testnet KEVM adalah testnet untuk mencoba smart contracts yang dibuat untuk Ethereum Virtual Machine (EVM) sedangkan testnet IELE adalah virtual machine smart contract pertama yang menggunakan formal semantics yang dikembangkan untuk tujuan memberikan keamanan dan kinerja lebih baik.

Mallet

Mallet adalah ‘minimum wallet’, sebuah command-line utility untuk men-deploy smart contracts dan berinteraksi dengan testnet KEVM dan IELE. Mallet ditulis dalam Javascript dan dibuat berdasarkan Node.js REPL sehingga dapat memberikan akses pada fungsi-fungsi praktis dan juga berbagai jenis library seperti Web3. Selain itu Mallet dapat digunakan sebagai library untuk program-program yang dibangun dengan Javascript.

Environment

Contoh-contoh di bawah dijalankan di Ubuntu 16.04.

Instalasi Mallet

Mallet memerlukan Node.js versi 10.4.0 atau lebih. Jika Node.js belum terpasang gunakan nvm untuk menginstalnya.

Untuk mendapatkan versi teranyar dari Mallet, clone repo GitHub-nya:

$ git clone https://github.com/input-output-hk/mallet

Lalu ketik:

$ cd mallet
$ npm install

Perintah ini akan mengunduh Mallet dan menginstalnya beserta dependencies-nya.

Setelah selesai, cek instalasi dengan mengetik:

$ ./mallet --help

Jika help message Mallet muncul seperti di bawah ini maka instalasi telah berhasil.

mallet 2.1.0 - command line utility for KEVM/IELE testnetsUSAGE  mallet <testnet>ARGUMENTS  <testnet>      JSON RPC endpoint to connect. Possible values are: 'kevm', 'iele', or a custom HTTP(S) URL      requiredOPTIONS  -d, --datadir      Specify data directory      optional      default: "/home/ubuntu/.mallet2"GLOBAL OPTIONS  -h, --help         Display help
-V, --version Display version
--no-color Disable colors
--quiet Quiet mode - only displays warn and error messages
-v, --verbose Verbose mode - will also output debug messages

Apabila ada error sehubungan dengan bignumber.js seperti:

Instal bignumber.js:

$ npm i bignumber.js@2.0.7

Kemudian periksa kembali instalasi dan pastikan help message Mallet muncul seperti di atas.

Command-Line Interface (CLI)

CLI Mallet dapat digunakan untuk:

  • Berkomunikasi dengan testnet
  • Membuat account
  • Meminta token dari faucet
  • Compile smart contract
  • Deploy smart contract ke testnet
  • Mengeksekusi smart contract

Jalankan Mallet dan hubungkan ke testnet IELE:

$ ./mallet iele

Prompt Mallet akan muncul:

yang berarti Mallet siap untuk digunakan.

Perintah-perintah (Commands) Mallet

Bantuan

help

memanggil README file Mallet yang ada di:

$ https://github.com/input-output-hk/mallet/blob/master/README.md

listCommands memperlihatkan semua perintah yang dapat digunakan.

Manajemen Account

newAccount membuat account baru (membuat key pair untuk sebuah account baru). Private key dari key pair disimpan di datadir (yang default-nya di ~/.mallet2) dan dienkripsi dengan password yang diberikan. newAccount memberikan alamat account yang baru dibuat.

Dalam hal ini account yang baru dibuat mempunyai alamat: 0x38e9cdff00b3e2820069cc4b624d9811f3d0ad01

listAccounts menampilkan alamat dari semua account yang ada.

selectAccount memilih account untuk perintah-perintah seperti iele.simpleTransfer, getBalance, requestFunds.

currentAccount mengecek account mana yang sedang di-select.

Komunikasi Dengan Testnet

getBalance menampilkan saldo sebuah account.

Saldo account 0x38e9cdff00b3e2820069cc4b624d9811f3d0ad01 adalah nol.

requestFunds memanggil Faucet dari testnet guna meminta dana bagi sebuah account. requestFunds akan mengembalikan hash dari transaksi tersebut. Terlihat di sini bahwa saldo account bertambah setelah perintah requestFunds dieksekusi.

Detil transaksi ini (0xeee1e76c5e062dad0619a4d928042af1c4470b70b8ea58edfb0575ea6d87086f) dapat dilihat di testnet blockchain explorer:

dengan cara mem-paste hash transaksi tersebut ke search box lalu menekan tombol ‘Search’.

Perintah-perintah IELE

iele.simpleTransfer mentransfer nilai dari satu account ke account lainnya dan mengembalikan hash dari transaksi tersebut.

Transaksi terlihat di testnet explorer seperti:

Di artikel berikutnya akan kami jelaskan bagaimana men-deploy smart contract ke testnet IELE.

--

--