Tutorial Ultimate Corda 2021

Bercita-cita menjadi ahli Corda? Tutorial corda berikut akan mencakup semua yang perlu Anda ketahui tentang mengembangkan aplikasi Corda.

Blockchain telah berkembang pesat. Ide teknologi buku besar terdistribusi telah memecahkan banyak masalah yang dialami organisasi saat ini. Tujuan utamanya adalah menjadi lebih efisien, aman, dan terukur tanpa menginvestasikan jutaan dolar.

Corda adalah platform blockchain sumber terbuka yang menyediakan ekosistem blockchain global. Ini menawarkan privasi yang ketat dengan penggunaan kontrak pintar. Ini juga membantu bisnis untuk bertransaksi secara langsung dan memberikan pendekatan hemat biaya untuk merampingkan operasi bisnis.

Perbedaan utamanya adalah bagaimana Corda menangani transaksi. Ini adalah DLT yang ingin meningkatkan kelayakan, kecepatan, dan skalabilitas blockchain dengan tidak memiliki buku besar lengkap dengan setiap rekan. Jika transaksi dapat diselesaikan antara dua rekan tanpa memberi tahu seluruh jaringan, Corda akan menggunakan pendekatan itu. Ini juga dirancang untuk menyertakan pihak lain yang memudahkan untuk mengikuti transaksi dan melihat validitasnya. Ini adalah teknologi buku besar terdistribusi untuk bisnis.

Mari kita mulai dengan tutorial blockchain Corda sekarang!

Segera akan datang: Panduan Pemula untuk Kursus Pengembangan Corda

Bagaimana Tutorial Pengembangan Corda Disusun?

Kami akan membahas Corda secara detail. Di sebagian besar bagian, kami akan mencoba membahas konsep Corda yang penting.

Konsep utama yang akan kita bahas meliputi yang berikut ini.

  • Negara
  • Kontrak
  • Bagian aliran

Tutorial kami akan membuat aplikasi IOU. IOU adalah singkatan dari “I Owe yoU”. Ini adalah presentasi sederhana tentang fakta bahwa seseorang memiliki uang dari orang lain. Kami akan membahas konsep lebih detail nanti.

Untuk mempermudah, kami akan menggunakan bahasa pemrograman Kotlin. Sebagai seorang pembelajar, alangkah baiknya jika Anda mengetahui Kotlin, tetapi itu bukan keterampilan yang diperlukan untuk harus mengikuti tutorial.

Alat

Sebelum kita mulai dengan tutorial Corda untuk pemula, kita membutuhkan alat-alat berikut. Ada juga alat blockchain yang sangat suka digunakan oleh pengembang. Namun, kami tidak akan membahasnya hari ini.

  • Kotlin
  • Gradle
  • Git
  • IntelliJ
  • Garis komando

Sebagai lingkungan pengembangan terintegrasi, kami akan menggunakan IntelliJ. Ini akan menyederhanakan perkembangan kita.


Tutorial Corda

Apa Corda?

Blockchain Corda paling baik didefinisikan sebagai open-source yang memecahkan masalah bisnis dengan menyediakan jaringan blockchain yang dapat dioperasikan. Fitur utamanya termasuk privasi yang ketat, efisiensi, dan transaksi langsung menggunakan teknologi kontrak pintar.

Kontrak pintar yang digunakan di Corda dapat ditulis menggunakan bahasa JVM atau Java. DApps dalam platform Corda dikenal sebagai CorDapps. Juga, mereka menawarkan jaringan node peer-to-peer dengan kemampuan untuk menggunakan infrastruktur Notary. Infrastruktur digunakan untuk memvalidasi dan mengurutkan transaksi tanpa perlu menyiarkan detail transaksi ke setiap peer di jaringan.

Komponen penting lainnya yang digunakan oleh blockchain termasuk kerangka Flow, yang mengelola negosiasi dan komunikasi di antara peserta.

Memahami Corda Ledger

