Kata Pengantar


1.1. Blockchain

Blockchain adalah inovasi dalam protokol perangkat lunak yang pada awalnya ditemukan dalam pemanfaatan Bitcoin yang digunakan untuk memecahkan masalah penyelesaian ganda dalam mata uang digital. Beberapa tahun ke depan, blockchain akan mulai digunakan karena memiliki beberapa karakteristik yang hanya dimiliki dalam teknologi blockchain, seperti:

  • Data disalin dalam banyak node, artinya jika seorang hacker ingin menyerang, ia harus menyerang sebagian besar dari node tersebut.
  • Setelah disimpan di blockchain, data tidak dapat diubah / diedit.
  • Setiap blok terhubung ke blok sebelumnya dan blok berikut, artinya jika seorang hacker ingin menyerang atau mengubah data, ia perlu mengubah data di semua blok.
  • Kita dapat menjalankan kontrak pintar dalam blockchain, yang memungkinkan penciptaan model bisnis baru dengan menghilangkan perantara atau otoritas pusat.

Berdasarkan karakter dan nilai-nilai inti yang disediakan blockchain, berikut adalah beberapa kategorisasi (tetapi tidak terbatas pada) bagaimana teknologi blockchain memecahkan masalah di berbagai industri:

  1. Industri yang membutuhkan nilai transfer yang lebih cepat (misalnya: uang) daripada uang fiat tradisional. Contoh: pengiriman uang, kliring dan penyelesaian efek.

  2. Industri yang melibatkan banyak pemangku kepentingan yang tidak saling percaya - atau pemangku kepentingan bersaing satu sama lain tetapi dalam beberapa situasi juga bekerja sama satu sama lain. Contoh: Pelabuhan, Rantai Pasokan.

  3. Industri yang sebelum blockchain membutuhkan komitmen uang besar untuk melakukan transaksi dan karenanya, industri menghadapi masalah likuiditas. Misalnya untuk membeli properti atau mobil butuh banyak uang. Sekarang menggunakan teknologi blockchain, properti dapat dipatok sehingga pembeli dapat membeli token dengan komitmen uang yang lebih rendah. Ini meningkatkan likuiditas di pasar. Ini disebut "kepemilikan fraksional".

  4. Industri yang membutuhkan kekekalan (tidak dapat diubah) karakter dari basis data blockchain, dan basis data dapat diakses oleh semua pemangku kepentingan. Contoh: sektor publik yang berurusan dengan pendaftaran tanah, sektor pendidikan yang berhubungan dengan sertifikat.

  5. Industri startup teknologi (contoh: media sosial, pasar e-commerce, mesin pencari, startup atas permintaan) di mana para pemangku kepentingan berpikir bahwa mereka berpikir mereka memiliki masalah dengan perantara atau perantara.

    • Produk yang mereka gunakan memiliki perantara dengan daya tawar yang terlalu tinggi, karena perantara ini mendapat banyak data pengguna dan menjualnya kepada pengiklan (kadang-kadang, secara ilegal dan tanpa pembagian keuntungan dengan pengguna).
    • Perantara yang mengambil biaya terlalu tinggi, dari pengguna atau pedagang. Dan biaya ini dapat dikurangi dengan menggunakan blockchain & kontrak pintar - ini mengurangi biaya verifikasi.
    • Perantara yang tidak benar-benar transparan tentang cara kerja: Game, Taruhan
  6. Industri yang memiliki masalah berbagi data silo - kadang-kadang sebelum blockchain, data disimpan di berbagai lembaga yang berbeda. Contoh: catatan medis, pendaftaran tanah, Identitas.

  7. Industri yang sangat menghargai konten digital dan membutuhkan konten digital untuk menjadi unik, aman, dan berharga di era digital. Contoh: Game / barang digital, musik / video, konten berhak cipta, koleksi digital, suara, kredit karbon, skor kredit sosial.



1.2. 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.



1.3. Fitur Teknis

