Introduction
Sophia is a functional language designed for smart contract development. It is strongly typed and has
restricted mutable state.
Sophia is customized for smart contracts, which can be published
to a blockchain. Thus some features of conventional
languages, such as floating point arithmetic, are not present in Sophia, and
some æternity blockchain specific primitives, constructions and types have been added.
!!! Note
- For rapid prototyping of smart contracts check out AEstudio! - For playing around and diving deeper into the language itself check out the REPL!
aesophia
This is the sophia compiler for the æternity system which compiles contracts written in sophia to FATE instructions.
The compiler is currently being used three places
Documentation
Additionally you can check out the contracts section of the æternity blockchain specification.
Versioning
Versioning should follow the semantic versioning guidelines. Id est, given a version number MAJOR.MINOR.PATCH, increment the:
- MAJOR version when you make incompatible API changes
- MINOR version when you add functionality in a backwards compatible manner
- PATCH version when you make backwards compatible bug fixes
Interface Modules
The basic modules for interfacing the compiler: