prysm-pulse/slasher
Ivan Martinez cd439adfc7
Implement flat spans cache into DB (#6248)
* Implement flat spans cache DB

* Fix interface

* Fix db func

* Gaz

* Update slasher/detection/attestations/types/epoch_store_test.go

* Fix tests

* Fix

* Fix for comments

* Fix test

Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: Raul Jordan <raul@prysmaticlabs.com>
2020-06-17 10:26:08 -05:00
..
beaconclient Disable some static analysis checks for coverage builds (#6105) 2020-06-03 19:22:48 +00:00
cache Add cache for flan spans (#6199) 2020-06-13 22:51:54 -04:00
db Implement flat spans cache into DB (#6248) 2020-06-17 10:26:08 -05:00
detection Implement flat spans cache into DB (#6248) 2020-06-17 10:26:08 -05:00
flags Update to v0.12 (#5614) 2020-06-09 15:40:48 -07:00
node Add Host Flags for All Servers running in Prysm (#6202) 2020-06-10 16:04:32 +00:00
rpc No sig slasher rpc (#6174) 2020-06-11 18:50:12 +00:00
BUILD.bazel Add dockerhub image endpoints (#6230) 2020-06-12 17:06:12 +00:00
main.go Add Host Flags for All Servers running in Prysm (#6202) 2020-06-10 16:04:32 +00: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 Add Host Flags for All Servers running in Prysm (#6202) 2020-06-10 16:04:32 +00: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.