Go to file
kasey 918129cf36
Replace statefeed Initialize (#12285)
* refactor initialization to blocking startup method

* require genesisSetter in blockchain, fix tests

* work-around gazelle weirdness

* fix dep gazelle ignores

* only call SetGenesis once

* fix typo

* validator test setup and fix to return right error

* move waitForChainStart to Start

* wire up sync Service.genesisWaiter

* fix p2p genesisWaiter plumbing

* remove extra clock type, integrate into genesis

and rename

* use time.Now when no Nower is specified

* remove unused ClockSetter

* simplify rpc context checking

* fix typo

* use clock everywhere in sync; [32]byte val root

* don't use DeepEqual to compare [32]byte and []byte

* don't use clock in init sync, not wired up yet

* use clock waiter in blockchain as well

* use cancelable contexts in tests with goroutines

* missed a reference to WithClockSetter

* Update beacon-chain/startup/genesis.go

Co-authored-by: Radosław Kapka <rkapka@wp.pl>

* Update beacon-chain/blockchain/service_test.go

Co-authored-by: Radosław Kapka <rkapka@wp.pl>

* more clear docs

* doc for NewClock

* move clock typedef to more logical file name

* adding documentation

* gaz

* fixes for capella

* reducing test raciness

* fix races in committee cache tests

* lint

* add tests on Duration slot math helper

* startup package test coverage

* fix bad merge

* set non-zero genesis time in tests that call Start

* happy deepsource, happy me-epsource

* replace Synced event with channel

* remove unused error

* remove accidental wip commit

* gaz!

* remove unused event constants

* remove sync statefeed subscription to fix deadlock

* remove state notifier

* fix build

---------

Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
Co-authored-by: Radosław Kapka <rkapka@wp.pl>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: nisdas <nishdas93@gmail.com>
2023-05-03 04:34:01 +00:00
.github Fixed comments of the template (#11652) 2022-12-14 02:49:19 +00:00
.well-known Update security.txt (#9896) 2021-11-12 15:55:45 +00:00
api Move some errors to separate consensus-types package (#12329) 2023-04-25 15:07:24 +00:00
async Enable dupword linter & fix findings (#12271) 2023-04-18 22:01:27 +00:00
beacon-chain Replace statefeed Initialize (#12285) 2023-05-03 04:34:01 +00:00
build Update to V4 🚀 (#12134) 2023-03-17 18:52:56 +00:00
cache/lru Update to V4 🚀 (#12134) 2023-03-17 18:52:56 +00:00
cmd Replace statefeed Initialize (#12285) 2023-05-03 04:34:01 +00:00
config Proposer builds block in parallel. (Consensus vs Execution) (#12297) 2023-05-01 14:37:26 +00:00
consensus-types Move some errors to separate consensus-types package (#12329) 2023-04-25 15:07:24 +00:00
container Enable dupword linter & fix findings (#12271) 2023-04-18 22:01:27 +00:00
contracts/deposit Update to V4 🚀 (#12134) 2023-03-17 18:52:56 +00:00
crypto Enable dupword linter & fix findings (#12271) 2023-04-18 22:01:27 +00:00
encoding Update to go1.20 (#12333) 2023-04-27 15:41:57 +00:00
hack Enable dupword linter & fix findings (#12271) 2023-04-18 22:01:27 +00:00
io Enable dupword linter & fix findings (#12271) 2023-04-18 22:01:27 +00:00
math Change native execution value to Gwei Uint64 (#12291) 2023-04-22 00:44:28 +00:00
monitoring Enable whitespace linter & fix findings (#12273) 2023-04-18 18:58:27 +00:00
network Block rewards API endpoint (#12020) 2023-03-28 18:44:41 +02:00
proto Use mock v1alpha1 server in Beacon API's validator functions (#12319) 2023-04-26 18:59:29 +02:00
runtime Replace statefeed Initialize (#12285) 2023-05-03 04:34:01 +00:00
testing Replace statefeed Initialize (#12285) 2023-05-03 04:34:01 +00:00
third_party Update rules_go to v0.38.1 and go_version to 1.19.7 (#12055) 2023-03-13 19:22:37 +00:00
time Replace statefeed Initialize (#12285) 2023-05-03 04:34:01 +00:00
tools Enable dupword linter & fix findings (#12271) 2023-04-18 22:01:27 +00:00
validator Validator registration filter non active keys before submission (#12322) 2023-04-27 13:10:18 -05:00
.bazelrc Bazel: cleanup .bazelrc file (#12059) 2023-02-28 21:36:43 +00:00
.bazelversion Update bazel to 6.1.0 (#12121) 2023-03-13 23:17:26 +00:00
.buildkite-bazelrc Update .buildkite-bazelrc: change CI to use toplevel remote caching. (#10744) 2022-05-24 13:22:44 +00:00
.codecov.yml Codecov: ignore testing directories (#8777) 2021-04-16 08:44:36 -05:00
.deepsource.toml Update to V4 🚀 (#12134) 2023-03-17 18:52:56 +00:00
.dockerignore Add tool and script for interop testing (#3417) 2019-09-09 17:31:19 -04:00
.gitattributes linguist-generated=true for mock and pb go files (#1465) 2019-02-02 17:25:28 -05:00
.gitignore E2E: beacon APIs Part 1 (#11306) 2022-12-06 16:01:17 +00:00
.golangci.yml Enable dupword linter & fix findings (#12271) 2023-04-18 22:01:27 +00:00
.policy.yml Include Policy Bot Application (#7523) 2020-10-14 04:14:38 +00:00
.travis.yml Resolve Proto Lint Issues (#3044) 2019-07-22 14:10:17 -05:00
bazel.sh Fix All Deep Source Shell Issues and Go Issues (#8661) 2021-03-24 19:57:27 +00:00
BUILD.bazel Update to V4 🚀 (#12134) 2023-03-17 18:52:56 +00:00
CONTRIBUTING.md Fix typo in CONTRIBUTING.md (#10168) 2022-02-02 00:01:12 +00:00
DEPENDENCIES.md Fix: typos (#11885) 2023-01-18 15:21:58 +08:00
deps.bzl Update to go1.20 (#12333) 2023-04-27 15:41:57 +00:00
fuzzbuzz.yaml Update go to 1.19.3 (#11630) 2022-11-18 19:12:19 +00:00
go.mod Update to go1.20 (#12333) 2023-04-27 15:41:57 +00:00
go.sum Update to go1.20 (#12333) 2023-04-27 15:41:57 +00:00
INTEROP.md Config registry (#10683) 2022-05-20 07:16:53 +00:00
LICENSE.md update to GPLv3 (#297) 2018-07-20 10:23:48 -05:00
nogo_config.json Update rules_go to v0.38.1 and go_version to 1.19.7 (#12055) 2023-03-13 19:22:37 +00:00
prysm.bat Add USE_PRYSM_MODERN environment variable (#10229) 2022-03-09 21:00:12 +00:00
prysm.ps1 Update prysm scripts to support client-stats, deprecate slasher (#8971) 2021-06-02 14:06:59 -05:00
prysm.sh correctly assign arm64 arch for Apple M1 (#11675) 2022-11-21 23:11:02 +00:00
README.md Update the badges to latest version (#12145) 2023-03-24 18:02:53 +00:00
SECURITY.md Add how users should report security vulnerabilities for this repository (#9525) 2021-09-10 03:13:09 +00:00
service-account.json.enc Bazel cache for travis (#236) 2018-07-07 16:01:58 -04:00
TERMS_OF_SERVICE.md Reduce Usage of Eth2 Terminology in Prysm (#9104) 2021-06-26 19:00:33 +00:00
WORKSPACE Update to go1.20 (#12333) 2023-04-27 15:41:57 +00:00

Prysm: An Ethereum Consensus Implementation Written in Go

Build status Go Report Card Consensus_Spec_Version 1.3.0 Execution_API_Version 1.0.0-beta.2 Discord GitPOAP Badge

This is the core repository for Prysm, a Golang implementation of the Ethereum Consensus specification, developed by Prysmatic Labs. See the Changelog for details of the latest releases and upcoming breaking changes.

Getting Started

A detailed set of installation and usage instructions as well as breakdowns of each individual component are available in the official documentation portal. If you still have questions, feel free to stop by our Discord.

Staking on Mainnet

To participate in staking, you can join the official eth2 launchpad. The launchpad is the only recommended way to become a validator on mainnet. You can explore validator rewards/penalties via Bitfly's block explorer: beaconcha.in, and follow the latest blocks added to the chain on beaconscan.

Contributing

Branches

Prysm maintains two permanent branches:

  • master: This points to the latest stable release. It is ideal for most users.
  • develop: This is used for development, it contains the latest PRs. Developers should base their PRs on this branch.

Guide

Want to get involved? Check out our Contribution Guide to learn more!

License

GNU General Public License v3.0

Terms of Use