Blockchain 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 - jadi pengembang tidak perlu "menemukan kembali roda-nya". 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.



1.4. Stack

picture alt

Interaksi khas dengan blockchain Vexanium.

Smart Contract / CDT

VEX.CDT adalah toolchain untuk WebAssembly (WASM) dan seperangkat alat untuk memfasilitasi penulisan kontrak untuk platform VEXANIUM. Selain menjadi toolchain WebAssembly tujuan umum, optimisasi spesifik VEXANIUM tersedia untuk mendukung pembuatan kontrak pintar VEXANIUM. Toolchain baru ini dibangun di sekitar Dentang 7, yang berarti bahwa VEX.CDT memiliki optimasi dan analisis terkini dari LLVM. Namun, karena target WASM masih dianggap eksperimental, beberapa optimisasi tidak tersedia atau tidak lengkap.

Nodeos

Nodeos adalah node 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.

Cleos/Keosd

Keosd adalah manajer kunci untuk akun VEXANIUM yang disertakan dengan VEXANIUM.

Cleos adalah alat baris perintah yang memungkinkan pengembang untuk menggunakan, menguji, dan mengkonfigurasi nodeos serta kontrak pintar VEXANIUM.

picture alt

Interaksi khas pengguna dengan VEXANIUM DApp.

VEXANIUMJS

Javascript API SDK untuk integrasi dengan blockchain berbasis VEXANIUM menggunakan VEXANIUM RPC API.

Demux

Demux adalah implementasi referensi dari pola infrastruktur backend yang dapat digunakan untuk merutekan peristiwa blockchain dari blockchain berbasis VEXANIUM ke datastore yang dapat ditanyakan, atau juga, untuk memicu efek samping.



Lingkungan Pengembangan


2.1. Pengantar

Apa yang akan anda pelajari di bagian ini:

  • Cara cepat memutar node
  • Kelola dompet dan kunci
  • Buat akun
  • Tulis beberapa kontrak
  • Kompilasi dan ABI
  • Menyebarkan kontrak

Pengalaman C/C++

Blok berbasis VEXANIUM menjalankan aplikasi dan kode yang dibuat pengguna menggunakan WebAssembly (WASM). WASM adalah standar web yang muncul dengan dukungan luas dari Google, Microsoft, Apple, dan perusahaan industri terkemuka.

Saat ini toolchain yang paling matang untuk membangun aplikasi yang dikompilasi ke WASM adalah dentang / llvm dengan kompiler C / C++ mereka. Untuk kompatibilitas terbaik, Anda disarankan untuk menggunakan VEXANIUM C++ toolchain

Kompiler C / C++. Untuk kompatibilitas terbaik, Anda disarankan untuk menggunakan rantai alat VEXANIUM C++.

Toolchain lain yang sedang dikembangkan oleh pihak ke-3 meliputi: Rust, Python, dan Solidity. Meskipun bahasa-bahasa lain ini mungkin tampak lebih sederhana, kinerja mereka kemungkinan akan berdampak pada skala aplikasi yang dapat Anda bangun. Kami berharap bahwa C++ akan menjadi bahasa terbaik untuk mengembangkan kontrak pintar berkinerja tinggi dan aman dan berencana untuk menggunakan C++ untuk masa mendatang.

Pengalaman Linux / Mac OS

Perangkat lunak VEXANIUM mendukung environment berikut:

  • Amazon 2017.09 atau versi selanjutnya.
  • Centos 7
  • Fedora 25 atau versi selanjutnya (Direkomendasikan Fedora 27)
  • Mint 18
  • Ubuntu 16.04 (Direkomendasikan Ubuntu 16.10)
  • Ubuntu 18.04
  • MacOS Darwin 10.12 atau versi selanjutnya (Direkomendasikan MacOS 10.13.x)

Pengetahuan Command Line

Ada berbagai alat yang disediakan bersama dengan VEXANIUM yang mengharuskan Anda untuk memiliki pengetahuan garis perintah dasar untuk berinteraksi.

