prysm-pulse/slasher
terence tsao 1a0a399bed
Handle genesis case for blocks/states at slot index (#5224)
* Handle highest slot = 0
* TestStore_GenesisState_CanGetHighestBelow
* TestStore_GenesisBlock_CanGetHighestAt
* Merge refs/heads/master into handle-genesis
2020-03-27 00:09:14 +00:00
..
beaconclient Change ListAttestations to get attestations from blocks (#5145) 2020-03-23 16:22:37 -04:00
cache Add in Slasher Metrics (#5060) 2020-03-10 19:41:55 +00:00
db Replace boltdb imports with bbolt import (#5193) 2020-03-24 20:00:54 +00:00
detection is slashable attestation endpoint implementation (#5209) 2020-03-26 18:31:20 +00:00
flags Allow setting flags via yaml config file. (#4878) 2020-03-19 14:46:44 -07:00
node is slashable attestation endpoint implementation (#5209) 2020-03-26 18:31:20 +00:00
rpc Handle genesis case for blocks/states at slot index (#5224) 2020-03-27 00:09:14 +00:00
BUILD.bazel Allow setting flags via yaml config file. (#4878) 2020-03-19 14:46:44 -07:00
main.go New byteutils for state gen (#5163) 2020-03-22 23:19:38 +00:00
README.md Update README for Slasher (#5106) 2020-03-15 18:46:21 +00:00
usage_test.go Allow setting flags via yaml config file. (#4878) 2020-03-19 14:46:44 -07:00
usage.go Allow setting flags via yaml config file. (#4878) 2020-03-19 14:46:44 -07: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.