Go to file
kasey 4008ea736f
Verify roblobs (#13245)
* scaffolding for verification package

* WIP blob verification methods

* lock wrapper for safer forkchoice sharing

* more solid cache and verification designs; adding tests

* more test coverage, adding missing cache files

* clearer func name

* remove forkchoice borrower (it's in another PR)

* revert temporary interface experiment

* lint

* nishant feedback

* add comments with spec text to all verifications

* some comments on public methods

* invert confusing verification name

* deep source

* remove cache from ProposerCache + gaz

* more consistently early return on error paths

* messed up the test with the wrong config value

* terence naming feedback

* tests on BeginsAt

* lint

* deep source...

* name errors after failure, not expectation

* deep sooource

* check len()==0 instead of nil so empty lists work

* update test for EIP-7044

---------

Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
2023-12-07 02:36:25 +00:00
.github CI: Add merge queue events trigger for github workflows (#13282) 2023-12-06 16:13:13 +00:00
.well-known Update security.txt (#9896) 2021-11-12 15:55:45 +00:00
api Remove API Middleware (#13243) 2023-12-04 11:55:21 +00:00
async Release Lock Before Panicking (#12464) 2023-05-25 06:42:21 -07:00
beacon-chain Verify roblobs (#13245) 2023-12-07 02:36:25 +00:00
build Update rules go & gazelle (#12721) 2023-08-11 16:39:35 +00:00
cache add changes (#12697) 2023-08-04 22:05:47 +08:00
cmd Use functional options for --blob-retention-epochs (#13283) 2023-12-06 20:20:34 +00:00
config Update bazel and other CI improvements (#13246) 2023-12-01 22:20:54 +00:00
consensus-types Verify roblobs (#13245) 2023-12-07 02:36:25 +00:00
container Optimize Multivalue Slice For Trie Recomputation (#13238) 2023-12-01 12:01:28 +01:00
contracts/deposit Fix numerous spelling error and typos in the log messages, comments, and documentation. (#12385) 2023-05-11 20:45:43 +00:00
crypto Replace Empty Slice Literals with Nil Slices (#13093) 2023-10-23 16:36:11 +00:00
encoding Verify roblobs (#13245) 2023-12-07 02:36:25 +00:00
hack integrate validator count endpoint in validator client (#12912) 2023-10-11 15:23:02 +02:00
io Relax file permissions check on existing directories (#13274) 2023-12-05 19:39:45 -06:00
math Deneb produce blockv3 (#12708) 2023-09-01 12:51:27 +02:00
monitoring Refactor Exported Names to Follow Golang Best Practices (#13075) 2023-10-20 16:45:33 +00:00
network Verify roblobs (#13245) 2023-12-07 02:36:25 +00:00
proto Make Prysm VC compatible with the version v5.3.0 of the slashing protections interchange tests. (#13232) 2023-12-04 17:10:32 +00:00
runtime Verify roblobs (#13245) 2023-12-07 02:36:25 +00:00
testing Verify roblobs (#13245) 2023-12-07 02:36:25 +00:00
third_party Update rules_go and gazelle to 0.42 & 0.33 (latest releases) (#13021) 2023-10-10 12:50:29 +08:00
time Verify roblobs (#13245) 2023-12-07 02:36:25 +00:00
tools Use functional options for --blob-retention-epochs (#13283) 2023-12-06 20:20:34 +00:00
validator Don't fetch duties for unknown keys (#13269) 2023-12-06 14:18:45 +00:00
.bazelrc pgo: Enable pgo behind release flag (#13158) 2023-11-08 13:33:26 +00:00
.bazelversion Update bazel and other CI improvements (#13246) 2023-12-01 22:20:54 +00:00
.buildkite-bazelrc Update bazel and other CI improvements (#13246) 2023-12-01 22:20:54 +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 pgo: Enable pgo behind release flag (#13158) 2023-11-08 13:33:26 +00:00
CONTRIBUTING.md fix typo (CONTRIBUTING.md) (#12548) 2023-06-18 19:24:19 -07:00
DEPENDENCIES.md Fix: typos (#11885) 2023-01-18 15:21:58 +08:00
deps.bzl Update spectest and changed minimal preset for field elements (#13090) 2023-10-30 11:41:58 +00:00
fuzzbuzz.yaml Update go to 1.19.3 (#11630) 2022-11-18 19:12:19 +00:00
go.mod Add test helpers to produce commitments and proofs (#13242) 2023-12-01 19:51:19 +00:00
go.sum HTTP handler for Beacon API events (#13207) 2023-11-28 23:20:02 +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 HTTP validator API: beacon and account endpoints (#13191) 2023-12-01 20:40:09 +00:00
prysm.bat Fix typos (#13053) 2023-10-19 12:23:11 +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 discord invite (#12403) 2023-05-15 13:54:19 +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 Update Terms of Service (#13163) 2023-11-02 17:11:11 +00:00
WORKSPACE Make Prysm VC compatible with the version v5.3.0 of the slashing protections interchange tests. (#13232) 2023-12-04 17:10:32 +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