Mengatur C++ Environment

Kita dapat menggunakan editor teks apa pun yang lebih disukai, mendukung penyorotan sintaksis C++. Beberapa editor populer adalah Sublime Text dan Atom. Pilihan lain adalah IDE, yang menyediakan penyelesaian kode yang lebih canggih dan pengalaman pengembangan yang lebih lengkap. Anda dipersilakan untuk menggunakan perangkat lunak preferensi pribadi Anda, tetapi jika Anda tidak yakin apa yang harus digunakan, kami telah menyediakan beberapa opsi untuk Anda jelajahi.

Potential Editors and IDEs

Sistem Operasi Pengembangan Environment

Jika menggunakan OS pada rasa linux apa pun, Anda akan dapat mengikuti tutorial ini dengan mudah, ini termasuk tetapi tidak terbatas pada

  • Mac OS
  • Ubuntu
  • Debian

Windows

Jika Anda mengembangkan pada Windows, sayangnya kami tidak menyediakan port PowerShell dan instruksi saat ini. Di masa depan kita dapat menambahkan perintah PowerShell. Sementara itu, taruhan terbaik Anda adalah menggunakan VM dengan Ubuntu, dan mengatur lingkungan pengembangan Anda di dalam VM ini. Jika Anda adalah pengembang Window canggih yang terbiasa dengan porting instruksi Linux, Anda harus menghadapi masalah minimal.



2.1. Sebelum Anda Mulai

Langkah 1: Pemasangan binari

Tutorial ini akan menggunakan binari pre-built. Bagi Anda untuk memulai secepat mungkin ini adalah pilihan terbaik. Membangun dari sumber adalah pilihan, tetapi akan membuat Anda mundur satu jam atau lebih dan Anda mungkin mengalami kesalahan pembangunan.

Perintah di bawah ini akan mengunduh binari untuk sistem operasi masing-masing.

Pemasangan Brew Mac OS X

Shell

wget  https://vexanium.com/files/vex1.7.4bin_macos.zip
unzip vex1.7.4bin_macos.zip

Pemasangan Paket Ubuntu 18.04 Debian

Shell

https://vexanium.com/files/vex1.7.4bin_ubuntu18.zip
unzip vex1.7.4bin_ubuntu18.zip 

Pemasangan Paket Ubuntu 16.04

Shell

wget https://vexanium.com/files/vex1.7.4bin_ubuntu16.zip
unzip vex1.7.4bin_ubuntu16.zip

Langkah 2: Pengaturan direktori pengembangan, tetap berpaku pada hal tersebut

Anda perlu memilih direktori untuk melakukan pekerjaan ini, disarankan untuk membuat kontrak direktori di drive lokal anda.

Shell

mkdir contracts 
cd contracts

Langkah 3: Masukkan direktori lokal Anda di bawah ini.

Dapatkan path dari direktori itu dan simpan untuk nanti, karena Anda akan membutuhkannya, Anda dapat menggunakan perintah berikut untuk mendapatkan path absolut Anda.

pwd

Masukkan jalur absolut ke direktori kontrak Anda di bawah ini, dan itu akan dimasukkan di seluruh dokumentasi untuk membuat hidup Anda sedikit lebih mudah. Fungsi ini membutuhkan cookies.



2.3. Atur dan Mulai Node Anda

Langkah 1: Boot Node dan Wallet

Step 1.1: Mulai keosd

Pertama, mulai keosd

Shell

keosd &

Anda akan melihat beberapa output yang terlihat seperti ini:

Text

