Go to file
Radosław Kapka 36e4f49af0
Bellatrix evaluators (#10506)
* defensive nil check

* separate ExecutionPayload/Header from codegen

* tell bazel about this new file

* Merge: support terminal difficulty override (#9769)

* Fix finding terminal block hash calculation

* Update mainnet_config.go

* Update beacon_block.pb.go

* Various fixes to pass all spec tests for Merge (#9777)

* Proper upgrade altair to merge state

* Use uint64 for ttd

* Correctly upgrade to merge state + object mapping fixes

* Use proper receive block path for initial syncing

* Disable contract lookback

* Disable deposit contract lookback

* Go fmt

* Merge: switch from go bindings to raw rpc calls (#9803)

* Disable genesis ETH1.0 chain header logging

* Update htrutils.go

* all gossip tests passing

* Remove gas validations

* Update penalty params for Merge

* Fix gossip and tx size limits for the merge part 1

* Remove extraneous p2p condition

* Add and use

* Add and use TBH_ACTIVATION_EPOCH

* Update WORKSPACE

* Update Kintsugi engine API (#9865)

* Kintsugi ssz (#9867)

* All spec tests pass

* Update spec test shas

* Update Kintsugi consensus implementations (#9872)

* Remove secp256k1

* Remove unused merge genesis state gen tool

* Manually override nil transaction field. M2 works

* Fix bad hex conversion

* Change Gossip message size and Chunk SIze from 1 MB t0 10MB (#9860)

* change gossip size and chunk size after merge

* change ssz to accomodate both changes

* gofmt config file

* add testcase for merge MsgId

* Update beacon-chain/p2p/message_id.go

Change MB to Mib in comment

Co-authored-by: terence tsao <terence@prysmaticlabs.com>

* change function name from altairMsgID to postAltairMsgID

Co-authored-by: terence tsao <terence@prysmaticlabs.com>

* Sync with develop

* Merge branch 'develop' of github.com:prysmaticlabs/prysm into kintsugi

* Update state_trie.go

* Clean up conflicts

* Fix build

* Update config to devnet1

* Fix state merge

* Handle merge test case for update balance

* Fix build

* State pkg cleanup

* Fix a bug with loading mainnet state

* Fix transactions root

* Add v2 endpoint for merge blocks (#9802)

* Add V2 blocks endpoint for merge blocks

* Update beacon-chain/rpc/apimiddleware/structs.go

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

* go mod

* fix transactions

* Terence's comments

* add missing file

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

* Sync

* Go mod tidy

* change EP field names

* latest kintusgi execution api

* fix conflicts

* converting base fee to big endian format (#10018)

* ReverseByteOrder function does not mess the input

* sync with develop

* use merge gossip sizes

* correct gossip sizes this time

* visibility

* clean ups

* Sync with develop, fix payload nil check bug

* Speed up syncing, hide cosmetic errors

* Sync with develop

* Clean up after sync

* Update generate_keys.go

* sync with develop

* Update mainnet_config.go

* Clean ups

* Sync optimistically candidate blocks (#10193)

* Revert "Sync optimistically candidate blocks (#10193)"

This reverts commit f99a0419ef1efc4bda0be77f22165b8fe4377c0d.

* Sync optimistically candidate blocks (#10193)

* allow optimistic sync

* Fix merge transition block validation

* Update proposer.go

* Sync with develop

* delete deprecated client, update testnet flag

* Change optimistic logic (#10194)

* Logs and err handling

* Fix build

* Clean ups

* Add back get payload

* c

* Done

* Rm uncommented

* Optimistic sync: prysm validator rpcs (#10200)

* Logs to reproduce

* Use pointers

* Use pointers

* Use pointers

* Update json_marshal_unmarshal.go

* Fix marshal

* Update json_marshal_unmarshal.go

* Log

* string total diff

* str

* marshal un

* set string

* json

* gaz

* Comment out optimistic status

* remove kiln flag here (#10269)

* Sync with devleop

* Sync with develop

* clean ups

* refactor engine calls

* Update process_block.go

* Fix deadlock, uncomment duty opt sync

* Update proposer_execution_payload.go

* Sync with develop

* Rm post state check

* Bypass eth1 data checks

* Update proposer_execution_payload.go

* Return early if ttd is not reached

* Sync with devleop

* Update process_block.go

* Update receive_block.go

* Update bzl

* Revert "Update receive_block.go"

This reverts commit 5b4a87c512325d9f26de4db7f941dcd7303cd0d8.

* Fix run time

* add in all the fixes

* fix evaluator bugs

* latest fixes

* sum

* fix to be configurable

* Update go.mod

* Fix AltairCompatible to account for future state version

* Update proposer_execution_payload.go

* fix broken conditional checks

* fix all issues

* Handle pre state Altair with valid payload

* Handle pre state Altair with valid payload

* Log bellatrix fields

* Update log.go

* Revert "fix broken conditional checks"

This reverts commit e118db6c20172783a3bb573d2f78670f0207ec1e.

* LH multiclient working

* Friendly fee recipient log

* Remove extra SetOptimisticToValid

* fix race

* fix test

* Fix base fee per gas

* Fix notifypayload headroot

* tx fuzzer

* clean up with develop branch

* save progress

* 200tx/block

* add LH flags

* Sync with devleop

* cleanup

* cleanup

* hash

* fix build

* fix test

* fix go check

* fmt

* gosec

* Blocked stream

(cherry picked from commit f362af9862db680b6352692217ad5c08d44a1e86)

# Conflicts:
#	proto/prysm/v1alpha1/validator.pb.go

* remove duplicate param

* test

* revert some test changes

* Initial version of EE tx count

* evaluate all txs in epoch

* remove logs

* uncomment tests

* remove unwanted change

* parameterize ExpectedExecEngineTxsThreshold

Co-authored-by: Kasey Kirkham <kasey@users.noreply.github.com>
Co-authored-by: terence tsao <terence@prysmaticlabs.com>
Co-authored-by: Zahoor Mohamed <zahoor@zahoor.in>
Co-authored-by: kasey <489222+kasey@users.noreply.github.com>
Co-authored-by: Potuz <potuz@prysmaticlabs.com>
Co-authored-by: Zahoor Mohamed <zahoor@prysmaticlabs.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
Co-authored-by: Nishant Das <nishdas93@gmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2022-04-11 13:45:22 +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 refactor genesis state flag handling, support url (#10449) 2022-03-30 22:23:34 +00:00
async fix TestLockUnlock_CleansUnused (#10326) 2022-03-09 04:08:28 +00:00
beacon-chain Bellatrix evaluators (#10506) 2022-04-11 13:45:22 +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 Set Auth Differently In Our Powchain Constructor (#10501) 2022-04-09 11:03:05 +02:00
config Bellatrix evaluators (#10506) 2022-04-11 13:45:22 +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 more efficient (#10440) 2022-03-28 20:27:14 +08:00
encoding Block Processing And State Transition Improvments (#10408) 2022-03-23 11:57:48 +00:00
hack Remove Visibility Check Script for Bazel (#10391) 2022-03-21 17:03:52 +00:00
io Simplify Prysm Backend Password Requirements (#9814) 2021-10-25 13:17:47 -05:00
math Add static analysis for unsafe uint casting (#10318) 2022-03-11 09:34:30 +00:00
monitoring ran gofmt @ v1.17, these are the resulting changes (#10362) 2022-03-14 15:58:13 -05:00
network Set Auth Differently In Our Powchain Constructor (#10501) 2022-04-09 11:03:05 +02:00
proto Bellatrix evaluators (#10506) 2022-04-11 13:45:22 +00:00
runtime ran gofmt @ v1.17, these are the resulting changes (#10362) 2022-03-14 15:58:13 -05:00
testing Bellatrix evaluators (#10506) 2022-04-11 13:45:22 +00:00
third_party Experimental prototype of Apple M1 processor support (#10192) 2022-02-19 18:17:08 +00:00
time Add static analysis for unsafe uint casting (#10318) 2022-03-11 09:34:30 +00:00
tools Add Lock Analyzer (#10430) 2022-04-05 16:39:48 +00:00
validator web3signer: fixes json altair block (#10490) 2022-04-07 08:24:30 +08: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 Update bazel to 5.0.0 (#10352) 2022-03-14 15:05:08 +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 Enable Bellatrix E2E (#10437) 2022-04-05 14:02:46 +00:00
fuzzbuzz.yaml Update fuzzbuzz.yaml (#10151) 2022-01-29 16:55:31 +00:00
go.mod Enable Bellatrix E2E (#10437) 2022-04-05 14:02:46 +00:00
go.sum Enable Bellatrix E2E (#10437) 2022-04-05 14:02:46 +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 Add static analysis for unsafe uint casting (#10318) 2022-03-11 09:34:30 +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 Spec test v1.1.10 (#10298) 2022-03-15 13:17:51 +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