BAB I

 

1.1 Vexanium

Vexanium adalah public blockchain generasi selanjutnya yang dirancang untuk aplikasi

terdesentralisasi (Dapps) dan penetrasi ritel. Vexanium akan membuat blockchain dapat

diimplementasikan untuk meningkatkan berbagai industri.

Vexanium berfokus untuk menyelesaikan hambatan dan titik-titik kritis dari teknologi blockchain

seperti kecepatan, skalabilitas, kegunaan, dan fleksibilitas. Teknologi pemrosesan paralel dan

metodologi komunikasi asinkron dari Vexanium memungkinkan Dapps untuk beroperasi dan

bertransaksi dengan memproses secara bersamaan tanpa harus menambah beban dari

jaringan.

Biaya transaksi di blockchain Vexanium bersifat gratis. Struktur kepemilikan Vexanium

memungkinkan penggunaan gratis oleh pengguna dan menghilangkan biaya transaksi.

Pengembang proyek Blockchain diizinkan untuk menggunakan sumber daya secara

proporsional dengan kepemilikan mereka alih-alih model bayar per transaksi standar.

Arsitektur blockchain Vexanium memiliki potensi skalabilitas hingga jutaan transaksi per detik.

Menggunakan teknologi Vexanium, penyebaran proyek blockchain akan lebih cepat, lebih

mudah dan lebih terjangkau. Pelajari tentang alat Vexanium yang tersedia, konsep inti dan fitur

teknis yang mendasarinya.

 

1.2 Platform dan Toolchain

Platform Vexanium terdiri dari komponen-komponen dan toolchain berikut :

I. Nodeos (node + EOSIO = nodeos): inti daemon Vexanium. Plugin dapat digunakan

untuk mengkonfigurasi nodeos untuk dieksekusi dengan berbagai fitur. Nodeos

menangani semua jaringan peer-to-peer, penjadwalan kode kontrak, dan lapisan

kegigihan data blockchain. Untuk lingkungan pengembangan, nodeos juga dapat

digunakan untuk mengatur jaringan blockchain node tunggal;

Webinar Cara Membuat Smart Contract di Blockchain VexaniumII.

 

II. Cleos (CLI + EOSIO = cleos): command line interface untuk berinteraksi dengan

blockchain dan mengelola dompet;

 

III. Keosd (key + EOSIO = keosd): komponen yang menyimpan kunci Vexanium dengan

aman di dompet;

 

IV. VEX.CDT: toolchain untuk WebAssembly (Wasm) dan seperangkat alat untuk

memfasilitasi penulisan smart contracts untuk platform Vexanium.

Hubungan dasar antara komponen-komponen ini diilustrasikan dalam diagram berikut:

Note:

Vexanium juga menyediakan frontend library untuk pengembangan javascript yang disebut

VexaniumJS bersama dengan Swift dan Java SDKs untuk pengembangan aplikasi mobile.

 

1.3 Cleos

Cleos adalah command line interface yang memungkinkan pengembang untuk menggunakan,

menguji, dan mengkonfigurasi nodeos serta Smart Contract Vexanium.

 

BAB II

KONSEP INTI

2.1 Accounts, Wallets dan Permissions

Webinar Cara Membuat Smart Contract di Blockchain Vexanium2.1.1 Account

Account adalah nama yang dapat dibaca manusia yang disimpan di blockchain. Biasa

digunakan untuk mentranfer dan menerima transaksi. Account ini bisa diibaratkan sebagai

nomor rumah.

2.1.2 Public key

Fungsi Public Key ini sebagai alamat dan biasa di gunakan saat melakukan transaksi.

2.1.3 Private key

Private key ( Kunci ) brfungsi sebagai kunci untuk mengakses account biasanya di gunakan

saat kita melakukan transaksi . Pada dasarnya account public key dan private key mereka saling

terkait, ibarat kita mempunyai rumah, public key sebagai alamat, account sebagai nomor

rumah, dan key sebagai kunci rumahnya.

2.1.4 Wallets

Wallet digunakan untuk menyimpan (key) kunci yang mungkin dikaitkan dengan 1 (satu) akun

atau lebih.