info  2018-11-26T06:54:24.789 thread-0  wallet_plugin.cpp:42          plugin_initialize] initializing wallet plugin
info  2018-11-26T06:54:24.795 thread-0  http_plugin.cpp:554           add_handler      ] add api url: /v1/keosd/stop
info  2018-11-26T06:54:24.796 thread-0  wallet_api_plugin.cpp:73      plugin_startup   ] starting wallet_api_plugin
info  2018-11-26T06:54:24.796 thread-0  http_plugin.cpp:554           add_handler      ] add api url: /v1/wallet/create
info  2018-11-26T06:54:24.796 thread-0  http_plugin.cpp:554           add_handler      ] add api url: /v1/wallet/create_key
info  2018-11-26T06:54:24.796 thread-0  http_plugin.cpp:554           add_handler      ] add api url: /v1/wallet/get_public_keys

Tekan [Enter] untuk melanjutkan

Step 1.2: Memulai nodeos

Mulai nodeos sekarang:

Shell

 nodeos -e -p vexanium \ 
 --plugin vexanium::producer_plugin \ 
 --plugin vexanium::chain_api_plugin \ 
 --plugin vexanium::http_plugin \ --access-control-allow-origin='*' \ --contracts-console \ 
 --http-validate-host=false \ --verbose-http-errors >> nodeos.log 2>&1 & 

Pengaturan ini akan mencapai hal-hal sebagai berikut:

  1. Jalankan Nodeos. Perintah ini memuat semua plugin dasar, setel alamat server, aktifkan CORS dan tambahkan beberapa debugging dan logging kontrak.
  2. Aktifkan CORS tanpa batasan (*) dan pengembangan logging

Step 2: Periksa instalasi

Step 2.1: Periksa Nodeos yang Memproduksi Blok

Jalankan perintah berikut ini

Shell

tail -f nodeos.log

Anda akan melihat beberapa output di konsol yang terlihat seperti ini:

Text

1929001ms thread-0   producer_plugin.cpp:585       block_production_loo ] Produced block 0000366974ce4e2a... #13929 @ 2018-05-23T16:32:09.000 signed by eosio [trxs: 0, lib: 13928, confirmed: 0]
1929502ms thread-0   producer_plugin.cpp:585       block_production_loo ] Produced block 0000366aea085023... #13930 @ 2018-05-23T16:32:09.500 signed by eosio [trxs: 0, lib: 13929, confirmed: 0]
1930002ms thread-0   producer_plugin.cpp:585       block_production_loo ] Produced block 0000366b7f074fdd... #13931 @ 2018-05-23T16:32:10.000 signed by eosio [trxs: 0, lib: 13930, confirmed: 0]
1930501ms thread-0   producer_plugin.cpp:585       block_production_loo ] Produced block 0000366cd8222adb... #13932 @ 2018-05-23T16:32:10.500 signed by eosio [trxs: 0, lib: 13931, confirmed: 0]
1931002ms thread-0   producer_plugin.cpp:585       block_production_loo ] Produced block 0000366d5c1ec38d... #13933 @ 2018-05-23T16:32:11.000 signed by eosio [trxs: 0, lib: 13932, confirmed: 0]
1931501ms thread-0   producer_plugin.cpp:585       block_production_loo ] Produced block 0000366e45c1f235... #13934 @ 2018-05-23T16:32:11.500 signed by eosio [trxs: 0, lib: 13933, confirmed: 0]
1932001ms thread-0   producer_plugin.cpp:585       block_production_loo ] Produced block 0000366f98adb324... #13935 @ 2018-05-23T16:32:12.000 signed by eosio [trxs: 0, lib: 13934, confirmed: 0]
1932501ms thread-0   producer_plugin.cpp:585       block_production_loo ] Produced block 00003670a0f01daa... #13936 @ 2018-05-23T16:32:12.500 signed by eosio [trxs: 0, lib: 13935, confirmed: 0]
1933001ms thread-0   producer_plugin.cpp:585       block_production_loo ] Produced block 00003671e8b36e1e... #13937 @ 2018-05-23T16:32:13.000 signed by eosio [trxs: 0, lib: 13936, confirmed: 0]
1933501ms thread-0   producer_plugin.cpp:585       block_production_loo ] Produced block 0000367257fe1623... #13938 @ 2018-05-23T16:32:13.500 signed by eosio [trxs: 0, lib: 13937, confirmed: 0]

