Skip to main content

Farcaster network mapping

Project description

fc-nmap

THis software is still in alpha and under heavy development. Things will change and break.

PyPI - Version PyPI - Python Version


world map of hubs

Quickstart

pip install fc-nmap

fc-nmap --help

Usage: fc-nmap [OPTIONS] COMMAND [ARGS]...

  Farcaster Network Mapper

Options:
  --version   Show the version and exit.
  -h, --help  Show this message and exit.

Commands:
  exportdb  Create a tab separated dump of the database
  initdb    Initialize the database
  scan      Scan will scan the network
  updatedb  Collect addtional information about each hub
  map       Create a mpa of the hubs in db

Behind the scenes

fc-nmap initdb creates a local sqlite database where data is stored.

fc-nmap scan will start by asking a hub to provide its contact list (gRPC call GetCurrentPeers). Using this list, it will pick --hops hubs at random, and request their contact list too. The lists are combined and stored in the database.

fc-nmap updatedb --hub-info looks into the database and picks hubs that were recently active. (Recency is defined by comparing ContactInfoContentBody.timestamp collected when requesting the contacts lists and the current timestamp.) The command will try to connect to each one of the hubs, and collect additional info using GetInfo, and store the results in the local database.

fc-nmap updatedb --hub-location works similar to --hub-info, but uses ip2location.io to get location information about each hub IP. Again, information collected is stored in the local database. The script will not query ip2location for IPs that were looked up in the last 100 days. This helps staying within ip2location free plan limits.

fc-nmap export --report=all will export all "active" hubs. Use fc-nmap export --help` to get all the available exports/reports. Or connect directly to the local database (currently named hubs.db and stored in the directory where you called the previous commands) and run your own queries.

License

fc-nmap is distributed under the terms of the MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fc_nmap-0.0.10.tar.gz (4.4 MB view details)

Uploaded Source

Built Distribution

fc_nmap-0.0.10-py3-none-any.whl (47.0 kB view details)

Uploaded Python 3

File details

Details for the file fc_nmap-0.0.10.tar.gz.

File metadata

  • Download URL: fc_nmap-0.0.10.tar.gz
  • Upload date:
  • Size: 4.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.27.2

File hashes

Hashes for fc_nmap-0.0.10.tar.gz
Algorithm Hash digest
SHA256 cf8b5a3a5f907f817460d17e705282ed74bf4cf0eba13fa7ad78c87bb93cca3e
MD5 6c34ed51b6c17e643df496a2443ae5fa
BLAKE2b-256 82987ae55f0d0db4b7903416df7f84820884a7e614909fb0d8879697a3998b66

See more details on using hashes here.

File details

Details for the file fc_nmap-0.0.10-py3-none-any.whl.

File metadata

  • Download URL: fc_nmap-0.0.10-py3-none-any.whl
  • Upload date:
  • Size: 47.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.27.2

File hashes

Hashes for fc_nmap-0.0.10-py3-none-any.whl
Algorithm Hash digest
SHA256 a55b0bf7f8e09cf61f2be18d24a607220ba4dfda184056909c20d7fd51736ab1
MD5 b552fe91b7d76c9d168738855a7e3e44
BLAKE2b-256 b11a5e861f15ff67fcce545bc471337c77415e9455e42e988fe6f61be3996d35

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page