Home » Docs

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: