Skip to content

SiaFoundation/core

Repository files navigation

Sia Core

GoDoc Go Reference

core provides the foundational building blocks of the Sia network: the consensus rules, the peer-to-peer protocol, the renter-host protocol, and the core types and encoding they all share. It is the reference implementation of Sia's consensus-critical logic and is depended on by nodes, wallets, hosts, and tooling across the ecosystem.

It deliberately does not include the higher-level components needed to run a node — a blockchain manager, transaction pool, wallet, or gossip server. Those build on top of core and live in coreutils.

Packages

  • types — the essential types of the Sia blockchain (currencies, addresses, transactions, blocks, file contracts) and their binary/JSON encoding.
  • consensus — the Sia consensus algorithms: validating and applying blocks, tracking chain state, and maintaining the accumulator of unspent elements.
  • gateway — the peer-to-peer protocol used by nodes to discover peers and exchange blocks and transactions.
  • rhp/v2, rhp/v3, rhp/v4 — successive versions of the renter-host protocol for negotiating and settling storage contracts.
  • blake2b — a BLAKE2b implementation optimized for the Merkle-tree hashing used throughout Sia.

Installation

go get go.sia.tech/core@latest

core requires Go 1.26 or later.

License

core is licensed under the MIT License.

About

Core packages for the Sia project

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages