Qumeric / reach-lang

Reach: The Safest and Easiest DApp Programming Language

Home Page:http://reach.sh

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Reach

CircleCI Build Status GitHub License Docs Discord Twitter Follow Subreddit subscribers

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.

Development

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.

About

Reach: The Safest and Easiest DApp Programming Language

http://reach.sh

License:Apache License 2.0


Languages

Language:Haskell 55.2%Language:TypeScript 21.3%Language:JavaScript 15.9%Language:Roff 1.9%Language:Shell 1.6%Language:Makefile 0.9%Language:Python 0.9%Language:Dockerfile 0.5%Language:HTML 0.5%Language:C# 0.4%Language:Solidity 0.4%Language:Go 0.3%Language:SMT 0.2%Language:Racket 0.1%Language:Nim 0.0%