Tutorial DAML: Memulai DAML

Apakah Anda mencari tutorial DAML? Jika ya, berarti Anda telah datang ke tempat yang tepat. Pada artikel ini, kami akan melakukan tutorial blockchain DAML yang tepat.

Tutorial akan membahas pemahaman dasar tentang DAML, mengapa itu diperlukan, dan contoh kode untuk memahaminya. Jika Anda seorang pemula, Anda akan menemukan tutorial untuk memulai DAML. Singkatnya, ini adalah tutorial DAML yang sempurna untuk pemula. Namun, ini bukan tutorial pengembangan DAML yang lengkap karena kami tidak akan membuat aplikasi lengkap apa pun dalam tutorial karena ini berada di luar cakupan artikel..

Tutorial DAML: Memulai DAML

Tutorial DAML

Jadi, apakah DAML itu? Mari kita jelajahi.

Butuh penyegar blockchain? Lihat panduan Blockchain untuk Pemula untuk memulai! Juga, lihat Panduan Utama kami untuk DAML.

Apa itu DAML?

DAML adalah bahasa pemrograman sumber terbuka untuk mengembangkan aplikasi terdistribusi. Ini memungkinkan pengembang membuat aplikasi terdistribusi tersebut secara ringkas, cepat, dan benar.

Hyperledger mempertahankan DAML dan menjadikannya bagian dari ekosistemnya. Ini juga menjadikan DAML salah satu bahasa pemrograman yang berjalan di atas platform blockchain terkemuka di luar sana. Ya, ini diterima oleh banyak platform. Ini juga memudahkan pengembang untuk mengembangkan aplikasi mereka dengan cepat dan kemudian memutuskan di mana mereka ingin menerapkannya.

Apa yang membuat DAML begitu spesial?

DAML adalah bahasa pemrograman untuk membangun bahasa terdistribusi. Dengan semakin banyaknya perusahaan yang memahami pentingnya aplikasi terdistribusi, DAML menyediakan alat bagi perusahaan tersebut dan pengembangnya untuk mencapai tujuan mereka. Faktanya, ini adalah salah satu alat luar biasa yang memungkinkan Anda mengambil aplikasi terdistribusi dalam kendali Anda.

DAML menangani masalah desain keras secara langsung karena memberikan solusi untuk masalah kompleks seperti sinkronisasi status terdistribusi dan kriptografi. Untuk mencapai tujuan tersebut, didesain ulang.

Desain atau implementasi yang mendasarinya diabstraksi ketika pengembang menulis aplikasi blockchainnya. Ini memungkinkan pengembang fokus pada persyaratan abstrak dan membiarkan DAML menangani semua kerja keras. Dengan mengetahui bahwa DAML itu spesial, Anda dapat lebih menghargai belajar DAML menggunakan tutorial DAML kami.


Fitur DAML

Di bagian tutorial DAML ini, kita akan belajar tentang fitur utama DAML.

Model data: DAML memungkinkan pengembang membuat skema data kompleks untuk aplikasi mereka dengan mudah. Ini memudahkan untuk merancang dan menerapkan persyaratan atau proses bisnis yang kompleks.

Izin mendetail: Kontrak DAML disesuaikan untuk mengatur izin. Artinya, pengembang dapat menetapkan siapa yang dapat menandatangani kontrak, siapa yang dapat melihatnya, dan pada kondisi apa.

Logika bisnis: Logika bisnis juga dapat diintegrasikan dengan mudah. Pengembang dapat menulis tindakan yang diperlukan dalam kontrak, pernyataannya, parameternya, dan lainnya!

Pengujian Berbasis Skenario: Pengujian berbasis skenario juga dimungkinkan dengan DAML. Ini memungkinkan pengembang menguji logika bisnis dan aspek lain dari aplikasi terdesentralisasi Anda, seperti alur kerja.

Fitur Waktu Proses

Selain empat fitur inti di atas, kami juga memiliki DAML Runtime. Runtime mengacu pada lingkungan yang dibuat oleh aplikasi selama eksekusinya. Dalam keadaan ini yang memiliki fitur utama yang membuat program berjalan secara efisien dan efektif. Dengan mempelajarinya di tutorial DAML, Anda akan dapat memperkuat pembelajaran DAML Anda.

