Menyebarkan kontrak pintar pertama Anda
Saya kira Anda bersemangat seperti kami untuk menyebarkan dan berinteraksi dengan kontrak pintar pertama Anda di rantai blok Ethereum.
Jangan khawatir, karena ini adalah kontrak pintar pertama kita, kita akan menggunakannya pada jaringan percobaan lokal, sehingga tidak memerlukan biaya apa pun untuk menggunakan dan bermain dengannya selama yang Anda mau.
Menulis kontrak kita
Langkah pertama adalah kunjungi Remix(opens in a new tab) dan buat file baru. Pada bagian atas kiri antarmuka Remix, tambahkan file baru dan masukkan nama yang Anda inginkan.
Di file baru itu, kita akan menempelkan kode berikut ini.
1// SPDX-License-Identifier: MIT2pragma solidity >=0.5.17;34contract Counter {56 // Variabel publik dari tipe int yang belum ditetapkan untuk mencatat jumlah hitungan7 uint256 public count = 0;89 // Fungsi yang menambah nilai penghitung kita10 function increment() public {11 count += 1;12 }1314 // Pengambil yang tidak diperlukan untuk mendapatkan nilai hitungan15 function getCount() public view returns (uint256) {16 return count;17 }1819}Tampilkan semuaSalin
Jika Anda terbiasa dengan pemrograman, Anda bisa dengan mudah menebak apa yang dilakukan program ini. Berikut adalah penjelas baris per baris:
- Baris 3: Kita menentukan sebuah kontrak dengan nama
Counter
. - Baris 6: Kontrak kita menyimpan satu bilangan bulat yang tidak ditandatangani bernama
count
yang dimulai dari 0. - Baris 9: Fungsi pertama akan memodifikasi state kontrak dan
increment()
variabelcount
kita. - Baris 14: Fungsi kedua hanyalah pengambil yang mampu membaca nilai dari variabel
count
di luar kontrak pintar. Perhatikan bahwa, karena kita menentukan variabelcount
kita sebagai variabel publik, ini tidak penting tapi ditunjukkan sebagai contoh.
Itulah kontrak pintar sederhana pertama kita. Seperti yang Anda ketahui, ini tampak seperti kelas dari bahasa OOP seperti Java atau C++. Sekarang saatnya bermain dengan kontrak kita.
Menyebarkan kontrak kita
Saat menulis kontrak pintar pertama kita, kita akan menggunakannya ke blockchain agar dapat berinteraksi dengannya.
Menyebarkan kontrak pintar pada rantai blok sebenarnya hanya mengirim transaksi berisi kode kontrak pintar yang terkompilasi tanpa menentukan penerima.
Pertama kita akan mengompilasi kontrak dengan mengklik ikon kompilasi di sebelah kiri:
Lalu klik tombol kompilasi:
You can choose to select the βAuto compileβ option so the contract will always be compiled when you save the content on the text editor.
Lala arahkan ke penggunaan dan jalankan layar transaksi:
Setelah Anda ada di layar transaksi "gunakan dan jalankan", periksa ulang bahwa nama kontrak Anda muncul dan klik Gunakan. As you can see on the top of the page, the current environment is βJavaScript VMβ that means that weβll deploy and interact with our smart contract on a local test blockchain to be able to test faster and without any fees.
Setelah Anda sudah mengklik tombol "Gunakan", Anda akan melihat kontrak muncul di bawah. Klik tanda panah di sebelah kiri untuk memperluasnya, sehingga kita bisa melihat isi kontrak kita. Inilah variabel counter
kita, fungsi increment()
dan pengambil getCounter()
kita.
Jika Anda mengklik tombol count
atau getCount
, ini akan mengambil isi dari variabel count
kontrak dan menampilkannya. Karena kita belum memanggil fungsi increment
, kontrak seharusnya menampilkan 0.
Sekarang mari kita memanggil fungsi increment
dengan mengklik tombolnya. Anda akan melihat log transaksi yang dibuat muncul pada bagian bawah jendela. Anda akan melihat bahwa log tampak berbeda saat Anda menekan tombol untuk mengambil data sebagai ganti menekan tombol increment
. Itu karena membaca data di blockchain tidak memerlukan transaksi apa pun (penulisan) atau biaya. Karena hanya saat memodifikasi state blokchainlah yang memerlukan pembuatan transaksi:
Setelah menekan tombol increment yang akan menghasilkan transaksi untuk memanggil fungsi increment()
kita, jika kita mengklik kembali tombol count atau getCount, kita akan membaca state yang baru diperbarui dari kontrak pintar dengan variabel count lebih besar dari 0.
Dalam tutorial berikutnya, kita akan membahas cara menambahkan aksi ke kontrak pintar Anda. Membuat log aksi adalah cara mudah untuk men-debug kontrak pintar Anda dan memahami apa yang terjadi saat memanggil sebuah fungsi.
Terakhir diedit: @lukassim(opens in a new tab), 26 April 2024