Corda Ledger tidak sama dengan sistem ledger yang digunakan oleh teknologi blockchain tradisional. Itulah mengapa kita perlu memiliki pemahaman yang jelas tentang cara kerjanya dan memahaminya dari sudut pandang fungsional dan perspektif datanya..

Buku besar Corda bekerja seperti grafik. Semua node dalam grafik terhubung satu sama lain, baik secara langsung atau melalui beberapa node lainnya. Semua node dapat berkomunikasi satu sama lain jika mereka mau. Penggunaan grafik berarti tidak perlu menyiarkan transaksi secara global.

Penemuan node

Jadi, bagaimana node menemukan satu sama lain? Mereka menggunakan peta Jaringan untuk menemukan satu sama lain. Anda bisa memikirkannya, mirip dengan buku telepon. Peta Jaringan berisi metadata untuk menemukan setiap layanan ini dan karenanya memberikan cara yang bagus untuk penemuan peta.

Bagaimana cara kerjanya?

Tantangan terbesar dalam jaringan blockchain siaran non-global adalah konsensus. Jadi, bagaimana node mengetahui satu sama lain dan memverifikasi informasi itu?

Jawabannya di sini adalah fakta yang dibagikan. Setiap node tumpang tindih dengan node lain dalam beberapa cara atau lainnya. Fakta yang dibagikan disimpan dalam buku besar Corda, yang kemudian dapat digunakan untuk memverifikasi informasi. Buku besar Corda berisi satu set set ini. Karena tidak ada node pusat, node ini bertindak sebagai proxy ketika ada kebutuhan untuk memverifikasi berbagai hal. Untuk menyimpan informasi tersebut, setiap node memiliki vault yang berisi fakta yang tidak dapat diubah. Beginilah cara pengembang menerapkan blockchain.

Serikat

Status dalam blockchain Corda tidak dapat diubah. Mereka digunakan untuk menyimpan fakta bersama tentang transaksi, perjanjian, atau kontrak pada titik waktu tertentu.

Kedengarannya teknis? Mari kita coba memecahnya dengan kata-kata yang lebih sederhana.

Fakta yang dibagikan

Mari kita ambil dua orang menggunakan buku besar Corda. Sebut saja mereka Alpha dan Bravo.

Keduanya memiliki fakta yang sama. Fakta yang dibagikan adalah IOU (I Own You). IOU digunakan ketika pemberi pinjaman memiliki uang karena penyedia pinjaman. Untuk membuat fakta dibagikan, keduanya memiliki informasi bersama yang sama yang diwakili di IOU.

Mewakili Apa Pun

Negara dapat digunakan untuk mewakili apapun. Ini berarti dapat menyimpan segala bentuk informasi untuk kasus penggunaan corda yang berbeda. Sebagai pengembang, Anda dapat menggunakan negara bagian untuk menyimpan informasi KYC, instrumen keuangan, pinjaman sindikasi, dan sebagainya.

Selain itu, status dapat digunakan untuk menyimpan beberapa atribut. Tetapi ada batasan untuk negara bagian. Batasannya adalah begitu suatu keadaan diberi tipe, tipenya tidak dapat diubah. Jika Anda membuat status IOU, status IOU harus dinyatakan seumur hidup.

Abadi dan Berkembang

Negara diciptakan untuk menjadi tidak berubah. Namun, kekekalan mereka menyangkut waktu. Suatu keadaan disajikan pada waktu tertentu.

Ini berarti bahwa negara bagian baru dapat dibuat selain keadaan semula. Ini dilakukan ketika ada perubahan baru yang dilakukan pada status yang perlu disimpan. Keadaan lama kemudian diistilahkan sebagai historis.

