Skip to content

Redis Data

Addy Yeow edited this page Oct 7, 2022 · 37 revisions

crawl.py

[KEY]
crawl:master:state            value = 'starting', 'running'

include-asns                  value = "{'ASN', ..}"

exclude-ipv4-networks         value = "{(INT_NETADDR, INT_NETMASK), ..}"

exclude-ipv6-networks         value = "{(INT_NETADDR, INT_NETMASK), ..}"

node:ADDRESS-PORT-SERVICES    value = ''

height:ADDRESS-PORT-SERVICES  value = HEIGHT (1 day TTL)

elapsed                       value = ELAPSED (seconds)

crawl:cidr:CIDR               value = NODES

version:ADDRESS-PORT          values = (VERSION, USER_AGENT, SERVICES) (1 day TTL)

peer:ADDRESS-PORT             value = "set([('ADDRESS', PORT, SERVICES, TIMESTAMP), ..])" (2 to 6 hours TTL)

[LIST]
nodes                         values = [(TIMESTAMP, REACHABLE_NODES), ..]

[SET]
pending                       values = [(ADDRESS, PORT, SERVICES), ..]

up                            values = [node:ADDRESS-PORT-SERVICES, ..]

[SORTED SET]
check                         score values
                                  score = TIMESTAMP (epoch in seconds)
                                  values = [(ADDRESS, PORT, SERVICES), ..]
                              This key is currently set by https://bitnodes.io/#join-the-network

ping.py

[KEY]
onion:PORT                    value = (ADDRESS, PORT) (mapping of local port to .onion node)

ping:cidr:CIDR                value = NODES

[LIST]
ping:ADDRESS-PORT:NONCE       values = [TIMESTAMP, ..] (epoch for ping in milliseconds, 3 hours TTL)

[SET]
reachable                     values = [(ADDRESS, PORT, SERVICES, HEIGHT), ..]

open                          values = [(ADDRESS, PORT), ..]

opendata                      values = [(ADDRESS, PORT, VERSION, USER_AGENT, TIMESTAMP, SERVICES), ..]

[SORTED SET]
binv:HASH                     score values (3 hours TTL)
                                  score = TIMESTAMP (epoch in milliseconds)
                                  values = [ADDRESS-PORT, ..]

[CHANNEL]
snapshot                      value = TIMESTAMP (epoch in seconds)

resolve.py

[KEY]
resolve:ADDRESS               field value (1 day TTL)
                                  field = 'hostname'
                                  value = HOSTNAME
                                  This key can be updated by https://bitnodes.io/#join-the-network to allow e.g. A record to take precedence over PTR record

                                  field = 'geoip'
                                  value = (CITY, COUNTRY, LATITUDE, LONGITUDE, TIMEZONE, ASN, ORG)

[CHANNEL]
resolve                       value = TIMESTAMP (epoch in seconds)

export.py

[KEY]
height                        value = HEIGHT (most common height)

[CHANNEL]
export                        value = TIMESTAMP (epoch in seconds)

cache_inv.py

[KEY]
rinv:TYPE:HASH                value = TIMESTAMP (epoch in milliseconds)

lastblockhash                 value = HASH

[LIST]
ping:ADDRESS-PORT:NONCE       values = [.., TIMESTAMP, ..] (epoch for pong in milliseconds, key must already exist)

rtt:ADDRESS-PORT              values = [RTT, ..] (round-trip time in milliseconds, 3 hours TTL, max. 36 values)

[SORTED SET]
inv:TYPE:HASH                 score values (3 hours TTL)
                                  score = TIMESTAMP (epoch in milliseconds)
                                  values = [(ADDRESS, PORT), ..]
Clone this wiki locally