Skip to content

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:

The general scheme of the interaction of 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 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