Tekan ctrl + c untuk menutup log

Langkah 2.2: Periksa Dompet

Buka shell dan jalankan perintah cleos untuk mendaftar dompet yang tersedia. Kami akan berbicara lebih banyak tentang dompet di masa depan. Untuk saat ini, kita perlu memvalidasi instalasi dan melihat bahwa klien baris perintah

cleos berfungsi sebagaimana dimaksud.

Shell

./cleos wallet list

Anda akan melihat respons dengan daftar dompet kosong:

 Wallets: 
        [ ]

Dari titik ini ke depan, Anda akan menjalankan perintah dari sistem lokal Anda (Linux or Mac)

Step 2.3: Periksa Nodeos endpoints

Ini akan memeriksa apakah RPC API berfungsi dengan benar, pilih satu.

  1. Periksa titik akhir get_info yang disediakan olehchain_api_plugin di browser Anda: http: // localhost: 8888/v1/chain/get_info.
  2. Periksa hal yang sama, tetapi di konsol Anda host machine

Shell

curl http://localhost:8888/v1/chain/get_info


2.4. Pemasangan CDT

Perangkat Pengembangan Kontrak VEXANIUM (Contract Development Toolkit), singkatnya CDT, adalah kumpulan alat yang terkait dengan kompilasi kontrak. Tutorial selanjutnya menggunakan CDT terutama untuk menyusun kontrak dan menghasilkan ABI.

Mulai dari 1.3.x, CDT mendukung pembuatan Mac OS X, Linux Debian, dan paket RPM. Opsi termudah untuk menginstal adalah menggunakan salah satu dari sistem paket ini. Pilih satu metode pemasangan saja.

Homebrew (Mac OS X)

Install

Shell

brew tap vex/vex.cdt
brew install vex.cdt

Uninstall

Shell

brew remove vex.cdt

Ubuntu (Debian)

Install

Shell

wget https://vexanium.com/files/vex1.7.4bin_ubuntu16.zip
unzip vex1.7.4bin_ubuntu16.zip
sudo apt install ./vex.cdt_1.6.1-1_amd64.deb

Uninstall

Shell

sudo apt remove vex.cdt

Pemasangan dari Sumbernya

Lokasi di mana vex.cdt dikloning tidak begitu penting karena Anda akan menginstal vex.cdt biner lokal di langkah selanjutnya. Untuk saat ini, Anda dapat mengkloning vex.cdt ke direktori "kontrak" yang Anda buat sebelumnya, atau benar-benar di tempat lain di sistem lokal Anda yang Anda inginkan.

Teks

cd CONTRACTS_DIR

Unduh

Versi kloning 1.6.1 dari repositori vex.cdt

Teks

git clone --recursive https://github.com/vexanium/vex.cdt 
cd vex.cdt 

Mungkin perlu hingga 30 menit untuk mengkloning repositori

Build

Shell

./build.sh

Install

Shell

sudo ./install.sh

Perintah di atas perlu dijalankan dengan sudo karena berbagai binari vex.cdt akan diinstal secara lokal. Anda akan dimintai kata sandi akun komputer Anda.

Menginstal vex.cdt akan menjadikan binary yang dikompilasi global sehingga dapat diakses di mana saja. Untuk tutorial ini, it sangat disarankan agar Anda tidak melewatkan langkah instal untuk vex.cdt, gagal menginstal akan membuatnya lebih sulit untuk mengikuti tutorial ini dan lainnya, dan membuat penggunaan secara umum lebih sulit.

Penyelesaian masalah

Mendapatkan Kesalahan saat membangun.

  • Cari kesalahan Anda untuk string "/ usr / local / include / eosiolib /"
  • Jika ditemukan, rm -fr / usr / local / include / eosiolib / atau navigasikan ke / usr / local / include / dan hapus eosiolib menggunakan browser file sistem operasi Anda.


2.5. Membuat Dompet Pengembangan

Dompet adalah repositori pasangan kunci publik-privat. Kunci pribadi diperlukan untuk menandatangani operasi yang dilakukan pada blockchain. Dompet diakses menggunakan cleos.

Langkah 1: Buat Dompet

Langkah pertama adalah membuat dompet. Gunakan cleos wallet create untuk membuat dompet "default" baru menggunakan opsi --to-console untuk kesederhanaan.

Jika menggunakan cleos dalam produksi, lebih baik menggunakan --to-file sehingga kata sandi dompet Anda tidak ada dalam bash history Anda. Untuk tujuan pengembangan dan karena ini adalah development dan bukan kunci produksi --to-console tidak menimbulkan ancaman keamanan.

Shell

./cleos wallet create --to-console

cleos akan memberikan kata sandi. Simpan kata sandi ini yang nantinya anda butuhkan untuk tutorial berikutnya.

Shell

Creating wallet: default
 Save password to use in the future to unlock this wallet.
 Without password imported keys will not be retrievable.
"PW5Kewn9L76X8Fpd....................t42S9XCw2"

Langkah 2: Membuka Dompet

Dompet ditutup secara default saat memulai instance keosd, untuk memulai, jalankan perintah berikut

Shell

./cleos wallet open

Jalankan perintah ini untuk kembali ke daftar dompet

Teks

./cleos wallet list

dan ini akan kembali

 Wallets:
        [
        "default"
        ]

Langkah 3: Membukanya

Dompet keosd telah dibuka, tetapi masih terkunci. Beberapa saat yang lalu Anda diberi kata sandi, Anda akan membutuhkannya sekarang

Teks

./cleos wallet unlock

Anda akan dimintai kata sandi, tempel dan tekan enter.

Sekarang jalankan perintah berikut

Teks

./cleos wallet list

Itu akan kembali

 Wallets:
 [
 "default *"
 ]

Berikan perhatian khusus pada tanda bintang (*). Ini berarti bahwa dompet saat ini unlocked

Langkah 4: Mengimpor kunci ke dompet Anda

Hasilkan kunci pribadi, cleos memiliki fungsi pembantu untuk ini, jalankan saja yang berikut ini.

Teks

./cleos wallet create_key

Akan kembali seperti ini


  Created new private key with a public key of: 
  "EOS8PEJ5FM42xLpHK...X6PymQu97KrGDJQY5Y"
 

Langkah 5: Ikuti seri tutorial ini dengan lebih mudah

Masukkan kunci publik yang disediakan pada langkah terakhir dalam kotak di bawah ini. Ini akan bertahan kunci publik development Anda baru saja dihasilkan di seluruh dokumentasi.

Langkah 6: Mengimpor Kunci Pengembangan

Setiap rantai VEXANIUM baru memiliki "sistem" pengguna default yang disebut "vexanium". Akun ini digunakan untuk menyiapkan rantai dengan memuat kontrak sistem yang menentukan tata kelola dan konsensus rantai VEXANIUM. Setiap rantai VEXANIUM baru hadir dengan kunci pengembangan, dan kunci ini sama. Muat kunci ini untuk menandatangani transaksi atas nama pengguna sistem (vexanium)

Shell

./cleos wallet import

You'll be prompted for a private key, enter the vexanium development key provided below

5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3

Jangan pernah gunakan kunci pengembangan untuk akun produksi! Melakukannya pasti akan mengakibatkan hilangnya akses ke akun Anda, kunci pribadi ini diketahui publik.

Hebat, sekarang Anda memiliki dompet default terbuka dan dimuat dengan kunci, dan siap untuk melanjutkan.



2.6. Membuat Akun Percobaan

Apa itu akun?

