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

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors