Locative - Ingress or Pokemon Go on Reticulum
PinnedStarted by charlieb 11db5ee44ff375c4... ·
Locative is a node collecting game on reticulum. Players visit locative nodes and "collect" them by doing a cryptographically verifiable transaction that's stored on both nodes in a chain of transactions that can't be falsified. The IDs used for this "game" are not associated with a reticulum node ID except by locative announces.
I think it might be fun to be walking around a city, say and collect local transactions over LoRa, or collect nodes across unusual routes from the comfort of your own home.
You can read more about how it works here https://github.com/charlieb/locative
It's pretty early days. I have 3 nodes currently participating. One is in the cloud, one is on my desktop with LoRa and internet interfaces and one is on a pi with only a LoRa interface. I've tested transactions with all three.
Below is part of a session where I exchange announces with the cloud based node, then request a transaction, which goes through, is validate and added to our chain.
The parts that start with *** are my comments to annotate what's happening.
Here's what part of session currently looks like:
*** The local script has loaded its identity and transaction history chain
My ID: UOS6fXNpkoC67LEH0lO4Knb5/L7PvKr62JNwgF3fOcI=
Chain: 16 links
[A]nnounce or [R]equest, [L]ist or [Q]uit
[2026-08-01 15:43:21] [Notice] Received an announce from <c2d48a6057578fa456fff0bd61e1ba50>
[2026-08-01 15:43:21] [Notice] Got announce from Node: M2lguTqbSdEGOCW+/hb3ZwSjYgUCqqNyUOmka2zRcGw=
A
[2026-08-01 15:43:23] [Notice] Sent announce
*** We receive and announce from cloud based node and send one of our own.
*** Now we send a request to the cloud based node (ID starting M21)
[A]nnounce or [R]equest, [L]ist or [Q]uit
R
[1]: rWvskpxgYNbbM7t9yH6gGsp/qHCVLdQnRa561AqeXEE=
[2]: M2lguTqbSdEGOCW+/hb3ZwSjYgUCqqNyUOmka2zRcGw=
Please enter the number of the ID to send a request to.
2
REQ: Found 1 prior transactions
*** We found one prior transaction with this node, that's important because
*** we have to prove that the tx chains on either side match.
[2026-08-01 15:43:35] [Notice] Sent locative request to <c2d48a6057578fa456fff0bd61e1ba50>
[A]nnounce or [R]equest, [L]ist or [Q]uit
REQ: Reply from right ID - attempt add to chain
REQ: Successfully added complete transaction to chain
REQ: Chain saved: n1n2 txes:total txes: 17
*** We received a reply which was validated and added to our tx chain.
What this looks like from the cloud node:
My ID: M2lguTqbSdEGOCW+/hb3ZwSjYgUCqqNyUOmka2zRcGw=
Chain: 3 links
[A]nnounce or [R]equest, [L]ist or [Q]uit
A
[2026-08-01 19:43:20] [Notice] Sent announce
[A]nnounce or [R]equest, [L]ist or [Q]uit
[2026-08-01 19:43:24] [Notice] Received an announce from <009066f4808e0fa0a27d0d6c3b84b3a1>
[2026-08-01 19:43:24] [Notice] Got announce from Node: UOS6fXNpkoC67LEH0lO4Knb5/L7PvKr62JNwgF3fOcI=
*** We sent our announce, then received one from the local node
[2026-08-01 19:43:35] [Notice] Received request.
RCV: Validation: hash: OK, sig: OK
RCV: Adding reply to chain
Chain Appended
REQ: Chain saved: n1n2 txes: N1: UOS6fXNpkoC67LEH0lO4Knb5/L7PvKr62JNwgF3fOcI= total txes: 4
*** We receive the request, validate it, add it to our chain and reply
[2026-08-01 19:43:35] [Notice] Sent locative reply to <009066f4808e0fa0a27d0d6c3b84b3a1>
This is awesome! I love this concept so much. Would be a cool incentive for some Reticulum-style wardriving
Thanks. I did have it in mind to encourage real world build out.
I've left the cloud node on in server mode if anyone wants to transact with it. It's locative ID is M2lguTqbSdEGOCW+/hb3ZwSjYgUCqqNyUOmka2zRcGw= like in the example above.
The most basic infrastructure is there for collecting transactions.
I'd like to get some ideas on what to do next with this. Here're my ideas so far:
- Add a custom data segment to the transaction. This might be just the name or the name and some other data from the reticulum packet like number of hops. Maybe the coordinates of the node. Suggestions?
- Create a nomadnet site where chains can be uploaded and cross verified. Maybe some kind of scoring system might be interesting.
- Automatic new announce requesting - for war driving. I'm wondering if it would be appropriate to also auto-announce when receiving an announce from a new node. That might get overwhelming for a new node on the internet, but maybe a useful option for a static LoRa only node.
Thoughts, ideas?