Go to file
Potuz 57a323f083
Forkchoice featureflag (#10299)
* Compiling main beacon-chain binary

* Add feature flag

* passing protoarray tests

* passing nodetree tests

* passing blockchain package tests

* passing rpc tests

* go fmt

* re-export forkchoice store from blockchain package

* remove duplicated import

* remove unused var

* add nodetree rpc method

* remove slot from IsOptimisticForRoot

* release lock in IsOptimistic

* change package name

* Revert "change package name"

This reverts commit 679112f9ef795922c631e7823dbdfb3746838f3c.

* rename package

* Update doc

* Fix span names

* Terence + Raul review

* remove go:build flags

* add errors dep

* spec tests

* fix call to IsOptimisticForRoot

* fix test

* Fix conflict

* change name of function

* remove ctx from store.head

Co-authored-by: terence tsao <terence@prysmaticlabs.com>
2022-03-09 03:05:51 +00:00
.github Use Execution Payload Defined in Engine V1 Namespace (#10170) 2022-02-02 03:30:35 +00:00
.well-known Update security.txt (#9896) 2021-11-12 15:55:45 +00:00
api --api-timeout flag (#10260) 2022-02-24 18:01:37 +00:00
async Move Shared/Testutil into Testing (#9659) 2021-09-23 18:53:46 +00:00
beacon-chain Forkchoice featureflag (#10299) 2022-03-09 03:05:51 +00:00
cache/lru add lru (#9592) 2021-09-14 18:11:25 -05:00
cmd Engine API Client Authentication for the Merge via HTTP (#10236) 2022-02-25 19:08:43 +00:00
config Forkchoice featureflag (#10299) 2022-03-09 03:05:51 +00:00
container Refactor mock test helpers (#10133) 2022-01-26 14:48:20 +00:00
contracts/deposit Refactor mock test helpers (#10133) 2022-01-26 14:48:20 +00:00
crypto Integration of Vectorized Sha256 In Prysm (#10166) 2022-02-28 21:56:12 +08:00
encoding Remove Support for 2d-list Hashers (#10290) 2022-03-04 15:19:07 +00:00
hack Beacon Node API Postman collection (#10213) 2022-02-09 18:42:23 +00:00
io Simplify Prysm Backend Password Requirements (#9814) 2021-10-25 13:17:47 -05:00
math Add Safe Sub64 Method (#9993) 2021-12-08 09:44:54 +00:00
monitoring Code cleanup (#9992) 2021-12-07 17:52:39 +00:00
network Refactor: move functions beacon-chain/core/time -> time/slots (#9719) 2021-10-01 15:17:57 -05:00
proto Forkchoice featureflag (#10299) 2022-03-09 03:05:51 +00:00
runtime Export reverse byte order function (#10040) 2022-01-11 18:42:03 +00:00
testing Forkchoice featureflag (#10299) 2022-03-09 03:05:51 +00:00
third_party Experimental prototype of Apple M1 processor support (#10192) 2022-02-19 18:17:08 +00:00
time Code cleanup (#9992) 2021-12-07 17:52:39 +00:00
tools Integration of Vectorized Sha256 In Prysm (#10166) 2022-02-28 21:56:12 +08:00
validator Validator: deduplicate fork logic for block proposals (#10297) 2022-03-07 19:18:54 +00:00
.bazelrc Remove libfuzzer / afl based builds in favor of go 1.18 fuzz testing (#10065) 2022-01-20 04:51:02 +00:00
.bazelversion Update bazel version to 4.2.2 (#10045) 2021-12-27 23:51:23 +00:00
.buildkite-bazelrc Remove libfuzzer / afl based builds in favor of go 1.18 fuzz testing (#10065) 2022-01-20 04:51:02 +00:00
.codecov.yml Codecov: ignore testing directories (#8777) 2021-04-16 08:44:36 -05:00
.deepsource.toml Add generated file to DeepSource exclude_patterns (#8765) 2021-04-14 14:06:25 +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 Remove libfuzzer / afl based builds in favor of go 1.18 fuzz testing (#10065) 2022-01-20 04:51:02 +00:00
.golangci.yml upgrading linter from gometalinter to golangci-lint (#2100) 2019-04-26 14:24:01 +08: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 Fix Certain Edge Cases With the Analyzer (#10164) 2022-02-02 14:11:31 +00:00
CONTRIBUTING.md Fix typo in CONTRIBUTING.md (#10168) 2022-02-02 00:01:12 +00:00
DEPENDENCIES.md Move Scripts Into Hack/ Directory (#9605) 2021-09-16 16:22:39 +00:00
deps.bzl Update GoHashTree Library (#10308) 2022-03-04 14:18:52 +00:00
fuzzbuzz.yaml Update fuzzbuzz.yaml (#10151) 2022-01-29 16:55:31 +00:00
go.mod Update GoHashTree Library (#10308) 2022-03-04 14:18:52 +00:00
go.sum Update GoHashTree Library (#10308) 2022-03-04 14:18:52 +00:00
interop.Dockerfile Move Scripts Into Hack/ Directory (#9605) 2021-09-16 16:22:39 +00:00
INTEROP.md Reduce Usage of Eth2 Terminology in Prysm (#9104) 2021-06-26 19:00:33 +00:00
LICENSE.md update to GPLv3 (#297) 2018-07-20 10:23:48 -05:00
nogo_config.json Native beacon state: v3 (#10139) 2022-02-01 08:32:39 +08:00
prysm.bat Fixing .bat file issues (#9266) 2021-08-02 16:09:09 +00:00
prysm.ps1 Update prysm scripts to support client-stats, deprecate slasher (#8971) 2021-06-02 14:06:59 -05:00
prysm.sh prysm scripts should not save 404 pages (#9072) 2021-07-06 23:34:42 +00:00
README.md Update README.md (#10071) 2022-01-11 16:32:07 +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 Web UI to v1.0.3 (#10264) 2022-02-22 18:26:15 +00:00

Prysm: An Ethereum Consensus Implementation Written in Go

Build status Go Report Card Consensus_Spec_Version 1.1.8 Discord

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