2.1.5 Smart Contract

Smart Contract adalah perjanjian antara dua orang dalam bentuk kode komputer. Smart

contract berjalan di jaringan blockchain, sehingga mereka disimpan di database publik dan tidak

dapat diubah.

BAB III

SYSTEM RESOURCES

Webinar Cara Membuat Smart Contract di Blockchain Vexanium3.1 RAM

RAM dalam Blockchain berbasis Vexanium adalah salah satu sumber daya sistem penting yang

dikonsumsi oleh akun blockchain dan smart contract. RAM bertindak sebagai penyimpanan

permanen dan digunakan untuk menyimpan nama akun, izin, saldo token, dan data lainnya

untuk akses data on-chain yang cepat. RAM perlu dibeli dan tidak didasarkan pada staking

karena ini adalah sumber daya persisten yang terbatas.

3.2 CPU

CPU, dalam blockchain berbasis Vexanium, mewakili waktu pemrosesan suatu tindakan dan

diukur dalam microseconds (μs). CPU adalah sumber daya sistem sementara dan berada di

bawah mekanisme staking Vexanium.

3.3 Network (NET)

Selain CPU dan RAM, NET juga merupakan sumber daya yang sangat penting dalam

blockchain berbasis Vexanium. NET adalah bandwidth. Jaringan NET juga merupakan sumber

daya sistem sementara dan berada di bawah mekanisme staking Vexanium.

BAB IV

TECHNICAL FEATURES

Webinar Cara Membuat Smart Contract di Blockchain VexaniumBlockchain Vexanium menggunakan bahasa pemrograman C++. Untuk bahasa pemrograman

kontrak pintarnya. C++ adalah bahasa pemrograman yang paling banyak dipelajari di

universitas dan sudah memiliki banyak library. C++ dikenal sebagai "bahasa tingkat rendah"

yang memberikan kontrol besar bagi pengembang dalam hal menjalankan kode dan mengelola

sumber daya. C++ memiliki keunggulan dalam kecepatan, efisiensi dan keamanan dan banyak

digunakan dalam aplikasi "kinerja kritis".

Kode C++ dikompilasi dalam WebAssembly (WASM) dan kontrak pintar dijalankan oleh mesin

virtual WASM. WebAssembly adalah format biner tingkat rendah untuk web. Ini bukan bahasa

pemrograman yang akan Anda tulis.

https://developer.mozilla.org/en-US/docs/WebAssembly/Concepts

https://flaviocopes.com/webassembly/

Vexanium menggunakan C++ sebagai bahasa pemrograman kontrak pintar. C++ adalah

bahasa pemrograman yang populer di kalangan pengembang di seluruh dunia. Oleh karena itu,

setiap pengembang yang terbiasa dengan C++ tidak diharuskan mempelajari bahasa

pemrograman baru dan lebih dari siap untuk mempelajari API Vexanium, yang akan dibahas

dalam seri onboarding ini. Setelah terbiasa dengan API Vexanium telah tercapai, pengembang

akan dapat memprogram kontrak pintar Vexanium menggunakan C++.

Underlying Vexanium adalah mesin virtual WebAssembly (WASM) yang mengeksekusi kode

kontrak pintar. WASM juga digunakan oleh perangkat lunak infrastruktur internet penting lainnya

yang dikembangkan oleh Google, Microsoft, Apple, dan lainnya. Pilihan desain menggunakan

WASM memungkinkan Vexanium untuk menggunakan kembali kompiler dan toolchains yang

dioptimalkan dan diuji pertempuran yang sedang dipelihara dan ditingkatkan oleh komunitas

yang lebih luas. Selain itu, mengadopsi standar WASM juga memudahkan pengembang

kompiler untuk mem-porting bahasa pemrograman lain ke Vexanium.

BAB V

OS YANG DIDUKUNG

  • MAC OS
  • Ubuntu 18.04 atau Ubuntu 16.04

BAB VI

TAHAPAN

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 $

Anda akan melihat beberapa output yang terlihat seperti ini:

Webinar Cara Membuat Smart Contract di Blockchain Vexanium6.3 Membuat Development wallet

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/