Misalnya, jika Alpha melunasi utangnya kepada Bravo, maka negara bagian baru akan dibuat, mengutip fakta bahwa Alpha telah melunasi utangnya. Selain itu, jika status selesai, IOU akan kedaluwarsa. Secara sederhana, siklus hidup suatu negara dalam hal ini adalah sebagai berikut.

  1. Negara bagian pertama dibuat untuk menunjukkan bahwa Alpha berhutang kepada Bravo. Negara bagian ini juga membagikan lebih banyak informasi tentang IoU, termasuk tanggal, waktu, suku bunga, jumlah yang dipinjamkan, dan informasi berguna lainnya yang diperlukan untuk IoU..
  2. Sekarang, ketika Alpha menyelesaikan utangnya, sebuah negara bagian baru dibuat yang memperbarui informasi baru. Keadaan lama tidak disentuh dengan cara apa pun karena tidak dapat diubah.
  3. Status baru sekarang diperbarui dalam fakta bersama di antara kedua pengguna.
  4. Sekarang, negara bagian lama disebut bersejarah. Mungkin ada beberapa status historis dalam satu transaksi. Ini dapat mengarah pada pembuatan urutan status.
  5. Kepala urutan dibuat, yang mengacu pada status terbaru. Selain itu, negara bagian terbaru juga disebut tidak dikonsumsi.

Baca selengkapnya: Panduan Perbandingan Hyperledger vs Corda vs Ethereum

Mempersiapkan Lingkungan Pembangunan

Sekarang, sesuai panduan pengembangan dApp, lingkungan harus siap untuk tutorial pengembangan Corda. Anda membutuhkan alat-alat berikut untuk memulai.

  • Oracle JDK 8 JVM – v8u171 atau lebih tinggi.
  • Git
  • IDE IntelliJ

Menggandakan repositori Git

Cara terbaik untuk memulai perjalanan kita adalah dengan menjalankan contoh CorDapp di lingkungan pengembangan kita. Kabar baiknya adalah Corda menawarkan contoh CorDapp yang dapat Anda unduh dan jalankan secara lokal.

Anda dapat mengkloning repositori secara lokal menggunakan perintah git clone seperti di bawah ini.

git clone http://github.com/roger3cev/corda-training-template.git

Untuk tutorialnya, kita akan menggunakan IntelliJ untuk mengimpor repositori git. Buka IntelliJ. Setelah selesai, Anda akan melihat opsi untuk memeriksa dari Kontrol Versi. Klik di atasnya dan kemudian klon repositori di komputer Anda.

Anda dapat memilih untuk menyimpan proyek; Anda akan menemukan repositori proyek seperti di bawah ini.

Di kanan bawah, Anda akan menemukan pemberitahuan yang mengatakan, impor Proyek Gradle seperti di bawah ini. Penting agar Tutorial Corda kami berfungsi.

Klik pada “Import Gradle Project”.

Anda juga perlu menyiapkan Project SDK. Buka pengaturan proyek, lalu pilih versi Java terbaru. Dalam kasus saya, itu diatur ke Java 11.0.5.

Jika Anda menemukan kesalahan apa pun untuk dijalankan, Anda harus mengupgrade Gradle Anda dan membiarkannya mengimpor repositori yang diperlukan agar berfungsi. Perlu waktu untuk melakukannya. Jadi, duduklah di kursi belakang dan tunggu sampai selesai.

Bagi saya, butuh waktu sekitar 20 menit untuk menyelesaikan semua pembaruan dependensi Gradle.

Mari kita bahas dengan cepat struktur proyek tutorial Corda kami. Repositori utama kami adalah file src. Saat kami menggunakan Kotlin, kami akan menggunakan folder sumber Kotlin; Anda akan menemukan folder src di bawahnya. Harap jangan bingung dengan folder sumber java.

Di sini, Anda akan menemukan semua file yang diperlukan di folder pelatihan. Ada juga folder “test” yang berisi unit pengujian untuk aplikasi tersebut.

File penting lainnya yang perlu kita ketahui adalah IOUState.kt. Itu terletak di dalam pelatihan > negara.

Membuat Tes Unit Negara Bekerja

Kelas IOUState terlihat sangat mendasar. Itu belum selesai. Kami akan menggunakan metodologi pengembangan berbasis pengujian untuk mengembangkan kelas dan menyiapkannya untuk bekerja.

