Crawl the Stellar Network. Identify the nodes and determine their validating status, version, lag,....
See readme in src/README.md for an overview of the functionality and architecture.
pnpm install
pnpm build
: builds code in lib folder
let myCrawler = createCrawler({
nodeConfig: getConfigFromEnv(),
maxOpenConnections: 25,
maxCrawlTime: 900000
});
The crawler is itself a node and needs to be configured accordingly. You can limit the number of simultaneous open connections to not overwhelm your server and set the maxCrawlTime as a safety if the crawler should be stuck.
let result = await myCrawler.crawl(
nodes, // [[ip, port], [ip, port]]
trustedQSet, //a quorumSet the crawler uses the determine the latest closed ledger
latestKnownLedger //a previous detected ledger the crawler can use to ignore older externalize messages
);
Check out examples/crawl.js
for an example on how to crawl the network. You
can try it out using the bundled seed file with the following command:
pnpm examples:crawl seed/nodes.json
Another example is the Stellarbeat backend
Uses the np package and semantic versioning.
np