Bagaimana Cara Menulis & Menyebarkan Kontrak Cerdas Pertama Anda?

Diterbitkan: 2020-02-13

Kontrak Cerdas adalah tren terkemuka dalam teknologi Blockchain saat ini. Jika Anda berpikir untuk membangun karier di bidang ini, artikel ini akan membantu Anda dengan semua yang perlu Anda ketahui untuk menulis kontrak pintar pertama Anda !

Pelajari Kursus Perangkat Lunak Online dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Lanjutan, atau Program Magister untuk mempercepat karier Anda.

Daftar isi

Bagaimana Cara Menulis Kontrak Cerdas Pertama Anda?

Era digital saat ini telah memungkinkan dua pihak untuk membuat perjanjian tanpa keterlibatan pihak ketiga. Kontrak digital ini diproses oleh blockchain dan disimpan di database publik. Jadi, transaksi dapat dilacak dan tidak dapat diubah.

Jika Anda ingin menulis kontrak pintar pertama Anda , sumber daya yang dikompilasi di bawah ini akan membuat Anda berada di jalur yang benar.

Baca: 10 Tren & Prediksi Blockchain untuk 2020

Mendefinisikan kontrak pintar

Istilah 'Kontrak Cerdas' pertama kali diusulkan oleh ilmuwan komputer Amerika Nick Szabo pada tahun 1996. Ini adalah komputer atau protokol digital yang memfasilitasi, memverifikasi, dan menegakkan kinerja kontrak. Sebagai perhitungan tujuan umum, kontrak pintar berada di Blockchain atau buku besar yang didistribusikan.

Dengan kata lain, kontrak dibangun ke dalam kode dalam bentuk program komputer. Dan aktor yang ditunjuk menerima izin untuk menjalankan fungsi program. Aturan yang telah ditentukan harus dipenuhi untuk keberhasilan pelaksanaan kontrak pintar.

Ambil Purchase Order (PO), misalnya. Ini adalah kontrak sederhana antara pembeli dan penjual. Syarat-syarat tertentu harus dipenuhi untuk melaksanakan PO. Spesifikasi ini termasuk pembayaran yang berhasil oleh pembeli, pengiriman barang oleh pemasok sesuai dengan persyaratan yang disepakati pada saat pembelian, kondisi untuk pengembalian, dll.

Jadi, pembeli dapat melakukan pemesanan dan pemasok dapat memenuhi pesanan dalam format digital. Melalui jaringan komputasi, semua tindakan disebut transaksi. Dan semua transaksi diverifikasi dan ditegakkan oleh jaringan. Setelah dikonfirmasi, transaksi tidak dapat dikembalikan.

Baca: Prasyarat untuk mempelajari Blockchain. Ini tidak seperti yang kamu pikirkan

Persyaratan Untuk Menyiapkan Kontrak Cerdas

Berbagai bahasa pemrograman tersedia untuk membangun kontrak pintar. Pilihan bahasa terutama tergantung pada platform blockchain. Misalnya, Solidity, Vyper, eWASM, dan bytecode Ethereum adalah beberapa bahasa kontrak pintar paling populer untuk platform blockchain Ethereum.

Lingkungan pengembangan kontrak pintar

Sebelum Anda menulis kontrak pintar pertama Anda , siapkan taman bermain untuk pengembangannya. Masuk lebih dalam ke dunia blockchain akan menjadi rumit tanpa pengetahuan tentang lingkungan pengembangan. Anda dapat memilih dari alternatif berikut.

  • Remix IDE: Ini adalah lingkungan pengembangan terintegrasi untuk membangun dan menguji kontrak pintar. Opsi yang sepenuhnya online ini sangat disarankan untuk pemula, karena tidak memerlukan instalasi. Selain itu, ini menimbulkan lebih sedikit tantangan untuk membuat prototipe dan memvalidasi kontrak pintar dengan cepat.
  • Pengaturan Lokal: Mesin lokal menyediakan sumber daya lain untuk pengembangan kontrak pintar. Alat ini memberikan fleksibilitas yang lebih besar untuk aplikasi tingkat perusahaan. Dan meskipun perlu waktu untuk menyiapkan lingkungan ini, pemilihan alat untuk Aplikasi Terdistribusi atau DApps adalah proses yang cukup mudah.

Struktur Kontrak Cerdas

Mari kita jelajahi kontrak pesanan pembelian yang dikembangkan menggunakan bahasa pemrograman Solidity.

Kontrak cerdas Solidity mengikuti struktur standar, yang terdiri dari 'data' dan 'fungsi.' Sementara data mempertahankan status kontrak pintar saat ini, fungsi menerapkan logika untuk mentransisikan status ini.