Pengembangan yang digerakkan oleh pengujian adalah pendekatan yang bagus dalam hal praktik pengembangan modern. Ini membantu mengatasi bug atau masalah lain sejak awal.

Itulah mengapa template yang Anda download sudah memiliki pengujian yang sesuai untuk setiap kelas, termasuk contract, flow, dan state.

Untuk memulai, kita perlu pergi ke Tes > Kotlin> bersih > Corda > latihan > negara > IOUStateTests

Di sana Anda akan menemukan tes yang sudah ditulis. Itu juga dilengkapi dengan banyak dokumentasi. Tim R3 Corda telah meluangkan waktunya untuk membuat template.

Anda perlu menghapus tanda komentar pada bagian, seperti yang ditunjukkan di bawah ini, untuk membuat satu pengujian untuk dijalankan.

Pilih kode dan tekan Ctrl + / untuk menghapus komentar. Jika Anda menggunakan MAC, gunakan CMD + / untuk menghapus komentar.

Sekarang, saatnya kita menjalankan unit test.

Karena kelas IOUState kami hampir kosong, pengujian akan gagal, dan Anda akan mendapatkan error pengujian berikut.

Seperti yang Anda lihat, pengujian Kotlin-source: gagal karena NoSuchFieldException. Ini berarti bahwa pengujian mengharapkan variabel jumlah yang tidak ditemukan.

Untuk memperbaikinya, kita perlu kembali ke file IOUState.kt kita dan mengeditnya. Bila kamu tahu bagaimana membangun aplikasi blockchain maka itu akan menjadi tugas yang mudah bagi Anda.

Sebelum kita melanjutkan, kita perlu mendapatkan pemahaman yang lebih baik tentang Kotlin. Untuk memahami kode yang akan kita edit, lebih baik mendapatkan pendahuluan. Kotlin adalah bahasa pemrograman yang padat. Juga, Kotlin akan diubah menjadi mesin virtual JVM, jadi kita harus baik-baik saja dengan menggunakannya dalam tutorial kita..

  • data class IOUState → Kata kunci ini berarti kita mendefinisikan kelas data bernama “IOUState”.
  • val data → deklarasi variabel. Nama field adalah data
  • String = “data” → ini mendefinisikan nilai default dari variabel data jika tidak ada yang ditentukan.
  • ContractState → Antarmuka

Jika Anda membuat semua perubahan pada file IOUState.kt sesuai dengan pengujian, kelas IOUState akan terlihat seperti di bawah ini.

kelas data IOUState (val jumlah: Jumlah,

                   val pemberi pinjaman: Pesta,

                   val peminjam: Pesta,

                   val dibayar: Jumlah = Jumlah (0, jumlah.token),

                   mengesampingkan val linearId: UniqueIdentifier = UniqueIdentifier ()): LinearState {

   / **

    * Properti ini menyimpan daftar node yang dapat “menggunakan” status ini dalam transaksi yang valid. Dalam hal ini, file

    * Pemberi pinjaman atau peminjam.

    * /

   mengesampingkan val peserta: Daftar Dapatkan() = listOf (pemberi pinjaman, peminjam)

   / **

    * Metode pembantu saat membangun transaksi untuk menyelesaikan dan mentransfer IOU.

    * – [membayar] menambahkan jumlah ke properti berbayar. Tidak ada validasi.

    * – [withNewLender] membuat salinan dari keadaan saat ini dengan pemberi pinjaman yang baru ditentukan. Untuk digunakan saat mentransfer.

    * /

   menyenangkan bayar (jumlahToPay: Jumlah) = salinan (dibayar = dibayar.plus (jumlahToPay))

   menyenangkan withNewLender (newLender: Party) = copy (lender = newLender)

}

Sekarang, Anda seharusnya dapat menambahkan metode pembantu sesuai dengan komentar di atas.

Ingin menjadi ahli Corda? Ini panduannya hingga sertifikasi R3 Corda yang akan memandu Anda melalui proses sertifikasi Anda.

Kontak Corda

Kami belajar bahwa Amerika dapat berkembang menjadi negara bagian baru. Pengembang dapat mengontrol evolusi status on-ledger menggunakan kontrak. Pada bagian ini, kita akan mempelajari kontrak secara detail.

Karena R3 Corda tidak bergantung pada pesan siaran ke seluruh jaringan, Corda menggunakan definisi verifikasi transaksi umum untuk setiap jenis status. Dengan cara ini, jaringan Corda memverifikasi transaksi dan mendapatkan konsensus. Ini sangat mirip dengan bagaimana blockchain mencatat transaksi lainnya.

Kontrak Corda diimplementasikan melalui fungsi. Anda dapat menganggap status sebagai unit penyimpanan data dan kontrak adalah cara untuk memverifikasi data dan perubahan statusnya. Fungsi verifikasi ini khusus untuk jenis negara bagian.

Untuk memastikan bahwa negara bagian dapat diverifikasi dan dapat diservis, setiap negara bagian perlu dirujuk dengan kontrak.

Setiap kontrak berisi dua item, termasuk kode kontrak dan prosa hukum.

Untuk memahaminya, mari kita lihat gambar berikut.

Seperti yang Anda lihat, kontrak tersebut berisi dua item, dan di negara bagian, terdapat referensi kontrak IOU untuk kode tersebut.

Prosa Hukum: Prosa Hukum digunakan sebagai acuan kontrak hukum untuk perjanjian. Ini digunakan untuk memastikan bahwa kerangka hukum dan sistem peradilan yang ada dapat digunakan jika terjadi perselisihan.

Fitur utama lainnya dari Kontrak Corda termasuk yang berikut ini

  • Banyak kontrak dapat merujuk pada kontrak. Selain itu, kontrak dapat berisi beberapa jenis status
  • Corda menggunakan fungsi verifikasi untuk memverifikasi transaksi yang diusulkan
  • Tanda tangan metode verifikasi adalah seperti di bawah ini
  • fun verifikasi (tx: Transaksi): Satuan
  • Metode verifikasi memverifikasi transaksi dengan menjalankan semua batasan. Jika batasan gagal, maka pengecualian akan dilemparkan; jika tidak, transaksi akan dianggap valid.
  • Fungsi verifikasi bersifat deterministik.

Itu template blockchain juga berisi kode untuk kontrak Corda. Anda juga harus mendekati kontrak Corda yang serupa dengan negara bagian. Ini akan membantu jika Anda pergi ke unit uji Corda dan kemudian menambahkan kode yang diperlukan di Kelas Kontrak.

Transaksi Corda

Perhentian kami berikutnya adalah Transaksi Corda. Ini adalah transaksi yang memungkinkan perubahan status.

Jadi, apa itu transaksi? Ini dapat didefinisikan paling baik sebagai wadah yang berisi referensi status input (0 atau lebih). Mereka juga menghasilkan status (0 atau lebih).

Transaksi memungkinkan jaringan untuk bekerja secara optimal dengan memungkinkan beberapa peer untuk berinteraksi satu sama lain secara real-time. Ini memungkinkan dua pihak untuk melakukan pertukaran atom tanpa mengganggu aktivitas rekan lainnya. Juga, transaksi bersifat atom. Artinya, transaksi tidak akan pernah bisa dikurangi atau dibagi.

Ada juga tiga jenis transaksi: Asuransi, Pembaruan, dan Keluar. Masing-masing punya agenda sendiri-sendiri. Mari daftar di bawah.

  • Asuransi → Membuat negara bagian baru
  • Pembaruan → Ubah properti status
  • Keluar → Hapus status dari buku besar

Arus Corda

Corda Flows adalah langkah-langkah yang diperlukan oleh peer untuk melakukan (mengeksekusi) transaksi yang berhasil.

