
🚩Task 3 : Inery Testnet
Harusnya EZDownload Toolsgit clone https://github.com/inery-blockchain/inery.cdtExport PATHnano ~/.bashrcCopy ini dan taruh paling bawahe...

Identity Validator Ekosistem Cosmos
Daftar AkunBuatlah akun baru dihttps://keybase.io/Daftar menggunakan emailBuat PGBKlik add a PGB keyPilih I need a public keyIsi nama, em...

🚩Exorde-Labs: Testnet
Cara Install menggunakan DockerOfficial Linkhttps://twitter.com/ExordeLabshttps://discord.gg/exordelabsExplorerInstall Dependenciessudo a...

🚩Task 3 : Inery Testnet
Harusnya EZDownload Toolsgit clone https://github.com/inery-blockchain/inery.cdtExport PATHnano ~/.bashrcCopy ini dan taruh paling bawahe...

Identity Validator Ekosistem Cosmos
Daftar AkunBuatlah akun baru dihttps://keybase.io/Daftar menggunakan emailBuat PGBKlik add a PGB keyPilih I need a public keyIsi nama, em...

🚩Exorde-Labs: Testnet
Cara Install menggunakan DockerOfficial Linkhttps://twitter.com/ExordeLabshttps://discord.gg/exordelabsExplorerInstall Dependenciessudo a...
Share Dialog
Share Dialog
Official Docs
https://docs.inery.io/docs/category/tutorials/
Download Tools
git clone https://github.com/inery-blockchain/inery.cdt
Export inery.cdt
nano ~/.bashrc
Lalu paste ini kedalam file .bashrc taruh saja paling bawah
export PATH="$PATH:/root/inery.cdt/bin"
Dan simpan CTRL+X Y Enter
Buat directory inrcrud
mkdir inrcrud
Pindah directory
cd inrcrud cd; source .bashrc; cd -
Buat file baru inrcrud.cpp
nano inrcrud.cpp
Copy semua code ini, dan paste kedalam file inrcrud.cpp
#include <inery/inery.hpp> #include <inery/print.hpp> #include <string> using namespace inery; using std::string; class [[inery::contract]] inrcrud : public inery::contract { public: using inery::contract::contract; [[inery::action]] void create( uint64_t id, name user, string data ) { records recordstable( _self, id ); auto existing = recordstable.find( id ); check( existing == recordstable.end(), "record with that ID already exists" ); check( data.size() <= 256, "data has more than 256 bytes" ); recordstable.emplace( _self, [&]( auto& s ) { s.id = id; s.owner = user; s.data = data; }); print( "Hello, ", name{user} ); print( "Created with data: ", data ); } [[inery::action]] void read( uint64_t id ) { records recordstable( _self, id ); auto existing = recordstable.find( id ); check( existing != recordstable.end(), "record with that ID does not exist" ); const auto& st = *existing; print("Data: ", st.data); } [[inery::action]] void update( uint64_t id, string data ) { records recordstable( _self, id ); auto st = recordstable.find( id ); check( st != recordstable.end(), "record with that ID does not exist" ); recordstable.modify( st, get_self(), [&]( auto& s ) { s.data = data; }); print("Data: ", data); } [[inery::action]] void destroy( uint64_t id ) { records recordstable( _self, id ); auto existing = recordstable.find( id ); check( existing != recordstable.end(), "record with that ID does not exist" ); const auto& st = *existing; recordstable.erase( st ); print("Record Destroyed: ", id); } private: struct [[inery::table]] record { uint64_t id; name owner; string data; uint64_t primary_key()const { return id; } }; typedef inery::multi_index<"records"_n, record> records; };
Lalu simpan
Setelah itu, Compile
inery-cpp inrcrud.cpp -o inrcrud.wasm

Cek menggunakan command ls apakah sudah generate file inrcrud.abi inrcrud.wasm atau belum

Unlock wallet
cline wallet unlock -n NamaWallet
Lalu hubungkan akun mu Crud Contract
cline set contract NamaAkun ./ --json
Simpan semua “block_num” dari transaksi mu, untuk mengecek di explorer nantinya


Selanjutnya create contract
cline push action NamaAkun create '[1, "NamaAkun", "The First Contract by me"]' -p NamaAkun --json


Coba untuk read contract
cline push action NamaAkun read [1] -p NamaAkun --json


Ubah data contract
cline push action NamaAkun update '[ 1, "First Modify to my Contract"]' -p NamaAkun --json


Lakukan update data beberapa kali
cline push action NamaAkun update '[ 1, "Bebas Isi Apapun Disini"]' -p NamaAkun --json
Karena task nya disuruh push some transaction, jadi jangan cuma update sekali


Create Token menggunakan ID yang berbeda
cline push action NamaAkun create '["2", "NamaAkun", "1000000.0000 YUHUU"]' -p NamaAkun --json


