prysm-pulse/slasher
Raul Jordan 14b3181e67
Plug-In Attester Slashing Detection Into Slasher Runtime (#4937)
* more spanner additions

* implement iface

* begin implement

* wrapped up spanner functions

* rem interface

* added in necessary comments

* comments on enums

* begin adding tests

* plug in surround vote detection

* saved indexed db implementation

* finally plugin slashing for historical data

* Small fixes

* add in all gazelle

* save incoming new functions

* resolve todo

* fix broken test channel item

* tests passing when fixing certain arguments and setups

* Add comment and change unimplemented

* find surround

* added in gazelle

* gazz

* feedback from shay

* fixed up naming

* Update

* Add tests for detectSurroundVotes

* Remove logs

* Fix slasher test

* formatting

* Remove unneeded condition

* Test indices better

* fixing broken build

* pass tests

* skip tests

* imports

* Update slasher/detection/attestations/attestations_test.go

* Update slasher/beaconclient/historical_data_retrieval_test.go

* Address comments

* Rename function

* Add comment for future optimization

* Fix comment

Co-authored-by: Ivan Martinez <ivanthegreatdev@gmail.com>
2020-02-27 12:22:39 -05:00
..
beaconclient Plug-In Attester Slashing Detection Into Slasher Runtime (#4937) 2020-02-27 12:22:39 -05:00
cache Slasher committees cache (#4812) 2020-02-10 20:09:14 +00:00
db Plug-In Attester Slashing Detection Into Slasher Runtime (#4937) 2020-02-27 12:22:39 -05:00
detection Plug-In Attester Slashing Detection Into Slasher Runtime (#4937) 2020-02-27 12:22:39 -05:00
flags Slasher span cache (#4388) 2020-01-21 23:39:21 -06:00
node Plug-In Attester Slashing Detection Into Slasher Runtime (#4937) 2020-02-27 12:22:39 -05:00
rpc Plug-In Attester Slashing Detection Into Slasher Runtime (#4937) 2020-02-27 12:22:39 -05:00
service Add spans to Slasher DB functions (#4855) 2020-02-13 13:51:30 -06:00
BUILD.bazel Implementing Slasher Node Runtime (#4856) 2020-02-14 07:09:54 +00:00
main.go Implementing Slasher Node Runtime (#4856) 2020-02-14 07:09:54 +00:00
README.md slasher grpc server (#3786) 2019-10-31 11:26:55 +08:00
usage_test.go slasher grpc server (#3786) 2019-10-31 11:26:55 +08:00
usage.go Implementing Slasher Node Runtime (#4856) 2020-02-14 07:09:54 +00:00

Prysmatic Labs Hash Slinging Slasher Server Implementation

This is the main project folder for a slasher server implementation of Ethereum Serenity in Golang by Prysmatic Labs. A slasher listens to queries from a running beacon node in order to detect slashable attestations and block proposals. It is advised to run the slasher in a closed network and let only your beacon node connect to it while not exposing its endpoints to the public network as DOS attacks on the slasher are easy to accomplish as the lookup for certain can have serious overhead if spammed.

Before you begin, check out our main README and join our active chat room on Discord or Gitter below:

Discord Gitter

Also, read the latest sharding + casper design spec, this design spec serves as a source of truth for the beacon chain implementation we follow at prysmatic labs. Check out the FAQs. Refer this page on why we are combining sharding and casper together.