Lanjut ke konten utama

Menyebarkan kontrak pintar pertama Anda

kontrak pintarremixsoliditymemulaimenyebarkan
Pemula
jdourlens
EthereumDev(opens in a new tab)
3 April 2020
3 bacaan singkat minute read
comp-tutorial-metadata-tip-author 0x19dE91Af973F404EDF5B4c093983a7c6E3EC8ccE

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.

Menambahkan file baru di antarmuka Remix

Di file baru itu, kita akan menempelkan kode berikut ini.

1// SPDX-License-Identifier: MIT
2pragma solidity >=0.5.17;
3
4contract Counter {
5
6 // Variabel publik dari tipe int yang belum ditetapkan untuk mencatat jumlah hitungan
7 uint256 public count = 0;
8
9 // Fungsi yang menambah nilai penghitung kita
10 function increment() public {
11 count += 1;
12 }
13
14 // Pengambil yang tidak diperlukan untuk mendapatkan nilai hitungan
15 function getCount() public view returns (uint256) {
16 return count;
17 }
18
19}
Tampilkan semua
Salin

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() variabel count kita.
  • Baris 14: Fungsi kedua hanyalah pengambil yang mampu membaca nilai dari variabel count di luar kontrak pintar. Perhatikan bahwa, karena kita menentukan variabel count 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:

Ikon kompilasi di bilah alat Remix

Lalu klik tombol kompilasi:

Tombol kompilasi di pengompilasi solidity Remix

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:

Ikon gunakan di bilah alat Remix

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.

Tombol gunakan di pengompilasi solidity Remix

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.

Tombol fungsi di pengompilasi solidity Remix

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:

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

State kontrak pintar yang baru diperbarui

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: @yeremiaryangunadi(opens in a new tab), 15 Agustus 2023

Apakah tutorial ini membantu?