We are building the next generation blockchain development platform that will completely transform the paradigm of decentralized application (DApp) development. DApps have enormous potential, but are impractical today because of barriers that have kept blockchain development risky and limited to specialists, like cryptographers. The Reach platform is a comprehensive environment that enables junior developers to build useful and safe DApps without years of experience and easily deploy them on a variety of different blockchain networks.
This repository is for the Reach language, the domain-specific language for trustworthy DApps used by the Reach platform.
Read the documentation.
If you want to work on the Reach compiler, you'll need:
- stack v2.7.1
- z3 v4.8.12
- solidity v0.8.9
- mo v2.2.0
Installation on macOS:
$ brew tap ethereum/ethereum
$ brew install haskell-stack z3 solidity
$ curl -sSL https://git.io/get-mo -o mo && chmod +x mo && sudo mv mo /usr/local/bin/
Installation on Ubuntu:
$ sudo apt update
$ sudo apt install z3
$ sudo snap install solc
$ curl -sSL https://get.haskellstack.org/ | sh
$ curl -sSL https://git.io/get-mo -o mo && chmod +x mo && sudo mv mo /usr/local/bin/
These instructions may not install the exactly correct versions, and that may
matter. If it does, consult hs/Dockerfile.reachc
to learn how to get specific
versions.
The source code is in the hs
directory.