Go to file
terencechain b7a82d0fd1
Can retrieve cached initial sync block and db block (#10568)
* Save cached initial sync blocks before getting head block

* Add better abstraction to get block

* Move unlock read to a better location

* Feedbacks

* Add head changed logging

* Harder hasBlock requirement

* Update beacon-chain/blockchain/service.go

Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>

* Update receive_attestation.go

* Don't process head if the block is unknown

* Use a helper method

* Fix test

Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: Preston Van Loon <preston@prysmaticlabs.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
2022-04-29 07:56:31 +00:00
.github Added horusec (#10499) 2022-04-08 10:52:04 -04:00
.well-known Update security.txt (#9896) 2021-11-12 15:55:45 +00:00
api Encode empty extra_data as "0x" and base_fee_per_gas as Uint256 i… (#10539) 2022-04-21 15:44:38 +00:00
async fix TestLockUnlock_CleansUnused (#10326) 2022-03-09 04:08:28 +00:00
beacon-chain Can retrieve cached initial sync block and db block (#10568) 2022-04-29 07:56:31 +00:00
build/bazel Add static analysis for unsafe uint casting (#10318) 2022-03-11 09:34:30 +00:00
cache/lru add lru (#9592) 2021-09-14 18:11:25 -05:00
cmd Refactor validator accounts list to remove cli context dependency (#10554) 2022-04-28 14:46:46 +00:00
config Graduate Batch Gossip Verification Feature (#10553) 2022-04-26 08:28:35 -04:00
consensus-types/primitives Max Epoch Helper from Eth2-Types (#10581) 2022-04-29 02:16:02 +00:00
container Add static analysis for unsafe uint casting (#10318) 2022-03-11 09:34:30 +00:00
contracts/deposit Refactor mock test helpers (#10133) 2022-01-26 14:48:20 +00:00
crypto Replace ioutil with io and os (#10541) 2022-04-18 20:42:07 +00:00
encoding Block Processing And State Transition Improvments (#10408) 2022-03-23 11:57:48 +00:00
hack Update Beacon API's Postman collection to 2.2.0 (#10559) 2022-04-21 15:07:58 +00:00
io Use the T.TempDir and B.TempDir to create temp dirs for testing (#10560) 2022-04-21 20:45:44 +00:00
math Move ETH2 Types Into Prysm (#10534) 2022-04-28 13:57:40 +00:00
monitoring Replace ioutil with io and os (#10541) 2022-04-18 20:42:07 +00:00
network Set Auth Differently In Our Powchain Constructor (#10501) 2022-04-09 11:03:05 +02:00
proto Blinded block APIs (#10331) 2022-04-25 17:42:58 +02:00
runtime Replace ioutil with io and os (#10541) 2022-04-18 20:42:07 +00:00
testing Fix Broken E2E Runs (#10572) 2022-04-28 08:45:59 +00:00
third_party Update Prysm to Go 1.18 (#10576) 2022-04-28 13:07:29 -04:00
time Replace ioutil with io and os (#10541) 2022-04-18 20:42:07 +00:00
tools Use the T.TempDir and B.TempDir to create temp dirs for testing (#10560) 2022-04-21 20:45:44 +00:00
validator Fix Nogo Lint Ignore for Go 1.18 (#10577) 2022-04-28 18:10:43 +00:00
.bazelrc Add static analysis for unsafe uint casting (#10318) 2022-03-11 09:34:30 +00:00
.bazelversion Update bazel to 5.0.0 (#10352) 2022-03-14 15:05:08 +00:00
.buildkite-bazelrc increase bazel java max mem to 4gb (#10363) 2022-03-14 17:53:42 +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 Static analysis: gocognit (#10527) 2022-04-15 06:29:07 +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 Prysm to Go 1.18 (#10576) 2022-04-28 13:07:29 -04:00
fuzzbuzz.yaml Update fuzzbuzz.yaml (#10151) 2022-01-29 16:55:31 +00:00
go.mod Update Prysm to Go 1.18 (#10576) 2022-04-28 13:07:29 -04:00
go.sum Update libp2p to latest release (#10423) 2022-04-19 12:53:58 +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 Fix Nogo Lint Ignore for Go 1.18 (#10577) 2022-04-28 18:10:43 +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 Add USE_PRYSM_MODERN environment variable (#10229) 2022-03-09 21:00:12 +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 Prysm to Go 1.18 (#10576) 2022-04-28 13:07:29 -04: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