Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Project Identifier

...

  • Shawn Amundson <amundson@bitwise.io>
  • Silas Davis <silas@monax.io>
  • Greg Hill <greg.hill@monax.io>
  • Sean Young <sean@mess.org>

Abstract

Solang is a compiler for the Solidity language that can target ewasm (used by Hyperledger Burrow, future ethereum and others), Sawtooth Sabre, and Parity Substrate. It is written in rust and uses LLVM as the compiler backend. The aim is for full compatibility with the Solidity language where possible.

Once a compiler is written, other tooling can be written that depends on having compiler components available. Just like llvm is a compiler toolkit, Solang wants to be a Solidity toolkit. Linters, analysis tools, language servers, debuggers etc can be written by reusing the parsing/resolving phases of Solang.

Context

Solidity as a language does have its quirks, however it has established itself as a defacto language commonly used for smart contractcontracts. Having Solidity support for the Hyperledger ledger ledgers would be a great feature, conversely it would be beneficial for those project projects to collaborate on a common compiler component.

Dependent Projects

Solang does not depend on any other project.

...

This project is funded through a Web3 Foundation grant. In order to receive the grant, the project commits to a roadmap.  This roadmap means Solang will have full Solidity language support in fall 2020.

How To

The source code is host hosted on github: https://github.com/hyperledger-labs/solang . Solang can compile Solidity for use with Hyperledger Burrow, and Hyperledger Sawtooth. How this can be done is documented: https://solang.readthedocs.io/en/latest/running.html

References

Closure

The aim is to provide great tooling for Solidity developers, whatever ledger they are using.  If developers start using our tooling, then we are succeeding.

...

  •  Angelo De Caro
  •  Arnaud J Le Hors
  •  Christopher Ferris
  •  Dan Middleton
  •  Gari Singh
  •  Hart Montgomery
  •  Mark Wagner
  •  Nathan George
  •  Swetha Repakula
  •  Tracy Kuhrt
  •  Troy Ronda

...