Shardeum — Cara Menerapkan Kontrak Pintar Bank Menggunakan Soliditas di Shardeum Testnet

Rocket Boys
5 min readJul 26, 2022

Untuk semua blockchain berbasis EVM, Anda dapat menulis kontrak pintar menggunakan bahasa yang diketik secara statis yang disebut Solidity, yang merupakan bahasa pemrograman kontrak pintar yang paling banyak digunakan saat ini. Solidity adalah bahasa berfitur lengkap untuk menulis kontrak pintar tujuan umum, dan terlihat mirip dengan JavaScript. Karena ada blog yang sebelumnya diterbitkan tentang penerapan kontrak pintar di Shardeum, mari kita langsung ke bagaimana Anda dapat menulis dan menerapkan kontrak pintar bank sederhana di Shardeum karena protokol pinjam meminjam, juga dikenal sebagai protokol DeFi, secara aktif digunakan oleh investor/pedagang kripto.

Langkah 1: Siapkan Remix IDE

Anda memerlukan lingkungan untuk mengkode, mengkompilasi, menguji, dan menerapkan kontrak pintar Anda. Truffle adalah kerangka kerja pengembangan paling populer untuk blockchain berbasis EVM. Tetapi untuk menjaga agar tutorial ini tetap sederhana, mari kita gunakan IDE berbasis online yang disebut Remix. Remix IDE adalah lingkungan pengembangan berbasis browser untuk Kontrak Pintar. IDE menyediakan beberapa plugin dan kompiler untuk versi soliditas yang berbeda.

Untuk meluncurkan Remix IDE, kunjungi http://remix.ethereum.org

Selanjutnya, mari kita konfigurasikan versi compiler dengan mengklik tombol ‘Solidity Compiler’ dan memilih konfigurasi compiler yang ditunjukkan pada gambar di bawah ini.

Sekarang mari kita pilih Shardeum sebagai lingkungan penerapan.

Catatan: Shardeum Liberty harus dipilih di MetaMask untuk diterapkan ke Rantai Shardeum.

Langkah 2: Tambahkan Shardeum Liberty ke MetaMask

Metamask memungkinkan pengguna untuk mengakses dompet blockchain berbasis EVM mereka melalui ekstensi browser atau aplikasi seluler, yang kemudian dapat digunakan untuk berinteraksi dengan aplikasi terdesentralisasi (DApps). Klik di sini untuk mempelajari bagaimana Anda dapat menambahkan MetaMask ke browser Anda.

Anda sekarang dapat menuju ke dev.spriyo.xyz dan klik tombol “Tambahkan ke MetaMask”, yang secara otomatis akan menambahkan Shardeum Liberty ke daftar jaringan Anda di MetaMask.

Untuk melakukan transaksi/interaksi apapun, terutama yang memodifikasi data di blockchain, kita membutuhkan mata uang asli blockchain, dalam kasus kita disebut “Shard” dengan simbol ticker “SHM”. Untuk mendapatkan SHM gratis, buka https://docs.shardeum.org/basics/claim dan ikuti instruksi apa adanya.

Langkah 3: Pengkodean

Mari kita mulai membuat kode kontrak pintar. Perhatikan, kontrak perbankan digunakan sebagai contoh di sini sehingga Anda dapat mengetahui apa yang terjadi di backend atau pada tingkat kode saat pengguna menyetor dan menarik token uji.

Pertama, mari kita buat file Bank.sol di direktori root.

Ini adalah kode terakhir kami untuk Bank DApp kami yang akan kami bagi menjadi empat bagian untuk tujuan penjelasan.

// SPDX-License-Identifier: GPL-3.0

pragma solidity 0.8.7;

contract Bank {

address public owner;

uint public balance;

constructor() {

owner = msg.sender;

}

function deposit() external payable {

balance += msg.value;

}

function withdraw(uint _amount) external {

require(balance >= _amount, “Insufficient balance!”);

payable(owner).transfer(_amount);

balance -= _amount;

}

}

Bagian 1

`// SPDX-License-Identifier: GPL-3.0` — Apakah identifikasi Software Package Data Exchange® (SPDX®) yang digunakan untuk menentukan lisensi di mana file Solidity akan didistribusikan. pragma solidity 0.8.7, 0.8.7 berarti versi yang menginformasikan compiler tentang versi compiler file Solidity.

Bagian 2

contract Bank adalah kode awal, seperti kata kunci Class dalam bahasa pemrograman JS. “Pemilik” dan “keseimbangan” adalah variabel penyimpanan publik, dan konstruktor adalah inisiator program yang hanya berjalan sekali saat dimulai.

Bagian 3

