prysm-pulse/slasher
Victor Farazdagi a8e501b3cf
ETH2 Types: Epoch (#8373)
* update deps

* update deps

* update protos/*

* update deps

* reset protos

* update protos

* update shared/params/config

* update protos

* update /shared

* update shared/slotutil and shared/testutil

* update beacon-chain/core/helpers

* updates beacon-chain/state

* update beacon-chain/forkchoice

* update beacon-chain/blockchain

* update beacon-chain/cache

* update beacon-chain/core

* update beacon-chain/db

* update beacon-chain/node

* update beacon-chain/p2p

* update beacon-chain/rpc

* update beacon-chain/sync

* go mod tidy

* make sure that beacon-chain build suceeds

* go fmt

* update e2e tests

* update slasher

* remove redundant alias

* update validator

* gazelle

* fix build errors in unit tests

* go fmt

* update deps

* update fuzz/BUILD.bazel

* fix unit tests

* more unit test fixes

* fix blockchain UTs

* more unit test fixes
2021-02-09 10:05:22 +00:00
..
beaconclient ETH2 Types: Epoch (#8373) 2021-02-09 10:05:22 +00:00
cache ETH2 Types: Epoch (#8373) 2021-02-09 10:05:22 +00:00
db ETH2 Types: Epoch (#8373) 2021-02-09 10:05:22 +00:00
detection ETH2 Types: Epoch (#8373) 2021-02-09 10:05:22 +00:00
flags Slasher highest source target (#7604) 2020-10-26 14:15:42 +02:00
node Ajust constructor names of nodes (#8362) 2021-02-01 17:12:52 +00:00
rpc Rename NewService to New (#8337) 2021-01-26 10:26:57 +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 Ajust constructor names of nodes (#8362) 2021-02-01 17:12:52 +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