Mari kita bahas di bawah ini.

Abstraksi Penyimpanan → Abstraksi penyimpanan menawarkan lapisan persistensi yang memastikan bahwa semua program DAML bersifat penyimpanan-agnostik. Secara sederhana, program DAML tidak bergantung pada penyimpanan yang dipilih karena dapat mengonversi data tersebut ke dalam format yang dapat dicerna.

penyimpanan-abstraksi

Pemeriksaan Otorisasi → Otorisasi memeriksa semua tindakan dalam kontrak. Jika tindakan tersebut tidak lolos otorisasi yang sesuai, tindakan tersebut tidak akan diizinkan untuk dijalankan.

daml-tutorial-otorisasi-cek

Kontrak tersebut kemudian akan memunculkan kesalahan waktu proses dan menginformasikan pembeli atau pengembang.

daml-tutorial-error.

Pelacakan Akuntabilitas → Runtime juga bertanggung jawab untuk pelacakan akuntabilitas. Itu memastikan bahwa para pihak secara sukarela memasuki perjanjian. Untuk mewujudkannya, dibutuhkan tanda tangan penandatangan. Hal ini dilakukan untuk melindungi pembeli dari segala perilaku paksa dari pihak penyelenggara atau penjual.

Komposabilitas Atom → DAML mendukung desain atom. Ini berarti bahwa semua tindakan dilakukan secara atomik dan karenanya dapat dilakukan atau tidak dilakukan sama sekali. Tidak ada jalan tengah dalam hal melaksanakan kontrak. Ini dilakukan untuk memastikan keamanan alur kerja dan menjauhkan pengeksploitasi.

Tidak Ada Pembelanjaan Ganda → Dengan runtime DAML, kontrak dirancang untuk memastikan bahwa tidak ada pengeluaran ganda yang mungkin dilakukan. Artinya kontrak yang sama tidak bisa dieksekusi dua kali.

Privasi yang Perlu Diketahui → DAML menawarkan level sub-transaksi, yang membuat informasi tersedia saat disetujui.

Eksekusi Determinan → Terakhir, runtime mendukung eksekusi deterministik. Ini berarti bahwa efek tindakan apa pun bergantung pada status buku besar saat ini.

Memulai DAML

Di bagian tutorial DAML ini, kita akan melihat panduan memulai untuk tutorial blockchain DAML. Sebelum Anda dapat menggunakan DAML, Anda perlu menginstalnya.

Untuk menggunakan DAML, Anda harus mengikuti proses dua langkah.

1) Memasang Dependensi

Untuk menggunakan DAML, Anda harus menginstal dependensi terlebih dahulu. Untuk melakukannya, Anda perlu mengunduh SDK dan menginstalnya di sistem operasi Anda.

Selain itu, akan lebih baik jika Anda juga memiliki yang berikut ini

  • Visual Studio Code atau lingkungan pengembangan terintegrasi yang kompatibel
  • JDK 8 atau lebih tinggi.

2) Penginstalan SDK

Jika Anda menggunakan Windows, Anda dapat membuka tautan, dan unduh file yang dapat dieksekusi.

Untuk Linux atau MAC, Anda perlu menjalankan perintah berikut menggunakan curl.

curl –sSL https://get.daml.com/ | SH

Ini akan meminta Anda untuk menambahkan ~ / .daml / bin ke variabel PATH Anda. Setelah selesai, Anda siap menggunakan DAML.

Panduan Pemula Tutorial DAML

Apakah Anda belum pernah bekerja dengan DAML? Kemudian, jangan khawatir, karena di bagian ini, kita akan membahas dasar-dasar DAML, tipe datanya, templat, fungsi, ekspresi, dan sebagainya.!

Tapi, sebelum kita melakukannya, kita perlu memahami Model Buku Besar DA (Aset Digital). Ini adalah bagian penting dari tutorial DAML kami.

Model Buku Besar DA

Model Buku Besar DA adalah inti dari DAML. Ini menawarkan alur kerja multi-pihak dengan bantuan buku besar bersama virtual. Untuk mendapatkan ide yang lebih baik, Anda dapat memeriksa tangkapan layar di bawah ini.

DAML-Tutorial-Ledger-Model

Sumber: Dokumentasi DAML

Model tersebut digunakan untuk menentukan, struktur buku besar DA (apa), model integritas (siapa yang dapat meminta), dan model privasi (siapa yang dapat melihat).

Untuk mendapatkan pemahaman yang lebih mendalam tentang Model Buku Besar DA, lihat dokumentasi resmi sini.

Kontrak Dasar

Di inti DAML, Anda akan menemukan buku besar DAML. Kami akan melalui templat kecil karena akan membantu kami memahami konsep-konsep penting, termasuk transaksi, kontrak templat, penandatangan, modul DAML, dan file.

Komit

DAML Ledger berisi daftar “komit”. Sederhananya, komit adalah transaksi yang diserahkan ke buku besar. Sesuai kontrak, Anda dapat menganggapnya sebagai transaksi aktif yang perlu dieksekusi, dan pelaksanaannya bergantung pada atribut dan ketentuan kontrak..

Modul dan file DAML

Sebelum memulai, Anda perlu menyebutkan versi DAML. Ini dapat dilakukan di bagian atas file DAML. Versi tersebut akan memberi tahu kompiler versi bahasa mana yang digunakan.

sial1.2

Untuk mengimpor modul, Anda perlu menggunakan kata kunci “modul”.

moduleTokenwhere

Komentar

Jika Anda ingin menambahkan komentar, Anda dapat melakukannya dengan menggunakan kata kunci “-”.

– Ini adalah komentar

Template

Template digunakan untuk menentukan jenis kontrak. Ini mendefinisikan entitas yang memiliki akses untuk melaksanakan kontrak. Anda dapat menganggap kontrak sebagai contoh template.

Template Token

dengan

pemilik: Pesta

dimana

pemilik penanda tangan

Seperti yang Anda lihat, kami mendefinisikan template Token menggunakan kata kunci “template”. Ini juga membutuhkan argumen. Satu hal lagi yang dapat Anda perhatikan adalah bahwa ini berorientasi pada spasi. Jika Anda pernah menggunakan Python sebelumnya, Anda akan memahami bagaimana kode tersebut disusun dan dimaksudkan.

Terakhir, Anda dapat melihat kata kunci penandatangan, yang menandakan penandatangan kontrak contoh. Otoritas pihak ini diperlukan untuk mengambil tindakan pada kontrak, termasuk mengarsipkan dan membuatnya.

Memahami skenario menggunakan templat

Sekarang kita telah memahami struktur dasar template, sekarang kita akan memahami skenario menggunakan dua template lain dalam tutorial DAML kita. Tapi, sebelum kita melakukannya, mari kita pahami apa sebenarnya “skenario.

Skenario

Skenario paling baik dideskripsikan sebagai resep uji yang dapat digunakan untuk memeriksa apakah template berfungsi sebagaimana mestinya. Ini dapat digunakan untuk melakukan tes transaksi. Mari kita lihat contoh di bawah ini.

token_test_one = skenario lakukan

sam <- getParty “sam”

kirimkan sam do

buat Token dengan owner = sam

Di atas adalah skenario dasar yang berhubungan dengan Token untuk pihak yang dikenal sebagai “sam.”

Untuk menjalankan skenario, Anda perlu menggunakan studio DAML.

Untuk mempelajari lebih lanjut tentang skenario tersebut, kami sarankan Anda untuk memeriksa halaman dokumentasi skenario di sini.

Tipe data

Sama seperti bahasa pemrograman lainnya, DAML juga mendukung tipe data. Jenis data memungkinkan Anda menentukan variabel dan menyimpan data di sana.

Untuk mempermudah Anda, anggap template sebagai tabel database. Sekarang, Anda dapat menyimpan data dalam templat dan membantu diri Anda sendiri mengelolanya dengan mudah melalui desain templat.

Ada banyak tipe data asli yang DAML masuki. Ini mencakup yang berikut ini.

  • Pesta → Untuk menyimpan identitas entitas. Para pihak dapat mengajukan transaksi dan menandatangani kontrak.
  • Teks → Menyimpan karakter Unicode
  • Int → menyimpan bilangan bulat 64-bit
  • Decime → menyimpan bilangan fixed-point
  • Tanggal → menyimpan tanggal
  • Waktu → menyimpan waktu dalam UTC
  • RelTime → Menyimpan perbedaan waktu
  • ContractId → referensi ke jenis kontrak

Di bawah ini adalah kode untuk memahami beberapa tipe asli.

native_test = skenario lakukan

Sam <- getParty “Sam”

Mysterio <- getParty “Mysterio”

membiarkan

my_int = –657

my_dec = 0,001: Desimal

my_text = “Sam”

my_bool = Salah

menegaskan (Sam / = Mysterio)

menegaskan (-my_int == 123)

menegaskan (1000.0 * my_dec == 1.0)

assert (my_text == “Sam”)

DAML juga mendukung tipe data lain termasuk Tuple, List, dan Records.

Untuk mempelajari tentang tipe data di DAML, lihat halaman dokumentasinya sini.

Mengubah data menggunakan pilihan

DAML mendukung kekekalan. Itu berarti setiap kali ada kebutuhan untuk memperbarui data; kontrak baru perlu dibuat dengan data baru. Namun, tidak selalu demikian karena selalu ada sesuatu yang sangat kecil untuk diubah dan dimodifikasi. Misalnya, perusahaan mungkin ingin mengubah nomor teleponnya untuk digunakan pilihan.

Mari kita lihat contoh yang diambil dalam dokumentasi DAML.

template Kontak

dengan

pemilik: Pesta

pesta pesta

alamat: Teks

telepon: SMS

dimana

pemilik penanda tangan

pemilik pengontrol bisa

PerbaruiTelepon

: ContractIdContact

dengan

newTelephone: Teks

melakukan

buat ini dengan

telepon = telepon baru

Sebagian besar kode sudah cukup jelas di atas. Satu-satunya hal yang perlu Anda ketahui di sini adalah bahwa kami menentukan pilihan yang disebut “UpdateTelephone”.

Pilihan juga bisa digunakan sebagai delegasi. Terakhir, mereka juga dapat diintegrasikan ke dalam Model Buku Besar.

Untuk mempelajari lebih lanjut tentang pilihan DAML, Anda dapat melihat halaman dokumentasi resmi sini.

Menambahkan batasan ke kontrak

Anda juga dapat menambahkan batasan ke kontrak DAML menggunakan kata kunci “memastikan”. Anda juga dapat menggunakan mekanisme lain yang menggunakan kata kunci assert, abort, dan error untuk menambahkan batasan ke kontrak.

Namun, sebelum Anda melakukannya, Anda harus memiliki prasyarat templat yang tepat yang ditetapkan dalam kontrak Anda.

Untuk mempelajari lebih lanjut tentang batasan dan batasan, Anda dapat memeriksa dokumentasinya sini.

Partai dan Otoritas

DAML memiliki cara yang tepat untuk menangani pihak dan mengizinkan mereka untuk mengakses kontrak. Anda dapat menggunakannya untuk tidak hanya memberikan otoritas tetapi juga menulis pilihan lanjutan yang dapat mengubah cara kerja buku besar. Fleksibilitas ini penting karena memberikan alat yang cukup bagi para pihak untuk mengubah berbagai hal dan juga menjaga agar gagasan inti kontrak tetap utuh.

Misalnya, Anda dapat mencegah pencabutan IOU atau lebih baik melakukan otorisasi satu kali menggunakan alur kerja ajukan-terima. Ada banyak opsi yang dibuat dalam DAML untuk memberikan solusi untuk hampir setiap skenario di luar sana.

Baca lebih lanjut tentang pesta dan otoritas sini.

Kesimpulan

Ini membawa kita ke akhir tutorial DAML kita. Dalam tutorial ini, kami berhasil mempelajari tentang DAML dan apa yang membuatnya spesial. Kami juga mempelajari cara kerja internal DAML dan aspek utama lainnya dari bahasa pemrograman, seperti tipe data, skenario, dan sebagainya. Konsep utama ini akan membantu Anda terlibat dengan proyek DAML yang akan Anda lakukan di masa depan.

Jadi, apa pendapat Anda tentang DAML? Menurut Anda, apakah ia berpotensi menjadi bahasa pemrograman di mana-mana untuk membuat aplikasi terdesentralisasi? Beri komentar di bawah dan beri tahu kami.

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