GOSH smart contracts
GOSH is open-source and freely available on GitHub
GOSH is the most secure Git Implementation in existence.
It stores, manages and processes all the editable GIT objects entirely on-chain. It verifies the correctness of all object mutations by invoking automatic checks and verifications by smart contracts.
GOSH provides developers with a secure and transparent platform to collaborate on open-source projects and ensure the security of their software development and delivery as part of the software supply chain.
This is the general scheme of interaction between GOSH smart contracts:
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 repository object
- 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