Kontrak dimulai dengan pernyataan yang disebut ' pragma directive '. Kata kunci "pragma" memungkinkan pemeriksaan atau fitur compiler. Perhatikan pernyataan di bawah ini:

soliditas pragma >=0.4.0 <=0.6.0

Deklarasi tersebut bermaksud untuk memastikan bahwa kontrak pintar tidak akan dikompilasi dengan versi kompiler lebih awal dari 0,40 dan setelah 0,60.

Berikutnya adalah ' deklarasi kontrak '. Pernyataan berikut menggunakan kata kunci “kontrak” dan mengidentifikasi kontrak kosong dengan nama “Pesanan Pembelian”.

kontrak PurchaseOrder{}

Menyimpan data

Setiap kontrak atau program komputer memiliki data yang tersimpan di dalamnya. Variabel menyediakan cara untuk menyimpan, memberi label, mengambil, dan memanipulasi data. Ada dua jenis variabel dalam Soliditas – Nilai, dan Referensi. Variabel tipe nilai selalu disalin saat digunakan sebagai argumen fungsi, seperti boolean, bilangan bulat, dll.

Sedangkan, variabel tipe referensi menyimpan lokasi data. Setiap perubahan dalam satu variabel referensi mempengaruhi variabel lain. Oleh karena itu, mereka harus dikelola dengan hati-hati. Contohnya termasuk Array dan Structs.

Menambahkan data

Dalam pesanan pembelian biasanya memiliki kuantitas produk yang terkait dengannya. Jadi, sekarang, mari kita tambahkan variabel data ke kontrak pintar. Kami akan menambahkan variabel product_quantity dengan asumsi bahwa itu hanya akan memiliki nilai positif.

Pertama, kami memperkenalkan bilangan bulat tidak bertanda yang diwakili oleh uint256. Di sini, unsigned (u) berarti jenis variabel yang hanya dapat mewakili bilangan bulat positif, dan 256 menandakan penyimpanan 256 bit.

kontrak Pesanan Pembelian{uint256 product_quantity;}

Konstruktor

Konstruktor menginisialisasi kontrak pintar dengan beberapa nilai saat kontrak disebarkan. Misalkan kuantitas produk ditetapkan pada 100.

konstruktor() publik{produk_kuantitas = 100;}

Perlu dicatat bahwa kata kunci atau pengubah akses "publik" menentukan bahwa fungsi tersebut tidak dibatasi. Jadi, bisa diakses oleh siapa saja.

Menambahkan fungsi

Menambahkan fungsi membuat program Anda interaktif. Ini adalah kemampuan terkontrol yang didahului oleh kata kunci "fungsi". Deklarasi tersebut mencakup nama fungsi, pengubah akses, mutator status, dan nilai kembalian.

Untuk membaca nilai yang disimpan, kami menambahkan "get function." Dengan “get_quantity”, fungsi ini mendapatkan kemampuan untuk mengambil atau membaca data yang disimpan. Lihatlah pernyataan yang diberikan di bawah ini.

fungsi get_quantity() tampilan publik kembali (uint256){return product_quantity;}

Memecahnya lebih jauh, kita melihat bahwa:

  • Nama fungsi: get_quantity ("()" berarti tidak ada parameter yang dilewatkan)
  • Pengubah Akses: publik (akses tidak dibatasi)
  • State Mutator: view (menunjukkan bahwa fungsi tidak mengubah status kontrak, tetapi hanya membacanya)
  • Pengembalian: mendefinisikan apa yang dikembalikan oleh fungsi, yaitu variabel bertipe uint256

Fungsi penyetel

Fungsi setter muncul ketika Anda ingin menulis atau memperbarui data. Fungsi ini mengambil parameter input dari pengguna, berdasarkan yang memperbarui nilai variabel "produk_kuantitas". Fungsi set (update_quantity) dicolokkan seperti ini:

update_quantity(nilai uint256) publik {product_quantity = product_quantity + value;}

Sekarang, pasang semua pernyataan yang diberikan di atas untuk menulis kontrak pintar pertama Anda .

Menyebarkan kontrak pintar

Setelah Anda menyelesaikan langkah-langkah seperti yang disebutkan sebelumnya, sekarang saatnya untuk menguji kontrak pintar Anda. Anda dapat melakukan hal yang sama menggunakan Remix IDE, yang menyediakan kemampuan kompiler Solidity untuk membuat, menguji, dan memvalidasi kontrak pintar Anda secara online.

