# Sophia This is the __Sophia__ compiler for the Gajumaru system which compiles contracts written in __Sophia__ to [FATE](https://gitlab.com/ioecs/protocol/-/blob/master/contracts/fate.md) instructions. The compiler is being used a few places - [The command line compiler](https://gitlab.com/ioecs/sophia_cli) - In [Gajumaru node](https://gitlab.com/ioecs/gajumaru) tests - [Clutch](https://gitlab.com/ioecs/clutch), the desktop wallet - Various backend systems that implement GRIDS ## Documentation * [Introduction](docs/index.md) * [Syntax](docs/sophia_syntax.md) * [Features](docs/sophia_features.md) * [Standard library](docs/sophia_stdlib.md) * [Contract examples](docs/sophia_examples.md) * [Contributing](CONTRIBUTING.md) Additionally you can check out the [contracts section](https://gitlab.com/ioecs/protocol/-/tree/master/contracts) of the Gajumaru blockchain specification. ## Versioning Versioning should follow the [semantic versioning](https://semver.org/spec/v2.0.0) guidelines. Id est, given a version number MAJOR.MINOR.PATCH, increment the: - MAJOR version when you make backward incompatible 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: * [aeso_compiler: the Sophia compiler](docs/aeso_compiler.md) * [aeso_aci: the ACI interface](docs/aeso_aci.md)