Alur menentukan logika bisnis inti CorDapp. Ini bertanggung jawab untuk memastikan transaksi dijalankan dalam urutan yang benar dan parameter yang benar. Karena transaksi bersifat kompleks, arus diperlukan untuk memastikan bahwa semuanya berfungsi sebagaimana mestinya.

Kontrol aliran memastikan kapan harus berkomunikasi, apa yang harus dikomunikasikan, dan dengan siapa untuk berkomunikasi.

Ini adalah kebalikan dari teknologi buku besar terdistribusi lainnya yang berfokus pada penyiaran detail transaksi ke seluruh jaringan. Corda berkembang dalam transaksi point-to-point dimana transaksi harus memiliki dua parameter penting, pengirim dan penerima.

Hal-hal penting yang harus Anda ketahui tentang arus

  • Aliran dapat selesai dalam beberapa detik atau dapat memakan waktu beberapa hari untuk diselesaikan
  • Mereka sepenuhnya otonom
  • Aliran tidur sebelum mereka menemukan menunggu tanggapan
  • Aliran mengikuti Flow Framework, yang menyediakan mekanisme bagi pengembang untuk memastikan pengembangan mesin status yang tepat.
  • Aliran dapat dipasangkan dan satu sisi
  • Pengembang juga dapat membuat kode sub-alur untuk membuat kode lebih sederhana

Ingin meningkatkan kemampuannya dan menjadi ahli? Berikut panduan cara membuat blockchain dengan Python.

Konsensus

Dari semua hal menarik yang telah kita bahas hingga saat ini, yang istimewa Corda adalah bagaimana mencapai mufakat. Corda memiliki pendekatan unik dan karenanya membuatnya layak untuk bisnis di luar sana.

Pertama-tama, Corda menggunakan dua algoritma konsensus. Ini termasuk yang berikut ini

  • Konsensus keunikan → Metode konsensus ini memastikan bahwa tidak ada konflik yang terjadi pada buku besar
  • Konsensus verifikasi → Konsensus verifikasi menangani transaksi dan memastikan bahwa tidak ada konflik yang terjadi sesuai kode kontrak. Ini memfasilitasi evolusi keadaan bersama dalam jaringan.

Hal-hal penting yang perlu Anda ketahui tentang Corda Consensus:

  • Konsensus unik memastikan bahwa pembaruan buku besar selalu unik. Juga, ini memastikan buku besar valid saat pembaruan dilakukan.
  • Konsensus verifikasi memastikan bahwa pembaruan tersebut valid.

Corda Node

Bagian terakhir dari Corda yang akan kita bahas di sini adalah Corda Node. Corda Node adalah tampilan tingkat tinggi dari Corda.

Jadi, apa sebenarnya node Corda itu?

Node Corda adalah entitas yang berjalan di Java Virtual Machine. Ini melibatkan hal-hal berikut

  • Menawarkan layanan penyimpanan dan brankas
  • SQL DB mendukung vault dan layanan penyimpanan
  • Folder khusus digunakan untuk menyimpan lampiran
  • Menawarkan fungsionalitas khusus dan ekstensi bawaan yang dikenal sebagai CorDapps
  • Menawarkan kerangka kerja klien RPC

Seperti inilah tampilan Corda node.

Seperti yang Anda lihat, ini berisi semua aspek yang diperlukan untuk menjalankan jaringan Corda. Mereka berinteraksi dengan aliran dan menyediakan fungsionalitas CorDapp khusus.

Kesimpulan

Ini membawa kita ke akhir tutorial Corda kita. Di sini, kami melihat Corda dan mencoba melihat IoU CorDapp. Kami membahas bagian-bagiannya yang berbeda dengan menggunakan pelatihan template yang tersedia di repositori Corda GitHub.

Fokus kami adalah memulai Corda tanpa mencoba menjelaskan semua yang ditawarkan Corda. Untuk itu, Anda selalu dapat menggunakan dokumentasi Corda. Kami juga memiliki kursus yang akan datang tentang tutorial pengembangan Corda. Anda pasti harus memeriksanya jika Anda ingin membutuhkan panduan pengembangan lengkap.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map