Membuat smart contract marlowe dengan fungsi pada part 1

Jika sebelumnya kita sudah memahami beberapa blok dan fungsi pada marlowe, kali ini kita akan mencoba menggunakan dan menerapkan fungsi tersebut untuk membuat smart contract sederhana.

Pertama, buka marlowe playground (meadow) pada link berikut di browser kita https://input-output-hk.github.io/marlowe/

Pertama kali tampilan editor marlowe akan seperti ini

Image for post
Image for post

Sudah ada blok yang tersusun atau code yang sudah siap dijalankan secara default saat kita pertama kali membuka playground. Tetapi kita tidak akan menggunakan code yang tampil secara default tersebut.

Selanjutnya hapus code tersebut dengan klik tombol clear di bagian sebelah kanan editor :

Image for post
Image for post

Setelah kita hapus, maka editor menjadi seperti berikut tampilannya :

Image for post
Image for post

Editor menjadi kosong dan hanya tersisa blok contract. Kemudian buka tab contract di sebelah kiri dan pilih commitcash. Seperti yang sudah kita ketahui, commitcash adalah blok atau fungsi untuk mengkomit uang.

Image for post
Image for post

Klik commitcash dan satukan dengan blok contract.

Image for post
Image for post

Commitcash withid 1 adalah id dari fungsi commitcash tersebut, person with id 1 adalah id dari orang yang melakukan komit. May deposit akan kita isi dengan fungsi constmoney. Buka tab money dan pilih constmoney.

Image for post
Image for post

Kemudian satukan dengan blok commitcash sebelumnya.

Kita isi constmoney tergantung berapa banyak uang yang ingin kita komit pada kontrak. Untuk case ini, kita komit 1000 ADA. Lalu isi ADA redeemable on block 0 or after menjadi ADA redeemable on block 100 or after. Dan if money is commited before block 0 menjadi if money is commited before block 10.

Image for post
Image for post

Ada redeemable on block 100 or after berarti uang yang kita komit pada kontrak akan dapat kita redeem pada block ke 100 atau setelah block ke 100. If money is commited before block 10 berarti jika uang kita dikomit sebelum block ke 10. Jadi pengertian dari semua itu adalah jika kita mengkomit uang kita sebanyak 1000 ADA pada kontrak, kita harus melakukan action sebelum block ke 10 yaitu action komit. Jika kita mengkomitnya sebelum block ke 10, maka uang yang kita komit akan dimasukkan kedalam kontrak tersebut dan kontrak tersebut akan terus berjalan dan uang yang sudah masuk kedalam kontrak akan dapat di redeem setelah block mencapai block ke 100 atau setelahnya. Jika kita tidak mengkomit sampai dengan block ke 10, maka kontrak tersebut akan batal, dan uang kita pun tidak jadi masuk ke dalam kontrak.

Continue as dan otherwise continue as kita isi dengan null yang ada pada tab contract.

Image for post
Image for post

Seperti itulah cara pembuatan kontrak pada marlowe, untuk artikel berikutnya kita akan mensimulasikan kontrak yang kita buat ini.

Tentang EMURGO

EMURGO mendorong adopsi Cardano dan menambahkan nilai bagi pemegang ADA dengan membangun, berinvestasi, dan menjadi advisor/konsultan kepada proyek atau organisasi yang akan mengadopsi ekosistem blockchain yang terdesentralisasi dari Cardano. EMURGO memanfaatkan keahliannya dalam R&D blockchain serta jaringan global mitra blockchain dan industri terkait untuk mendukung usaha secara global. EMURGO adalah badan komersial dan ventura resmi dari proyek Cardano, terdaftar di Tokyo, Jepang sejak Juni 2017 dan di Singapura sejak Mei 2018. EMURGO berafiliasi secara unik dan bekerja sama dengan IOHK untuk menumbuhkan ekosistem Cardano secara global dan mempromosikan adopsi blockchain Cardano.

Pelajari lebih lanjut tentang EMURGO dan Cardano dengan menggunjungi website resmi https://emurgo.io

Follow akun media social EMURGO Indonesia:

Twitter : https://twitter.com/emurgo_id
Facebook : http://bit.ly/Emurgo_id
Instagram : https://www.instagram.com/emurgo.id/

Written by

EMURGO Solusi Indonesia

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store