Skip to content

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