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.9.tar.gz (4.4 MB view details)

Uploaded Source

Built Distribution

fc_nmap-0.0.9-py3-none-any.whl (46.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fc_nmap-0.0.9.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.9.tar.gz
Algorithm Hash digest
SHA256 eaa6ba17b62feec5c3581b2b25e564da89a5adcf12df4432c9cab7d48e1d0334
MD5 165215db9e5e4f40b7bd0572041d085d
BLAKE2b-256 dcf7cd2b18e073bee7b363ed0fda4b12b1d685a2bcd4f880cf85ad23c16d0909

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for fc_nmap-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 a6b7d5a7c9d480f2d62deea56e11a1238043bc3d7336d46976f5b9d5c57ad93d
MD5 d4a172d67ed05b27c1632b376f746f09
BLAKE2b-256 7feca98f00f4d5edcdc3ca9548bef305923d496506bcd12b329f3ea30d5918bf

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