All Projects → input-output-hk → marlowe

input-output-hk / marlowe

Licence: other
Prototype implementation of domain-specific language for the design of smart-contracts over cryptocurrencies

Programming Languages

javascript
184084 projects - #8 most used programming language
haskell
3896 projects
TeX
3793 projects
Isabelle
26 projects
Coq
218 projects
HTML
75241 projects

Marlowe

This repository contains Marlowe, a domain-specific language (DSL) for describing financial smart contracts that can be enforced by scripts deployed on a blockchain, as well as some tools for analysing and simulating the execution of contracts written in the DSL.

Learning about Marlowe and Marlowe Playground

The Marlowe tutorials introduce Marlowe and the Marlowe Playground.

Versions of Marlowe

The master branch contains the latest version of Marlowe, version 3.0.

An earlier version of Marlowe is described in a paper that was presented at ISoLA 2018. This version is tagged v1.3 and a minor update on this is tagged v1.3.1. Versions 1.x, and 2.0 can also be found in the master branch under semantics-1.0, and semantics-2.0, respectively.

Build on MacOS

Requirements: Homebrew, Haskell Stack 1.6 or later.

Install Haskell Stack if you haven't already

$ brew install haskell-stack

$ brew install glpk
$ stack setup
$ stack build

Build on Ubuntu

$ sudo apt-get install -y haskell-platform haskell-stack # Install haskell tooks and stack
$ sudo apt-get install -y glpk-utils libglpk-dev # Install glpk solver
$ sudo stack upgrade  # Upgrade to the latest version of stack. apt downloads v1.9.3 of stach which cannot fetch lts-15.6 version of ghci. https://github.com/nh2/static-haskell-nix/issues/95

$ stack setup
$ stack build

Build Isabelle proofs

Requirements: Isabelle CLI

$ cd isabelle
$ isabelle build -d. Test
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].