Akun adalah kumpulan otorisasi, disimpan di blockchain, dan digunakan untuk mengidentifikasi pengirim/penerima. Akun memiliki struktur otorisasi yang fleksibel yang memungkinkan untuk dimiliki oleh individu atau kelompok individu tergantung pada how izin yang telah dikonfigurasi. Diperlukan akun untuk mengirim atau menerima transaksi yang valid ke blockchain

Seri tutorial ini menggunakan dua akun "pengguna", bob danalice, serta akun vexanium default untuk konfigurasi. Selain itu akun dibuat untuk berbagai kontrak sepanjang seri tutorial ini.

Langkah 1: Membuat Akun Percobaan

Pada langkah sebelumnya, Anda membuat wallet dan membuat pasangan kunci pengembangan. Anda diminta memasukkan kunci publik ke dalam formulir, tetapi Anda melewatkan langkah ini atau menonaktifkan cookie. Anda harus mengganti YOUR_PUBLIC_KEY di bawah ini dengan kunci publik yang Anda buat.

Sepanjang tutorial ini, akun bob danalice digunakan. Buat dua akun menggunakan cleos create account

Shell

./cleos create account eosio bob YOUR_PUBLIC_KEY 
./cleos create account eosio alice YOUR_PUBLIC_KEY

Anda kemudian akan melihat pesan konfirmasi yang mirip dengan yang berikut untuk setiap perintah yang mengkonfirmasi bahwa transaksi telah disiarkan.

Hasil

executed transaction: 40c605006de...  200 bytes  153 us
# eosio <= eosio::newaccount {"creator":"eosio","name":"alice","owner":{"threshold":1,"keys":[{"key":"VEX5rti4LTL53xptjgQBXv9HxyU...
warning: transaction executed locally, but may not be confirmed by the network yet]

Langkah 2: Kunci Publik

Catatan dalam perintah cleos kunci publik dikaitkan dengan akunalice. Setiap akun Vexanium dikaitkan dengan kunci publik.

Ketahuilah bahwa nama akun adalah satu-satunya pengidentifikasi untuk kepemilikan. Anda dapat mengubah kunci publik tetapi itu tidak akan mengubah kepemilikan akun Vexanium Anda.

Periksa kunci publik mana yang dikaitkan dengan alice menggunakan cleos get account

Shell

./cleos get account alice

Anda harusnya melihat pesan yang seperti di bawah ini:

Teks

permissions:
     owner     1:    1 VEX6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV
    active     1:    1 VEX6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV
memory:
    quota:       unlimited  used:      2.66 KiB

net bandwidth:
     used:               unlimited
     available:          unlimited
     limit:              unlimited

cpu bandwidth:
     used:               unlimited
     available:          unlimited
     limit:              unlimited

Perhatikan bahwa sebenarnya alice memilikipublic dan active kunci publik. Vexanium memiliki struktur otorisasi unik yang telah menambahkan keamanan untuk akun Anda. Anda dapat meminimalkan eksposur akun Anda dengan menjaga kunci pemilik di cold wallet, sambil menggunakan kunci yang terkait dengan izin active Anda. Dengan cara ini, jika kunci active Anda dikompromikan, Anda bisa mendapatkan kembali kendali atas akun Anda dengan kunciowner Anda.

Dalam hal otorisasi, jika Anda memiliki izin owner Anda dapat mengubah kunci pribadi dari izinactive. Tetapi Anda tidak dapat melakukannya sebaliknya.

Penyelesaian masalah

Jika Anda mendapatkan kesalahan saat membuat akun, pastikan dompet Anda tidak dikunci

Shell

./cleos wallet list

Anda akan melihat tanda bintang (*) di sebelah nama dompet, seperti yang terlihat di bawah ini.

Teks

Wallets: 
[
"default *" 
]


2.7. Meluncurkan node BP

