chia-seeder-light

Crates.iochia-seeder-light
lib.rschia-seeder-light
version0.2.3
sourcesrc
created_at2024-11-06 16:12:37.603481
updated_at2024-11-06 23:19:12.77485
descriptionSuper light chia peer crawler and DNS seeder
homepagehttps://dexie.space/seeder
repositoryhttps://github.com/dexie-space/chia-seeder-light
max_upload_size
id1438556
size108,182
dns (denisu)

documentation

README

Chia Seeder Light

Super light chia peer crawler and DNS seeder written in Rust based on chia-wallet-sdk. Doesn't hog CPU or memory like the reference seeder in chia-blockchain.

Installation

Download the binary from releases or install via cargo:

cargo install chia-seeder-light
Usage: chia-seeder-light [OPTIONS] --domain <domain>

Options:
  -n, --network-id <network id>   Set network id [default: mainnet]
  -l, --listen-address <ip:port>  Set listen address [default: [::]:53]
  -d, --domain <domain>           Set seeder domain (eg. seeder.dexie.space.), Important: must end with a dot
  -e, --entry-node <ip:port>      Set initial entry node, will not use DNS to find peers (eg. 203.0.113.23:8444)
  -h, --help                      Print help
  -V, --version                   Print version

Note: To operate on port 53, chia-seeder-light must run as root. Alternatively configure firewall rules to forward traffic to the appropriate port.

How it works

This seeder takes a graceful approach to crawling the network. On startup, it either uses a specified entry node or discovers initial peers through other DNS seeders. It then connects to each discovered peer using the chia protocol to verify they're reachable and requests their peer list.

Discovered peers and their status (reachable/unreachable) are tracked in a SQLite database and periodically rechecked.

Take a look at the config.rs to fine tune the behavior according to your needs.

Commit count: 65

cargo fmt