The Prysm project aims to build a full-featured staking client for the Ethereum 2.0 network written entirely in the Go programming language. Originally released in early 2019 by Prysmatic Labs, Prysm implements the official Ethereum 'Serenity' 2.0 specification, which is the product of an ongoing collective research and development effort by various teams across the Ethereum ecosystem.
Prysm was originally a fork of Geth, a Go implementation of the existing Ethereum 1.0 network. When it became apparent that the existing Ethereum 1.0 network would ultimately be phased out, Prysmatic Labs took up the mantle of creating an equivalent for the upcoming 2.0 changes.
This manual is aimed at developers interested in exploring the Prysm 'Sapphire' testnet release, and reviews the concepts behind the changes made in Ethereum 2.0 as well as the core components of the Prysm client itself. Please note that, as the specification is a constantly evolving document, explanations are generally broad and comprehensive. For more detailed information or see the most recent developments, it is recommended to review the official Ethereum 'Serenity' 2.0 specification repository and the notes on Serenity's phases.