Fungsi “deposit” dan “withdraw” sama seperti fungsi lainnya dalam bahasa pemrograman. Kata kunci “eksternal” yang disebutkan menyatakan visibilitas fungsi. Lebih lanjut tentang itu di blog yang akan datang jadi pantau terus Kata kunci “dibayar” menyatakan bahwa fungsi tersebut dapat menerima cryptocurrency asli, yang akan ditambahkan ke saldo kontrak.

Bagian 4

Ketika fungsi “deposit” dipanggil, cryptocurrency yang dikirim ke sana ditambahkan ke variabel saldo. Dan, ketika fungsi “penarikan” dipanggil, yang juga mengambil parameter, hal pertama yang dilakukan adalah memeriksa apakah jumlah yang diminta tidak lebih besar dari saldo. Pada dasarnya seorang pengguna tidak dapat menarik lebih dari yang dia setorkan, bukan? Ini dilakukan melalui “memerlukan”.

“memerlukan” mengambil 2 parameter, jika parameter pertama berubah menjadi true, itu memungkinkan kode mengalir dan berfungsi sesuai. Jika nilai yang dikembalikan salah, itu melempar kesalahan dan menghentikan kode di sana. Di Solidity, ada tiga cara di mana seseorang dapat mengirim cryptocurrency. Yaitu transfer (), send() dan call(). Setelah dana ditransfer, kami memperbarui saldo dengan mengurangi jumlah yang dikirim dari saldo.

Langkah 4: Terapkan Kontrak Pintar

Beralih ke Jaringan Shardeum di MetaMask.

Klik tombol “Deploy and Run” dan pilih Environment ke “Injected Web3”.

Pastikan Anda telah copy-paste dan menyimpan kode. Setelah disimpan, pastikan ada tanda centang hijau di atas tombol “Solidity Compiler” dan kontrak yang dipilih adalah Bank.sol. Setelah semuanya selesai, klik tombol terapkan.

Metamask muncul dengan pesan konfirmasi. Klik tombol “Konfirmasi”. Anda seharusnya dapat melihat kontrak/DApp Anda di ‘Bagian Kontrak yang Diterapkan’ yang ada di bawah Tombol Deploy. Klik dan perluas untuk melihat fungsi dan variabel yang kami deklarasikan dalam file.

Akhirnya, kami telah menyebarkan kontrak kami ke Jaringan Shardeum (Testnet yang dikenal sebagai Shardeum Liberty)!!

Langkah 5: Berinteraksi

Mari berinteraksi dengan DApp dengan menyetorkan sebagian Shardeum ke bank. Atur Nilai ke 1 dan Pilih “Ether” dari dropdown. Dan klik tombol fungsi ‘Deposit’ di Kontrak kami. MetaMask akan muncul dengan pesan konfirmasi. Anda hanya perlu mengklik tombol ‘Konfirmasi’. Lanjutkan untuk memeriksa saldo Anda dengan mengklik tombol saldo.

Anda dapat bermain-main dengan aplikasi dengan berinteraksi dengan fungsi.

Selamat telah berhasil mencapai akhir artikel ini!

Kami akan segera menunjukkan kepada Anda bagaimana menghubungkan DApp ke aplikasi frontend yang sebenarnya sedang kami bangun di Shardeum Liberty (testnet) saat kami berbicara karena jaringan menjanjikan perkiraan biaya gas sebesar $0,01 dengan skalabilitas linier . Jadi, jika Anda seorang pengembang Ethereum, perhatikan bahwa Shardeum adalah platform kontrak pintar berbasis EVM yang dapat meningkatkan hingga 1 juta TPS dengan desentralisasi sejati dan keamanan yang solid. Ya Shardeum akan menjadi blockchain lapisan 1 pertama yang memecahkan ‘trilemma skalabilitas’ karena bertujuan untuk mengarahkan miliaran pengguna harian ke Web 3 di masa depan.

Anda juga dapat melihat blog Shardeum Foundation sebelumnya tentang cara menerapkan kontrak pintar NFT dan cara mencetak cryptocurrency ERC 20 Anda sendiri di Shardeum testnet.

Pendapat yang diungkapkan/isi dalam publikasi ini adalah milik penulis. Mereka tidak selalu dimaksudkan untuk mencerminkan pendapat atau pandangan Shardeum Foundation.

Tentang Penulis: Nethaji V adalah blockchain junior? pengembang di spriyo.xyz ?, pasar NFT lintas rantai?, yang saat ini sedang dalam pengembangan alfa. Anda dapat memeriksa produk di dev.spriyo.xyz. Ikuti dia di Twitter dan LinkedIn

--

--