prysm-pulse/slasher
Raul Jordan d97596348e
Add Back New Attester Protection DB Logic (#8242)
* Revert "Revert New Attester Protection DB Logic (#8237)"

This reverts commit 6738fa3493.

* Batch Attestation Records and Flush All at Once in Validator DB (#8243)

* begin flushing logic

* finalize logic before starting tests

* make code DRY

* better log fields

* gaz

* tweak parameter

* rename

* clarifying comment on error handling in event feed

* comprehensive tests

* more comments

* explain parameters in comments

* renamed consts

* Apply suggestions from code review

* gaz

* simplify

* typo

* comments
2021-01-11 23:59:17 +00:00
..
beaconclient Unify the pattern of using a package-level logger (#8245) 2021-01-11 20:03:28 +00:00
cache Unify the pattern of using a package-level logger (#8245) 2021-01-11 20:03:28 +00:00
db Unify the pattern of using a package-level logger (#8245) 2021-01-11 20:03:28 +00:00
detection Add Back New Attester Protection DB Logic (#8242) 2021-01-11 23:59:17 +00:00
flags Slasher highest source target (#7604) 2020-10-26 14:15:42 +02:00
node Unify the pattern of using a package-level logger (#8245) 2021-01-11 20:03:28 +00:00
rpc Unify the pattern of using a package-level logger (#8245) 2021-01-11 20:03:28 +00:00
BUILD.bazel Unify the pattern of using a package-level logger (#8245) 2021-01-11 20:03:28 +00:00
log.go Unify the pattern of using a package-level logger (#8245) 2021-01-11 20:03:28 +00:00
main.go Unify the pattern of using a package-level logger (#8245) 2021-01-11 20:03:28 +00:00
README.md Fix Up READMEs for Mainnet (#7910) 2020-11-23 18:47:55 +00:00
usage_test.go Applies assertion funcs to slasher/* tests (#6998) 2020-08-18 12:41:25 +00:00
usage.go Add Backup Webhooks to All Prysm Services With DBs (#8025) 2020-12-03 22:28:57 +00:00

Slasher Implementation

This is the main project folder for a slasher implementation for eth2 written in Go 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. You can read more about configuration options for our slasher in our documentation portal