๐Ÿ‡ฎ๐Ÿ‡ฉ Blog IOHK: Memperkenalkan alat command line interface baru untuk Marlowe

Versi dokumen orisinil: Introducing the new command line interface tool for Marlowe
Dipublikasikan pada tanggal 19 April 2022
Ditulis oleh Niamh Ahern
Terjemahan ke dalam :indonesia: Bahasa Indonesia oleh @andreassosilo
(Translated to Indonesian language by @andreassosilo)


Memperkenalkan alat command line interface baru untuk Marlowe

Pelajari cara mengirimkan transaksi dan berinteraksi dengan kontrak Marlowe dari CLI

19 April 2022 | Niamh Ahern | bacaan 5 menit

Introducing the new command line interface tool for Marlowe

Marlowe adalah open source, domain specific language (DSL) dengan rangkaian produk untuk komunitas yang akan mengkatalisasi adopsi Cardano di bidang keuangan. Hal itu terus ditingkatkan dan diperbarui, dan command line interface (CLI) adalah sesuatu yang tidak dapat Anda lakukan tanpanya. Jadi, kami menciptakan cara yang lebih nyaman untuk berinteraksi dengan Marlowe menggunakan alat CLI baru. Alat baru ini mendukung alur kerja langsung bagi pengguna yang ingin menjalankan kontrak dari command line. Hal ini memungkinkan Anda fokus pada kontrak Marlowe itu sendiri, sementara alat tersebut mengelola detail input dan status untuk kontrak tersebut. Selain itu, ia mengotomatiskan banyak aspek Plutus serta interaksi dengan node Cardano itu sendiri untuk mengurangi beban pengguna.

Tujuan

Marlowe CLI tool yang baru memfasilitasi pengembangan dan pengujian internal Marlowe kontrak. Hal ini termasuk mengukur ukuran transaksi, mengirimkan transaksi, menguji integrasi dompet, dan men-debug validator. Ini juga menyediakan integrasi dengan alur kerja dan perangkat pengembang eksternal untuk kontrak Marlowe, mirip dengan bagaimana komunitas pengembangan Cardano telah sangat mengintegrasikan alat Cardano CLI ke berbagai layanan seperti libraries, faucet, token minting, pasar, dan sebagainya.

Hal ini juga merupakan langkah penting di jalur pengujian stres kode kami sebelum peluncuran resmi Marlowe, karena menyediakan akses awal ke fitur dan kemampuan di testnet, dan kemudian di mainnet pada akhirnya.

Selain itu, alat CLI baru ini akan menjadi alat yang berguna untuk melatih pengguna tentang cara meningkatkan kecepatan menggunakan Marlowe. Kami akan mendemonstrasikan cara menggunakannya selama Marlowe Pioneers Program yang akan diluncurkan dalam beberapa minggu ke depan! Pantau terus saluran Marlowe Discord kami untuk detail tentang kapan kursus ini dimulai dan bagaimana Anda bisa terlibat.

Menjalankan kontrak Marlowe

Perintah marlowe-cli mendukung beberapa alur kerja berbutir halus dan tingkat tinggi untuk menjalankan kontrak Marlowe, tetapi di sini kita akan fokus pada alur kerja yang mengabstraksikan secara spesifik penggunaan bahasa Plutus oleh Marlowe. Alat ini dipasang mirip dengan alat Cardano lainnya, menggunakan perintah Cabal atau Nix standar. Penggunaan dasar hanya melibatkan beberapa perintah:

  • Buat kontrak contoh dari template
  • Inisialisasi kontrak sehingga transaksi pembuatan dapat diajukan
  • Terapkan masukan ke kontrak
  • Tarik dana dari kontrak
  • Kirim transaksi dari membuat, menerapkan input, atau menarik
  • Tanyakan riwayat kontrak

Gambar 1: Alur kerja tingkat tinggi untuk menjalankan kontrak Marlowe di command line. Setiap persegi panjang sesuai dengan menjalankan perintah marlowe-cli.

