erigon-pulse/cmd/sentry
TBC Dev 2f0758e817
ChainSegment efficiency (#3042)
* De-dup blockHeaders66() and blockHeaders65()

* Simplify loops and EOL detection

* Add ChainSegmentHeader struct and refactor

* Add RawRlpHash() to avoid re-encode for header hash

* Avoid multiple redundant rlpHash()

* Sort headers by height,hash to make dups consecutive

* Flip condition to reduce map lookups

* Remove redundant check

* Use rlp.RawValue rather than []byte to help self-document
2021-11-27 17:28:17 +00:00
..
commands Add trusted peers flag (#2958) 2021-11-14 18:44:44 +07:00
download ChainSegment efficiency (#3042) 2021-11-27 17:28:17 +00:00
main.go extract p2p config out of sentry (#2126) 2021-06-11 09:34:37 +01:00
README.md rename headers to sentry (#2060) 2021-05-31 17:20:56 +07:00

Sentry - component to

In the root of Erigon project, use this command to build the sentry:

make sentry

There are two modes in which the program can be run - with external p2p sentry, or with internal p2p sentry (also called combined). Ethereum mainnet configuration is currently hard-coded.

Running with an external p2p sentry

./buid/bin/sentry
./buid/bin/sentry --datadir <path_to_erigon_data_dir>

The command above specifies --datadir option - directory where the database files will be written. These two options will need to be specified regardless of the mode the program is run. This specific command above assumes and external p2p sentry running on the same computer listening to the port 9091. In order to use a p2p sentry on a different computer, or a different port (or both), the option --sentry.api.addr can be used. For example:

./buid/bin/sentry --datadir <path_to_erigon_data_dir> --sentry.api.addr localhost:9999

The command above will expect the p2p sentry running on the same computer, but on the port 9999

Options --nat, --port, --staticpeers, --netrestrict, --discovery are also available.

We are currently testing against two implementations of the p2p sentry - one internal to Erigon, and another - written in Rust as a part of rust-ethereum: https://github.com/rust-ethereum/sentry In order to run the internal sentry, use the following command: