37 lines
1.4 KiB
Markdown
37 lines
1.4 KiB
Markdown
# 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)
|