Ada beberapa cara untuk mendesain kontrak Marlowe, tetapi yang paling mudah adalah menggunakan perintah template CLI atau Marlowe Playground. Seseorang juga dapat membuat kontrak secara terprogram menggunakan Haskell, JavaScript, atau bahasa lain apa pun yang dapat menampilkan file JSON yang diperlukan yang mewujudkan kontrak dan status awalnya. Perintah template CLI dapat menghasilkan kontrak pengujian sederhana, kontrak escrow, obligasi tanpa kupon, pertukaran token, dan panggilan tertutup. Playground berisi delapan contoh kontrak, tetapi Anda juga dapat mendesain kontrak Marlowe khusus dengannya.

Setelah kontrak dibuat dan status awalnya ditentukan, perintah initialize CLI menggabungkan informasi tersebut bersama dengan detail jaringan Cardano tempat kontrak akan dijalankan. File .marlowe dengan format JSON yang dihasilkan berisi semua informasi yang diperlukan untuk menjalankan atau mempelajari kontrak Marlowe. Selain kontrak dan statusnya saat ini, kontrak tersebut berisi alamat validator Marlowe, salinan serial skrip Plutus, dan detail jaringan. Memeriksa dan mengekstrak informasi dari file JSON ini dapat berguna dalam mempelajari cara kerja Marlowe, tetapi tidak diperlukan untuk menjalankan kontrak Marlowe. Setelah informasi yang diperlukan ini digabungkan, perintah eksekusi run CLI mengirimkan transaksi Plutus yang sebenarnya ke blockchain Cardano, mencetak statistik tentang transaksi tersebut, dan menunggu konfirmasi.

Menerapkan input ke kontrak mengikuti proses yang lebih sederhana. Perintah prepare CLI memungkinkan Anda mengatur setoran dana ke kontrak, membuat pilihan di dalamnya, atau memberitahukannya. Ini mengambil file .marlowe sebelumnya sebagai input dan menghasilkan yang baru sebagai output, yang dapat Anda kirimkan dengan perintah eksekusi. Perintah persiapan akan memperingatkan Anda jika inputnya ilegal atau tidak tepat waktu.

Penarikan dana yang dibayarkan oleh kontrak Marlowe dilakukan dengan perintah tarik, yang memungkinkan Anda memilih alamat di mana dana akan diterima. Pemilihan alamat memberikan fleksibilitas dalam pencairan dana, sehingga alamat keluaran tidak โ€œterprogramโ€ ke dalam kontrak itu sendiri.

Menanyakan riwayat kontrak juga dapat dilakukan dari command line, atau Anda dapat menggunakan blockchain explorer Cardano.

Prospek

Command line tool juga menyediakan fitur lanjutan untuk membuat dan memanipulasi validator, datum, redeemer, dan hash Plutus yang terlibat dalam kontrak Marlowe. Kontrak juga dapat dikompresi (menggunakan hash Merkle), yang memungkinkan untuk menjalankan kontrak yang jauh lebih besar daripada batas protokol Cardano pada ukuran transaksi dan memori yang diizinkan. Anda juga dapat menggunakan CLI untuk menjalankan kontrak Marlowe pada PAB, menghilangkan kebutuhan akan manajemen UTxO dan membiarkan dompet mengelolanya.

Alat CLI ini ditingkatkan secara berkala untuk memenuhi kebutuhan developer saat mereka muncul. Selain lebih menyederhanakan alur kerja Marlowe, kemampuan pengujian kontrak alat ini sedang diperluas.

Silakan bergabung dengan kami di saluran Discord Marlowe untuk terlibat dalam diskusi, mengajukan pertanyaan, dan mendengar berita Marlowe terbaru.

Saya ingin berterima kasih kepada Brian Bush, software engineer untuk Marlowe, atas bantuannya dalam menulis blog ini.

1 Like