prysm-pulse/slasher
Radosław Kapka dca93ce641
Unnecessary Slice-to-Slice Conversion analyzer (#7321)
* analyzer with tests
* fix bazel file
* modify analyzer to fix build issues
* add analyzer to tool chain
* remove arrays from inspections
* fix redundant [:] operator
* Merge branch 'master' into use-slice-directly
* Merge branch 'master' into use-slice-directly
* fix another inspection
* add package-level comment
2020-09-23 16:14:34 +00:00
..
beaconclient Better naming for constructor funcs (#7316) 2020-09-23 08:59:49 +00:00
cache Historical detection fix (#6455) 2020-07-07 05:57:40 +03:00
db Unnecessary Slice-to-Slice Conversion analyzer (#7321) 2020-09-23 16:14:34 +00:00
detection Better naming for constructor funcs (#7316) 2020-09-23 08:59:49 +00:00
flags Slasher improvements (#7061) 2020-08-20 10:31:16 +03:00
node Better naming for constructor funcs (#7316) 2020-09-23 08:59:49 +00:00
rpc Unnecessary Slice-to-Slice Conversion analyzer (#7321) 2020-09-23 16:14:34 +00:00
BUILD.bazel Applies assertion funcs to slasher/* tests (#6998) 2020-08-18 12:41:25 +00:00
main.go Slasher span cache size flag (#7043) 2020-08-18 11:18:33 +00:00
README.md Update README for Slasher (#5106) 2020-03-15 18:46:21 +00:00
usage_test.go Applies assertion funcs to slasher/* tests (#6998) 2020-08-18 12:41:25 +00:00
usage.go Slasher span cache size flag (#7043) 2020-08-18 11:18:33 +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.