Catatan Penting:

  • Kebutuhan server minimal adalah dual‑core CPU, 4 GB RAM, 100 GB hardrive, dan sistem yang direkomendasikan adalah 64‑bit ubuntu 18

  • Mainnet Vexanium tidak dapat digunakan pada server yang sama dengan mainnet EOS, artinya satu server hanya dapat menggunakan satu mainnet. Ini untuk mencegah kesalahan yang tidak biasa selama peluncuran node

  • Sebelum penyebaran node Vexanium, silakan mengenal dokumen terkait EOS, penggunaan klien perintah dan penggunaan RPC API misalnya

  • Untuk registrasi BP anda perlu memiliki akun mainnet terlebih dahulu.

Peluncuran Node BP

Ini adalah kerangka peluncuran Vexanium yang didasarkan Linux ubuntu.

1. Unduh file rilis

apt-get update && apt-get install -y wget unzip

Untuk ubuntu18:

wget  [http://209.97.162.124:8060/vex1.7.4bin_ubuntu18.zip](http://209.97.162.124:8060/vex1.7.4bin_ubuntu16.zip)

Untuk ubuntu16:

wget  [http://209.97.162.124:8060/vex1.7.4bin_ubuntu16.zip](http://209.97.162.124:8060/vex1.7.4bin_ubuntu16.zip)
unzip  vex1.7.4bin_ubuntu**.zip

2. Persiapan

Menghasilkan pasangan kunci publik / pribadi untuk node BP. Jalankan perintah sebagai berikut:

./cleos create key --to-console

Hasil eksekusinya sebagai berikut:

Private key:  **5J9ZDeDPvsgCqxyHvYagrNKQxWTqQwiiZ5RPbAJ3gyhvvER795a**

Public key:  **VEX6vJnArfJm7Txiw5uYCRpovNZ3QNw4EXw5Wtk529cWAkViDSwDg**

Kunci publik akan digunakan selama pendaftaran BP nanti, yaitu regproducer.

Dapatkan akun mainnet sebagai nama produsen dengan kunci Publik, misalnya akun producertest.

3. Eksekusi perintah berikut ini untuk memulai node BP

sudo nohup ./nodeos --max-irreversible-block-age -1 --contracts-console --genesis-json ./genesis.json  --blocks-dir ./data/blocks  --data-dir ./data --chain-state-db-size-mb 1024 --http-server-address 127.0.0.1:80 --p2p-listen-endpoint 0.0.0.0:8090 --max-clients 5 --p2p-max-nodes-per-host 5 --enable-stale-production --producer-name  **producertest** --signature-provider=**VEX6vJnArfJm7Txiw5uYCRpovNZ3QNw4EXw5Wtk529cWAkViDSwDg**=KEY:**5J9ZDeDPvsgCqxyHvYagrNKQxWTqQwiiZ5RPbAJ3gyhvvER795a**--plugin eosio::http_plugin --plugin eosio::chain_api_plugin --plugin eosio::producer_plugin  --p2p-peer-address 209.97.162.124:8091  39.105.124.20:8092 > nodeos.log 2>&1 &

4. Registrasi BP

Membuat wallet lokal:

./cleos wallet create --to-console

Melakukan impor kunci privat akun BP ke dalam wallet:

./cleos wallet import --private-key 
**5J9ZDeDPvsgCqxyHvYagrNKQxWTqQwiiZ5RPbAJ3gyhvvER795a**

Eksekusi perintah berikut ini untuk melakukan pendaftaran:

./cleos --url http://209.97.162.124:8080 system regproducer 
**producertest VEX6vJnArfJm7Txiw5uYCRpovNZ3QNw4EXw5Wtk529cWAkViDSwDg**  
[https://producertest.com](https://producertest.com/)

Ada dua kondisi untuk dapat melakukan produksi blok:

  • Top 21 BPs yang bisa melakukan produksi blok
  • Sinkronisasi node BP lokal telah selesai

5.Klaim hadiah BP

Jika BP anda telah memproduksi blok, maka anda bisa melakukan klaim hadiah setiap 24 jam.

Eksekusi perintah tersebut untuk melakukan klaim hadiah:

./cleos --url http://209.97.162.124:8080 
system claimrewards **producertest**