mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2024-12-25 12:57:18 +00:00
1f21e196b6
* Merge variable declaration and assignment * Use result of type assertion to simplify cases * Replace call to bytes.Compare with bytes.Equal * Drop unnecessary use of the blank identifier * Replace x.Sub(time.Now()) with time.Until(x) * Function literal can be simplified * Use a single append to concatenate two slices * Replace time.Now().Sub(x) with time.Since(x) * Omit comparison with boolean constant * Omit redundant nil check on slices * Nested if can be replaced with else-if * Function call can be replaced with helper function * Omit redundant control flow * Use plain channel send or receive * Simplify returning boolean expression * Merge branch 'origin-master' into fix-antipatterns * Merge branch 'master' into fix-antipatterns |
||
---|---|---|
.. | ||
beaconclient | ||
cache | ||
db | ||
detection | ||
flags | ||
node | ||
rpc | ||
BUILD.bazel | ||
main.go | ||
README.md | ||
usage_test.go | ||
usage.go |
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.