Membuat basic Hello Word Smart Contract
1. Pemasangan binaries
Perintah di bawah ini akan mengunduh binari untuk sistem operasi masing-masing.
Pemasangan Brew Mac OS X
wget https://vexanium.com/files/vex1.7.4bin_macos.zip
unzip vex1.7.4bin_macos.zip
Pemasangan Paket Ubuntu 18.04 Debian
Wget https://vexanium.com/files/vex1.7.4bin_ubuntu18.zip
unzip vex1.7.4bin_ubuntu18.zip
Pemasangan Paket Ubuntu 16.04
wget https://vexanium.com/files/vex1.7.4bin_ubuntu16.zip
unzip vex1.7.4bin_ubuntu16.zip
Memasang VEX.CDT
Lakukan langkah berikut:
Sell:
wget https://vexgift.s3-ap-southeast-1.amazonaws.com/dl/vex.cdt.amd64.deb
sudo apt install ./vex.cdt.amd64.deb
Menambahkan VEXCPP compiler
Setelah anda melakukan install vex.cdt installah vexcpp:
Vexcpp ini adalah compiler dimana nanti kita butuhkan untuk mengkompilasikan kode kontrak
kita.
Lakukan perintah berikut
Sell:
wget https://vexgift.s3-ap-southeast-1.amazonaws.com/dl/vex.cdt.add.amd64.deb
sudo apt install ./vex.cdt.add.amd64.deb
2. Memulai keosd
Langkah Pertama mulai keosd lakukan perintah berikut:
Sell:
./keosd $
Check wallet untuk memastikan terlebih dahulu
Sell:
./cleos wallet list
Akan terlihat seperti ini
[]
Ini menandakan belum terdapat wallet
Setelah anda memulai keosd dan memastikan wallet anda dapat ke langkah berikutnya untuk
membuat development wallet.
Lakukan langkah berikut:
Sell:
./cleos wallet create --to-console
Akan terlihat seperti ini:
Save password to use in the future to unlock this wallet.
Without password imported keys will not be retrievable.
"PW5JW1X7QyYNGZsBBchsV3xr8Y5Xdqzspaso6vS33jHBN7mzyGKaa"
Simpan password nanti akan di gunakan untuk mengakses development wallet
Setelah itu check kembali wallet dengan perintah berikut
Sell:
./cleos wallet list
Akan terlihat seperti ini:
Wallets:
[
"default *"
]
Menandakan anda telah berhasil membuat development wallet dengan nama default wallet,
perhatikan tanda * secara default wallet anda tidak terkunci.
Setelah itu lakukan langkah berikutnya:
Open wallet
Jika anda sudah membuat devolepment tetapi tidak melihat wallet tersebut bisa jadi wallet anda tertutup anda tidak perlu khawatir, anda cukup membukanya agar terlihat kembali
Lakukan perintah berikut untuk membukanya:
./cleos wallet open
cika anda telah melakukan perintah di atas Langkah selanjutnya check kembali wallet anda
Sell:
./cleos wallet list
Akan terlihat seperti ini:
[
"default"
]
Perhatikan kembali tanda * tidak ada, ini menandakan wallet anda telah terkunci.
Setiap anda melakukan open wallet atau wallet dalam waktu lama tidak anda akses maka
wallet akan terkunci
4. Unlock wallet dan Import Key
Setelah anda membuat development wallet langkah selanjutnya adalah import key, anda bisa
menggunakan key anda sendiri. Check wallet, pastikan apakah wallet terbuka kuncinya atau
terkunci, jika wallet terkunci lakukan unlock wallet terlebih dahulu namun apabila wallet terbuka
kuncinya lewati langkah berikut
Contoh
Sell:
./cleos wallet unlock --password PW5JW1X7QyYNGZsBBchsV3xr8Y5Xdqzspaso6vS33jHBN7mzyGKaa
Akan terlihat:
Unlocked: default
Ini menandakan wallet anda telah terbuka kuncinya
Catatan: di belakang –password adalah password wallet anda jadi ubahlah menggunakan password anda
Setelah wallet terbuka kuncinya tahap selanjutnya adalah kita melakukan import key.
Contoh
Lakukan Perintah berikut:
./cleos wallet import --private-key
5Hudvm81HgTgz5UEQMED8Bpem1SmpCrYfVn4K1Qs2J4H2B5S9Vu
Nanti akan muncul seperti ini:
imported private key for: VEX64JnMok6LNudGtzcPyd3L7CJ5YB93Y76kv1AVizRzyyegK3S7Q
5Hudvm…… ini adalah private key anda
VEX64…… ini adalah public key dari private key yang anda import anda juga dapat
menyimpannya.
Simpan kedua key tersebut di beberapa tempat jangan sampai hilang karena nanti anda akan
membutuhkan nya.
5. Membuat Directory Contract
Anda perlu memilih direktori disarankan untuk membuat kontrak direktori di drive lokal anda
mkdir CONTRACTS_DIR
6. Membuat basic Hello Word Smart Contract
1. Buka Kontrak directory yang sudah anda buat
cd CONTRACTS_DIR
2. Buatlah lagi hello word directory
Contoh
Sell:
mkdir hello
cd hello
Setelah anda membuat directory untuk contract saatnya ke tahap selanjutnya untuk membuat
kontrak dengan kode c++ ini adalah contoh dari basic contract helloword.
3. Buat file dengan nama hello.cpp.
contoh
Sell:
touch hello.cpp
setelah itu edit file cpp yang sudah anda buat dengan editor favorit anda dan masukkan kode
berikut ke dalam file cpp yang telah anda buat.
#include <eosio/eosio.hpp>
using namespace eosio;
class [[eosio::contract]] hello : public contract {
public:
using contract::contract;
[[eosio::action]]
void hi( name user ) {
print( "Hello, ", user);
}
};
langkah selanjutnya Anda dapat mengkompilasi kode anda ke perakitan web (.wasm) sebagai
berikut.
Sell:
Vexcpp hello.cpp -o hello.wasm
Setelah itu kembali ke directory di mana terdapat cleos.
7. Membeli ram dan melakukan Set Contract ( Publish Contract )
Setelah anda menyelesaikan langkah langkah diatas saatnya melakukan Publish Contract.
Tetapi anda harus memastikan terlebih dahulu keadaan wallet development harus pada posisi
tidak terkunci jika wallet terkunci anda perlu membuka kunci wallet tersebut.
Membeli ram
Sebelum anda melakukan Publish contract, anda memerlukan RAM yang di gunakan untuk
menyiman ( account, assets, contract, dan data lainya ). Catatan: Semakin besar contract anda
maka semakin banyak RAM yang anda perlukan. Contoh di bawah saya akan melakukan
pembelian RAM menggunakan 10 VEX
Contoh
Sell:
./cleos --url https://explorer.vexanium.com:6960 system buyram account_pengirim account_penerima "10 VEX"
Setelah anda rasa ram sudah cukup anda dapat melakukan perintah publish kontrak kembali.
Sell:
./cleos --url https://explorer.vexanium.com:6960 set contract account_anda CONTRACTS_DIR/hello
Anda dapat melacak semua transaksi anda menggunakan https://explorer.vexanium.com/
termasuk saat anda melakukan publish contracts.
8. Melakukan action dengan smart contract
Setelah kontrak anda ter-publish saatnya melakukan action ke smart contract yang telah anda buat tadi.
Lakukan perintah berikut untuk melakukan action dengan smart contract hello word yang telah
ter publish.
Sell:
./cleos --url https://explorer.vexanium.com:6960 push action account_contractmu hi '["account"]' -
p account@active
Anda juga dapat melihat action anda di Explorer Vexanium https://explorer.vexanium.com/