Cobalah untuk mencetak beberapa token sepeti task 2
cline push action NamaAkun issue '["2", "NamaAkun", "1000000.0000 YUHUU", "YO!"]' -p NamaAkun --json
Akan muncul error karena tidak ada fungsi issue didalam contract dan juga tidak dapat di transfer

Langkah terakhir, cobalah untuk menghapus token di ID 2. Ini bisa dihapus karena ada fungsi destoy didalam contract
cline push action NamaAkun destroy [2] -p NamaAkun --json


Kalo ngga di approve ku update lagi kapan-kapan💜
Official Docs
https://docs.inery.io/docs/category/tutorials/
Download Tools
git clone https://github.com/inery-blockchain/inery.cdt
Export inery.cdt
nano ~/.bashrc
Lalu paste ini kedalam file .bashrc taruh saja paling bawah
export PATH="$PATH:/root/inery.cdt/bin"
Dan simpan CTRL+X Y Enter
Buat directory inrcrud
mkdir inrcrud
Pindah directory
cd inrcrud cd; source .bashrc; cd -
Buat file baru inrcrud.cpp
nano inrcrud.cpp
Copy semua code ini, dan paste kedalam file inrcrud.cpp
#include <inery/inery.hpp> #include <inery/print.hpp> #include <string> using namespace inery; using std::string; class [[inery::contract]] inrcrud : public inery::contract { public: using inery::contract::contract; [[inery::action]] void create( uint64_t id, name user, string data ) { records recordstable( _self, id ); auto existing = recordstable.find( id ); check( existing == recordstable.end(), "record with that ID already exists" ); check( data.size() <= 256, "data has more than 256 bytes" ); recordstable.emplace( _self, [&]( auto& s ) { s.id = id; s.owner = user; s.data = data; }); print( "Hello, ", name{user} ); print( "Created with data: ", data ); } [[inery::action]] void read( uint64_t id ) { records recordstable( _self, id ); auto existing = recordstable.find( id ); check( existing != recordstable.end(), "record with that ID does not exist" ); const auto& st = *existing; print("Data: ", st.data); } [[inery::action]] void update( uint64_t id, string data ) { records recordstable( _self, id ); auto st = recordstable.find( id ); check( st != recordstable.end(), "record with that ID does not exist" ); recordstable.modify( st, get_self(), [&]( auto& s ) { s.data = data; }); print("Data: ", data); } [[inery::action]] void destroy( uint64_t id ) { records recordstable( _self, id ); auto existing = recordstable.find( id ); check( existing != recordstable.end(), "record with that ID does not exist" ); const auto& st = *existing; recordstable.erase( st ); print("Record Destroyed: ", id); } private: struct [[inery::table]] record { uint64_t id; name owner; string data; uint64_t primary_key()const { return id; } }; typedef inery::multi_index<"records"_n, record> records; };
Lalu simpan
Setelah itu, Compile
inery-cpp inrcrud.cpp -o inrcrud.wasm

Cek menggunakan command ls apakah sudah generate file inrcrud.abi inrcrud.wasm atau belum

Unlock wallet
cline wallet unlock -n NamaWallet
Lalu hubungkan akun mu Crud Contract
cline set contract NamaAkun ./ --json
Simpan semua “block_num” dari transaksi mu, untuk mengecek di explorer nantinya


Selanjutnya create contract
cline push action NamaAkun create '[1, "NamaAkun", "The First Contract by me"]' -p NamaAkun --json


Coba untuk read contract
cline push action NamaAkun read [1] -p NamaAkun --json


Ubah data contract
cline push action NamaAkun update '[ 1, "First Modify to my Contract"]' -p NamaAkun --json


Lakukan update data beberapa kali
cline push action NamaAkun update '[ 1, "Bebas Isi Apapun Disini"]' -p NamaAkun --json
Karena task nya disuruh push some transaction, jadi jangan cuma update sekali


Create Token menggunakan ID yang berbeda
cline push action NamaAkun create '["2", "NamaAkun", "1000000.0000 YUHUU"]' -p NamaAkun --json


Cobalah untuk mencetak beberapa token sepeti task 2
cline push action NamaAkun issue '["2", "NamaAkun", "1000000.0000 YUHUU", "YO!"]' -p NamaAkun --json
Akan muncul error karena tidak ada fungsi issue didalam contract dan juga tidak dapat di transfer

Langkah terakhir, cobalah untuk menghapus token di ID 2. Ini bisa dihapus karena ada fungsi destoy didalam contract
cline push action NamaAkun destroy [2] -p NamaAkun --json


Kalo ngga di approve ku update lagi kapan-kapan💜

Subscribe to mirror.megumii.eth

Subscribe to mirror.megumii.eth
<100 subscribers
<100 subscribers
No activity yet