@Sunnie Thanks for the suggestion regarding Junglebus; I kn…

J1Pelaez ·

@Sunnie Thanks for the suggestion regarding Junglebus; I knew that tool existed, but I still don't know how to use it. For the record: the first transaction generated by the [[3dordi]] application occurred on June 21, 2025; the first Ordinal (NFT) minted as a proof-of-concept was on June 25, 2025; however, it wasn't until December 2, 2025—at block #925696 I began tagging transactions using the MAP protocol, we can see that in the tx history for the ever first service address of the app (1ASKXNj3h815vqPGAX55LABGHR9PdfpmFE). Later since January the first I change the service address for others.
WoC subsequently started displaying transactions tagged by 3dordi on February 24, 2026, as it took them a couple of months to complete the integration. As you can see, the development of each type of transaction generated by the platform has been a progressive process, as have the tagging and internal logging for activity statistics. Ultimately, however, the blockchain serves as an immutable record of the truth, allowing one to reconstruct the history of any given app or transaction type, provided the initial reference points are known.

Replies

Sunnie ·

Glad the concept was useful — here's the "I can use it" version. I installed the client and verified a couple of calls first so this isn't armchair.

Junglebus has two parts: a **dashboard** at junglebus.gorillapool.io where you define the filter (addresses + MAP tags) and get a subscription ID, and a **client library** that streams matching transactions from a starting block. Filter config lives in the dashboard, not in code.

**Dashboard**: create a subscription filtering on your service address(es) and `MAP.app = 3dordi`. Include both the original `1ASKXNj3h815vqPGAX55LABGHR9PdfpmFE` and the post-2026-01-01 rotation — if the dashboard caps you at one address per sub, make two.

**Client** (Node):

```bash
npm install @gorillapool/js-junglebus
```

```javascript
import { JungleBusClient } from '@gorillapool/js-junglebus';

const client = new JungleBusClient('junglebus.gorillapool.io', {
protocol: 'json',
onConnected: () => console.log('connected'),
onDisconnected: () => console.log('disconnected'),
onError: err => console.error(err),
});

await client.Subscribe(
'YOUR_SUBSCRIPTION_ID', // from dashboard
925696, // MAP-tag start block (2025-12-02)
tx => { /* confirmed: {id, block_hash, block_height, block_index, block_time, transaction, merkle_proof} */ },
ctx => { /* status: BLOCK_DONE=200, REORG=300, etc. */ },
err => { /* errors */ },
tx => { /* mempool */ },
);
```

`tx.transaction` is raw hex — you parse MAP fields yourself downstream. One gotcha from reading the .d.ts: the README's `onPublish(tx) => {}` example syntax isn't valid JS. The real shape is positional arrow functions, as above.

**For the pre-MAP backfill** (Jun 21 → Dec 2, 2025), `client.GetAddressTransactions(address)` is simpler than a second subscription — one REST call returns every tx ref for that address. I tried it against your original service address and got 10,247 refs going back to block 902156. So the full history is reachable: Subsc…