prysm-pulse/beacon-chain
Victor Farazdagi 095c4d5dd5
Peer status peer scorer (#7480)
* define and enforce minimum scorer interface

* better decoupling of multiple scorers in service

* removes redundant weight

* adds peer_status scorer

* minir re-arrangement

* rely on scorer in peer status service

* gazelle

* updates rpc_status

* fix build

* better interface verifying

* remove unnecessary locks

* mark todo

* simplify service

* remove redundant references

* avoid passing contexts

* remove unused context

* refactor errors to p2p package

* refactor goodbye codes into p2p

* simplify status api

* remove isbad method from peers

* update scoring service

* introduce validation error

* gazelle

* add score

* restore isbad method

* resolve dep cycle

* gazelle

* peer status scorer: test score calculation

* bad responses scorer: bad peer score

* remove redundant type checks

* pass nil config

* add rounding

* test IsBadPeer

* test bad peers list

* more tests

* check validation error on non-existent peer

* max peer slot -> highest peer slot

* remove redundant comment

* combine

* combine

* introduce var

* fix tests

* remove redundant update

* minor fix

* Nishant's suggestion

Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
2020-11-18 15:51:42 +00:00
..
blockchain Update TestMain() to use os.Exit() (#7814) 2020-11-13 18:28:14 -08:00
cache handle correctly (#7851) 2020-11-18 21:12:12 +08:00
core Remove listen for ChainStarted in WaitForChainStart (#7849) 2020-11-18 05:51:00 +00:00
db Fix instances of "The result of append is not used anywhere SCC-SA4010" (#7812) 2020-11-13 22:54:12 +00:00
flags Add Back Flag to Subscribe to All Subnets (#7836) 2020-11-17 05:25:35 +00:00
forkchoice Forkchoice: update read only lock to regular lock (#7633) 2020-10-24 16:35:18 +00:00
gateway Update rules_go (#7202) 2020-11-10 03:01:56 +00:00
interop-cold-start Fix instances of "The result of append is not used anywhere SCC-SA4010" (#7812) 2020-11-13 22:54:12 +00:00
node Use t.TempDir() in tests (#7769) 2020-11-10 22:45:17 +00:00
operations Remove a few old metrics (#7825) 2020-11-16 18:27:41 +00:00
p2p Peer status peer scorer (#7480) 2020-11-18 15:51:42 +00:00
powchain Save Powchain Metadata To Disk On Chainstart (#7850) 2020-11-18 21:44:06 +08:00
rpc Remove listen for ChainStarted in WaitForChainStart (#7849) 2020-11-18 05:51:00 +00:00
state Loadblock returns err on invalid range (#7811) 2020-11-16 01:06:13 +00:00
sync Peer status peer scorer (#7480) 2020-11-18 15:51:42 +00:00
BUILD.bazel Update rules_go (#7202) 2020-11-10 03:01:56 +00:00
main.go Add Back Flag to Subscribe to All Subnets (#7836) 2020-11-17 05:25:35 +00:00
README.md Fix old markdown links (#4603) 2020-01-21 03:30:35 +00:00
usage_test.go Refactor dependencies, make Prysm "go gettable" (#6053) 2020-05-31 14:44:34 +08:00
usage.go Add Back Flag to Subscribe to All Subnets (#7836) 2020-11-17 05:25:35 +00:00

Prysmatic Labs Beacon Chain Implementation

This is the main project folder for the beacon chain implementation of Ethereum Serenity in Golang by Prysmatic Labs. Before you begin, check out our Contribution Guidelines and join our active chat room on Discord or Gitter below:

Discord Gitter

Also, read the latest beacon chain design spec, this design spec serves as a source of truth for the beacon chain implementation we follow at prysmatic labs. Check out the FAQs. Refer this page on why we are combining sharding and casper together.