The authoritative repository of protocol buffers used by the Hedera Hashgraph public network, especially to define its gRPC API. Other repositories are used to deploy language-specific libraries generated from the *.proto files in this repository:
There are five primary service families, which inter-operate on entities controlled by one (or more) Ed25519 keypairs:
- The cryptocurrency service, for cryptocurrency accounts with transfers denominated in hBar (ℏ).
- The consensus service, for fast and unbiased ordering of opaque binary messages exchanged on arbitrary topics.
- The smart contract service, for execution of Solidity contract creations and calls; contract may both possess ℏ themselves and exchange it with non-contract accounts.
- The file service, for storage and retrieval of opaque binary data.
- The token service, for token related operations such as create, update, mint, burn, transfer etc.
There are also three secondary service families:
- The network service, for operations scoped to the network or its constituent nodes rather user-controlled entities as above.
- The scheduling service, for scheduling a transaction to be executed when the ledger has received enough prequisite signatures.
- The freeze service, for use by privileged accounts to suspend network operations during a maintenance window.
It is important to note that most network services are gated by fees which must be paid in ℏ from a cryptocurrency account. The payer authorizes a fee by signing an appropriate transaction with a sufficient subset of the Ed25519 key(s) associated to their account.
This repository uses a simple branching model with only two distinguished branches:
- The head of
main
points to the latest protobufs blessed for deployment to mainnet. Tags such asv0.12.0
mark commits used for testnet and mainnet deploys. - The head of
develop
points to the latest candidate for the next tag inmain
. Tags suffixed with-alpha.x
mark commits used for previewnet deploys.