Smart contracts atau kontrak pintar adalah program komputer yang dijalankan secara otomatis pada blockchain dan berfungsi untuk mengeksekusi transaksi sesuai dengan ketentuan yang telah ditetapkan. Smart contract ini dijalankan pada blockchain dan memberikan keamanan yang tinggi, karena data yang ada di dalamnya tidak dapat diubah tanpa persetujuan seluruh node pada jaringan blockchain.
Solidity adalah bahasa pemrograman yang digunakan untuk membuat smart contract pada platform blockchain Ethereum. Solidity dirancang untuk menjalankan fungsi yang sangat spesifik pada jaringan Ethereum, seperti pengiriman dan penerimaan Ether, pembuatan token, voting, dan banyak lagi.
Baca Juga : Tutorial Blockchain: Membuat NFT Marketplace dengan Infura dan Optimism – Panduan Lengkap untuk Pemula
Contoh Kode Sederhana Solidity:
Berikut adalah contoh kode sederhana Solidity yang digunakan untuk membuat smart contract sederhana untuk mengatur pemilu.
pragma solidity ^0.8.0;
contract Pemilu {
mapping(address => bool) public voters;
uint public totalVoters;
uint public totalVotes;
mapping(bytes32 => uint) public votesReceived;
function registerVoter(address _voter) public {
require(!voters[_voter]);
voters[_voter] = true;
totalVoters++;
}
function vote(bytes32 _candidate) public {
require(voters[msg.sender]);
votesReceived[_candidate]++;
totalVotes++;
}
}
Penjelasan Kode:
- Baris 1:
pragma solidity ^0.8.0
adalah perintah untuk menyatakan bahwa kode Solidity ditulis menggunakan versi 0.8.0 ke atas. - Baris 3-8:
contract Pemilu
adalah smart contract ( mirip dengan class ) yang akan dibuat, dimanamapping
digunakan untuk menyimpan data pemilih, jumlah total pemilih, dan hasil pemilihan. - Baris 10-15:
registerVoter
adalah fungsi untuk mendaftarkan pemilih baru dengan memeriksa apakah pemilih tersebut belum terdaftar sebelumnya. - Baris 17-21:
vote
adalah fungsi untuk memilih kandidat dengan memeriksa apakah pemilih yang memilih sudah terdaftar sebelumnya.
Dalam contoh kode di atas, pemilih baru dapat didaftarkan dengan fungsi registerVoter
, kemudian pemilih dapat memilih kandidat dengan menggunakan fungsi vote
. Setiap kali kandidat diberikan suara, variabel votesReceived
akan bertambah 1 dan total suara yang diberikan akan bertambah 1 pada variabel totalVotes
.
Contoh kode sederhana Solidity di atas menunjukkan bagaimana kontrak pintar sederhana dapat dibuat untuk mengatur pemilihan dengan memanfaatkan fitur mapping
dan require
pada Solidity. Dalam pengembangan aplikasi blockchain, penting untuk memahami dan menguasai bahasa pemrograman Solidity agar dapat membuat kontrak pintar yang aman dan efisien.
Demikianlah contoh kode sederhana Solidity untuk membuat smart contract yang digunakan untuk mengatur pemilu. Semoga artikel ini dapat membantu Anda memahami konsep smart contract dan Solidity pada blockchain Ethereum.