Berikut adalah petunjuk bertahap untuk merancang dan menerapkan kontrak cerdas dengan Remix Online IDE:

  1. Klik pada ikon plus untuk membuat file baru (kosong)
  2. Klik untuk membuka file kosong
  3. Tempel kontrak Anda ke dalam file ini
  4. Buka menu sebelah kiri dan klik ikon kedua, tepat di bawah ikon file. Dengan ini, opsi kompiler soliditas akan muncul
  5. Buka label kompiler untuk memilih versi kompiler
  6. Klik pada file untuk mengkompilasi kontrak pintar
  7. Setelah kompilasi, klik tombol detail kompiler untuk memahami bytecode dan antarmuka biner aplikasi. Bytecode berisi kode operasional Ethereum dan logika kontrak pintar setelah konversi dan kompilasi
  8. Di menu sebelah kiri, klik ikon di bawah ikon kompilasi untuk menerapkan kontrak pintar Anda

Berinteraksi dengan kontrak yang dikerahkan

Metode publik yang disebutkan dalam kontrak menyediakan cara untuk berinteraksi dengan kontrak yang diterapkan. Dalam konteks Pesanan Pembelian, “update_quantity” dan “get_quantity” adalah dua metode interaksi yang tersedia. Anda juga dapat memasukkan parameter Anda menggunakan kotak input. Ingatlah bahwa setiap operasi yang mengubah variabel kontrak akan menghasilkan transaksi.

Dengan ini, kami telah membahas dasar-dasar cara menulis kontrak pintar pertama Anda , dan cara menguji dan menerapkannya menggunakan bahasa pemrograman Solidity di lingkungan pengembangan online. Kami juga memahami proses interaksi dengan kontrak pintar dan memulai transaksi. Jadi, terapkan pembelajaran Anda dan buat kontrak cerdas hari ini. Bagaimanapun, latihan menjadi sempurna!

Membungkus

Ada peningkatan karir dalam teknologi blockchain dan blockchain telah sangat mengubah wajah industri teknologi selamanya. Jika Anda tertarik untuk menjadi pengembang blockchain dan membangun kontrak cerdas dan kode rantai, periksa program sertifikat Lanjutan IIIT-B & upGrad dalam teknologi blockchain

Apa saja kemungkinan penerapan kontrak pintar?

Kontrak pintar adalah program komputer yang menjalankan kondisi kontrak secara otomatis. Mereka menggunakan teknologi blockchain, yang merupakan basis data terdistribusi yang memungkinkan transaksi yang aman, transparan, dan anti-rusak. Penyewaan mobil, pemesanan hotel, dan tiket acara hanyalah beberapa contoh bagaimana kontrak pintar dapat digunakan.

Mengapa kontrak pintar dianggap lebih aman daripada kontrak biasa?

Karena kontrak pintar diimplementasikan pada jaringan blockchain, mereka dianggap lebih aman daripada kontrak tradisional. Blockchain adalah database terdistribusi yang diamankan secara kriptografis. Ini berarti bahwa informasi di blockchain tidak dapat diubah atau diretas. Hasilnya, eksekusi kontrak cerdas dijamin tepat dan dapat diandalkan. Mereka juga bersifat publik dan dapat diaudit, yang berarti semua orang di blockchain dapat melihat kondisi kontrak dan memeriksa apakah kontrak tersebut sedang dilaksanakan. Di sisi lain, kontrak pintar dapat membantu menurunkan risiko penipuan dan konflik. Intinya adalah mereka memiliki banyak fitur dan mudah digunakan.

Mengapa kontrak pintar menjadi lebih populer?

Salah satu keuntungan paling penting dari kontrak pintar adalah mereka dapat membantu organisasi dalam mengotomatisasi prosedur dan menurunkan biaya. Misalnya, perusahaan dapat menggunakan perjanjian cerdas untuk membayar pemasoknya segera setelah pengiriman dilakukan. Ini akan mengurangi kebutuhan perusahaan untuk memproses pembayaran secara manual, menghemat waktu dan uang. Ini juga dapat digunakan untuk membangun kepercayaan antara perusahaan dan pelanggan mereka. Misalnya, kontrak cerdas dapat digunakan untuk membangun sistem pembayaran online yang aman. Ini akan memungkinkan pelanggan untuk melakukan pembayaran tanpa takut informasi pribadi mereka dikompromikan. Last but not least, ini dapat digunakan untuk membangun identitas digital untuk orang dan bisnis. Bisnis akan dapat mengotentikasi identitas pelanggan mereka dan melindungi mereka dari penipuan sebagai akibat dari ini.