Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 85 additions & 0 deletions site/fossils/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# The Fossil Record — Attestation Archaeology Visualizer

**Bounty:** [#2311 — The Fossil Record (75 RTC)](https://github.com/Scottcjn/rustchain-bounties/issues/2311)

An interactive D3.js visualization showing every attestation from every miner since genesis,
rendered as geological strata color-coded by CPU architecture.

## Features

- **Interactive stratigraphy chart** — Each architecture is a horizontal band (older = deeper)
- **Three view modes:**
- *Stratigraphy* — Geological layer view with miner-count bar widths
- *Timeline* — Dot-scatter view where dot size = fingerprint quality
- *Heatmap* — Density heatmap showing mining activity intensity
- **Hover tooltips** — Miner ID, device, fingerprint quality, RTC earned
- **Architecture toggle** — Click legend items to show/hide strata
- **Epoch settlement markers** — Vertical dashed lines at every 50th epoch
- **First-appearance markers** — ◆ labels showing when each architecture entered the chain
- **Responsive scale modes** — Linear or square-root (mining weight) scaling

## Architecture Colors

| Architecture | Era | Color | First Appearance |
|-------------|-----|-------|----------------|
| 68K (Motorola) | 1 — Deepest | Dark Amber `#7B3F00` | Genesis |
| G3/G4 (PowerPC) | 2 | Copper `#B87333` | Epoch 12 |
| G5 (PowerPC 970) | 3 | Bronze `#CD7F32` | Epoch 47 |
| SPARC (Sun) | 4 | Crimson `#DC143C` | Epoch 83 |
| MIPS (R-series) | 5 | Jade `#008B8B` | Epoch 120 |
| POWER8 (IBM) | 6 | Deep Blue `#1E3A8A` | Epoch 195 |
| ARM (v8-A) | 7 | Silver `#9CA3AF` | Epoch 260 |
| Modern x86-64 | 8 — Surface | Pale Grey `#D1D5DB` | Epoch 310 |

## Deployment

The visualization is a **static HTML file** — no build step required.

### Option A: GitHub Pages (recommended)

The repo has GitHub Pages enabled on the `main` branch's `/site` directory.
Simply push this directory:

```bash
git add site/fossils/
git commit -m "feat: Fossil Record attestation archaeology visualizer (closes #2311)"
git push kuanglaodi2-sudo feature/fossil-record-v2
```

Then open a PR from `kuanglaodi2-sudo/feature/fossil-record-v2` → `Scottcjn/Rustchain/main`.

After merge, it will be available at: **`rustchain.org/fossils`**

### Option B: Standalone preview

Open `index.html` directly in a browser — it's fully self-contained
(with D3.js and fonts loaded from CDN).

### Option C: Serve locally

```bash
cd site/fossils
python -m http.server 8080
# Open http://localhost:8080
```

## Data

- **Sample data** — `data/fossils.json` (generated by `generate_fossil_data.py`)
contains 500 epochs of seeded sample attestation data (54,183 miners)
- **Production data** — Update `generate_fossil_data.py` with your RustChain node API URL
and run: `python generate_fossil_data.py --api http://your-node:8080 --epochs 500`

## Tech Stack

- **D3.js v7** — visualization
- **IBM Plex Mono + Playfair Display** — typography
- **Vanilla HTML/CSS/JS** — zero build tools, runs anywhere

## Wallet

**RTC:** `C4c7r9WPsnEe6CUfegMU9M7ReHD1pWg8qeSfTBoRcLbg`

---

Built for **RustChain Proof of Antiquity** — a blockchain where vintage hardware earns 2.5× mining rewards through hardware fingerprinting.
Loading
Loading