prysm-pulse/slasher
Shay Zluf 8ddfde41e3
Historical detection fix (#6455)
* Historical detection before realtime detection

* comment fixes

* remove logs

* remove logs

* remove logs

* gaz

* handle underflow

* add regressiion test

* update test name

* gaz

* gofmt

* fix comment

Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
2020-07-07 05:57:40 +03:00
..
beaconclient Historical detection fix (#6455) 2020-07-07 05:57:40 +03:00
cache Historical detection fix (#6455) 2020-07-07 05:57:40 +03:00
db Historical detection fix (#6455) 2020-07-07 05:57:40 +03:00
detection Historical detection fix (#6455) 2020-07-07 05:57:40 +03:00
flags Update to v0.12 (#5614) 2020-06-09 15:40:48 -07:00
node Move permanent globally needed flags to shared/cmd and makes them accessible (#6312) 2020-06-23 15:41:20 +00:00
rpc Allow to start slasher RPC server with TLS (#6465) 2020-07-01 19:31:29 +00:00
BUILD.bazel Add dockerhub image endpoints (#6230) 2020-06-12 17:06:12 +00:00
main.go Move MaxRPCPageSize flag from beacon node to shared/cmd (#6297) 2020-06-29 09:17:24 -05:00
README.md Update README for Slasher (#5106) 2020-03-15 18:46:21 +00:00
usage_test.go Refactor dependencies, make Prysm "go gettable" (#6053) 2020-05-31 14:44:34 +08:00
usage.go Move MaxRPCPageSize flag from beacon node to shared/cmd (#6297) 2020-06-29 09:17:24 -05:00

Hash Slinging Slasher Server Implementation

This is the main project folder for a slasher server implementation for Ethereum Serenity in Golang by Prysmatic Labs. A slasher listens for all broadcasted messages using a running beacon node in order to detect slashable attestations and block proposals. It uses the min-max-surround method by Protolambda.

The slasher requires a connection to a synced beacon node in order to listen for attestations and block proposals. To run the slasher, type:

bazel run //slasher -- \
    --datadir PATH/FOR/DB \
    --span-map-cache \
    --beacon-rpc-provider localhost:4000

The beacon node entered in beacon-rpc-provider will then receive slashings from the slasher client and send them to any requesting proposer to be put into a block.