prysm-pulse/slasher
Preston Van Loon fb8be4d555
Refactor BLS (#6395)
* refactor BLS to expose an interface rather than a single implementation
* Split up tests, gofmt, goimports, docs
* godoc for signature.Copy()
* more godocs
* revert gomod / deps changes
* rm newline
* revert proto changes
* rename bls12 to herumi for clarity
2020-06-25 00:47:51 +00:00
..
beaconclient Add flat spans to slasher runtime (#6287) 2020-06-22 09:55:52 -05:00
cache Add cache for flan spans (#6199) 2020-06-13 22:51:54 -04:00
db Add flat spans to slasher runtime (#6287) 2020-06-22 09:55:52 -05:00
detection Add flat spans to slasher runtime (#6287) 2020-06-22 09:55:52 -05: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 Refactor BLS (#6395) 2020-06-25 00:47:51 +00:00
BUILD.bazel Add dockerhub image endpoints (#6230) 2020-06-12 17:06:12 +00:00
main.go Move permanent globally needed flags to shared/cmd and makes them accessible (#6312) 2020-06-23 15:41:20 +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 Move permanent globally needed flags to shared/cmd and makes them accessible (#6312) 2020-06-23 15:41:20 +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.