prysm-pulse/slasher
Victor Farazdagi a069738c20
ETH2 Types: Slot (#8408)
* update shared/params

* update eth2-types deps

* update protobufs

* update shared/*

* fix testutil/state

* update beacon-chain/state

* update beacon-chain/db

* update tests

* fix test

* update beacon-chain/core

* update beacon-chain/blockchain

* update beacon-chain/cache

* beacon-chain/forkchoice

* update beacon-chain/operations

* update beacon-chain/p2p

* update beacon-chain/rpc

* update sync/initial-sync

* update deps

* update deps

* go fmt

* update beacon-chain/sync

* update endtoend/

* bazel build //beacon-chain - works w/o issues

* update slasher code

* udpate tools/

* update validator/

* update fastssz

* fix build

* fix test building

* update tests

* update ethereumapis deps

* fix tests

* update state/stategen

* fix build

* fix test

* add FarFutureSlot

* go imports

* Radek's suggestions

* Ivan's suggestions

* type conversions

* Nishant's suggestions

* add more tests to rpc_send_request

* fix test

* clean up

* fix conflicts

Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
Co-authored-by: nisdas <nishdas93@gmail.com>
2021-02-16 07:45:34 +00:00
..
beaconclient ETH2 Types: Slot (#8408) 2021-02-16 07:45:34 +00:00
cache ETH2 Types: Epoch (#8373) 2021-02-09 10:05:22 +00:00
db ETH2 Types: Slot (#8408) 2021-02-16 07:45:34 +00:00
detection ETH2 Types: Slot (#8408) 2021-02-16 07:45:34 +00:00
flags Slasher highest source target (#7604) 2020-10-26 14:15:42 +02:00
node ETH2 Types: Slot (#8408) 2021-02-16 07:45:34 +00:00
rpc ETH2 Types: Slot (#8408) 2021-02-16 07:45:34 +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