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 contracts. Having Solidity support for the Hyperledger ledgers would be a great feature, conversely it would be beneficial for those projects to collaborate on a common compiler component.

Dependent Projects

Solang does not depend on any other project.

...

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.

Reviewed By