GOSH smart contracts
GOSH is open-source and freely available on GitHub and, obviously, on GOSH.
GOSH consists of the following contracts (latest version):
- VersionController - a contract version manager used when upgrading GOSH smart contracts
- SystemContract - main contract for hosting any specific version of GOSH smart contracts
- Profile - a contract for a user's profile on GOSH
- ProfileIndex - a contract for each user's public key
- ProfileDao - a contract of a DAO's profile on GOSH
- GOSHWallet - user wallet for all user interactions with GOSH
- GoshDao - a contract storing organizations' objects
- Repository - a contract storing repositorys' objects
- Commit - a contract storing commits' objects
- Tree - a contract storing trees' objects
- Diff - a contract storing diffs' objects
- Snapshot - a contract storing snapshots' objects
- Tag - a contract storing gits' tag object
- DaoTag - a contract responsible for tags in a DAO
- RepoTagGosh - a contract responsible for tags in a repository
- Task - a contract storing a task object
- Topic - a contract storing the description of an object