Belajar Membuat Smart Contract di Marlowe Playground

Jonas Sunandar
4 min readNov 9, 2020

--

Kamu bukan developer tetapi ingin belajar pembuatan smart contract? Atau developer yang ingin belajar mengenai pengembangan smart contract pada bidang finansial? Atau hanya ini cari tahu aja cara pembuatan smart contract diatas Cardano? Berarti artikel ini cocok untuk kamu baca.

Pengenalan Marlowe

Blockchain Cardano memiliki bahasa pemrograman untuk smart contract yang memang dikhususkan untuk dunia finansial, contohnya DeFi atau Decentralized Finance. Nah bahasa pemrogramannya disebut Marlowe. Marlowe disebut sebagai domain-specific language atau disingkat DSL. Jadi memang hanya dikhususkan untuk pengembangan smart contract yang berkaitan dengan finansial. Ini agak berbeda ya dari Solidity ataupun Vyper yang merupakan smart contract language yang bisa digunakan untuk banyak kegunaan. Untuk kalian yang belum paham tentang apa itu smart contract bisa cek blog ini yaa Apa itu Smart Contract

Untuk lebih jelasnya mengenai penjelasan Marlowe, bisa cek blog Marlowe Bahasa Smart Contract untuk DeFi

Marlowe Playground

Marlowe Playground adalah sebuah tool web-based yang bisa digunakan untuk berinteraksi, merevisi dan melakukan simulasi dari smart contract yang ditulis menggunakan bahasa pemrograman Marlowe. Disana bisa untuk memvisualisasikan smart contract, analisa statik, tutorial dan juga contoh-contoh smart contract untuk membantu para pemula memahami smart contract finansial pertama mereka.

Kamu bisa menjelajahi Marlowe Playground disini. Saat ini ada tiga buah sektor utama pada Marlowe Playground. Ada Simulator untuk pengecekan eksekusi dari contract, JS dan Haskell editor, dan Blockly visual programming language. Nah, langsung kita jabarkan aja ya penjelasan dari Blockly, Javascript Editor dan Haskell Editor ya.

Blockly

Blockly akan menjadi salah satu cara yang paling mudah untuk mempelajari Marlowe untuk pemula. Blockly adalah sebuah visual programming language yang menawarkan pengalaman yang miirip dengan Scratch, dengan menggunakan block yang disambungkan bisa membuat sebuah program yang dibuat menggunakan JavaScript, Python, PHP, Dart, dan lain sebagainya. Berikut screenshot dari salah satu contoh pada Marlowe Playground

Blockly Marlowe Playground

Bisa dilihat, user dapat dengan mudah melakukan drag and drop block didalam Blockly. Pada setiap block akan merepresentasikan fungsi yang akan dijalankan didalam smart contract menggunakan Marlowe. Bentuk, warna dan karakter juga bergantung dari penggunaan block itu sendiri. Contoh penggunaan blocknya pun juga tersedia sehingga akan sangat membantu bagi para pemula untuk belajar tanpa harus paham mengenai bahasa pemrograman terlebih dahulu

JavaScript Editor

Jika kamu adalah JavaScript programmer, bisa menggunakan JavaScript editor untuk menulis kode Marlowe.

  1. Buka Marlowe Playground
  2. Klik Start New Project
  3. Pilih JavaScript, nanti akan ada sebuah window seperti dibawah ini
Initial project pada Javascript Editor

4. Kamu bisa import nilai dan fungsi yang telah disediakan didalam library yang tertulis dalam TypeScript. Mereka bisa digunakan untuk membantu generate Marlowe smart contract dari TypeScript maupun JavaScript

5. Tuliskan kontrak pada editor, atau bisa juga mencoba contoh dari JavaScript. Ekspresi terakhir didalam file harus berupa tipe `Contract`, seperti contoh dibawah ini:

Tipe `Contract` wajib dimasukkan pada JS Editor

6. Klik Compile untuk mengkonversi contract dari JavaScript menjadi Marlowe

7. Kemudian klik Send to Simulator pada pojok kanan atas untuk mendapatkan simulasi per transaksi dari kontrak yang telah dibuat

Kamu bisa melihat lebih detail mengenai simulasi di Marlowe Tutorial

Haskell Editor

Jika kamu adalah Haskell developer, kamu bisa menggunakan Haskell editor untuk me-render kode Marlowe. Marlowe ditulis sebagai tipe data Haskell dan makanya cukup jelas untuk menghasilkan Marlowe smart contract menggunakan Haskell. Berikut tahapan untuk menggunakan Haskell editor

  1. Buka Marlowe Playground
  2. Klik Start New Project
  3. Pilih Haskell, nanti akan ada sebuah window seperti dibawah ini
Initial project di Haskell Editor

4. Sekarang kamu bisa mulai coding menggunakan Haskell atau bisa juga menggunakan contoh yang disediakan

5. Klik Compile untuk mengkonversi Haskell menjadi Marlowe

6. Kemudian, klik Send to Simulator

Simulator akan bisa mensimulasi kontrak Marlowe yang telah dibuat dari transaksi ke transaksi lain. Kamu bisa mendapatkan instruksi dalam cara mensimulasi Marlowe contract pada Section 10.3 dari Marlowe tutorial

Kesimpulan

Bahasa Marlowe adalah bahasa pemrograman yang dikhususkan untuk menulis kontrak finansial diatas Cardano Network. Marlowe Playground adalah salah satu tools yang dapat digunakan oleh developer maupun non-developer untuk mencoba mensimulasi dan pembuatan smart contract di Marlowe. Bisa menggunakan Blockly untuk non-developer, JavaScript maupun Haskell editor bagi developer.

Tentang EMURGO

EMURGO adalah perusahaan blockchain global yang menghadirkan solusi untuk developers, startups, enterprise, dan pemerintah. EMURGO mengembangkan aplikasi dengan standard enterprise, tools untuk developer, berinvestasi di startup, dan memberikan edukasi tentang teknologi blockchain. EMURGO memiliki kantor dan menangani proyek di Singapura, Jepang, Amerika Serikat, India, dan Indonesia. EMURGO juga adalah salah satu pendiri dari Cardano protocol.

Program Sertifikasi Blockchain: Foundations of Blockchain, Ethereum Developer Class

Pelajari lebih lanjut tentang EMURGO dengan mengunjungi website resmi kami di sini

Follow akun media sosial EMURGO Indonesia:

Twitter : http://bit.ly/EmurgotwitterId

Facebook :bit.ly/Emurgo_id

Instagram : http://bit.ly/EmurgoInstaId

Linkedin: http://bit.ly/emurgoidLinkedin

--

--