DEV Community

StoneVast
StoneVast

Posted on

I Mine IRON on a Laptop and Built a Base-13 Cipher — An Honest Numbers Report

I Mine IRON on a Laptop and Built a Base-13 Cipher — An Honest Numbers Report

No hype. No "passive income" promises. Just a laptop GPU, real electricity bills, and every number verifiable on a public mining pool.

The honest numbers (updated daily)

Metric Value
Hardware RTX 4070 Laptop (8 GB)
Hashrate 14.5–16.7 MH/s (FishHash)
Power draw ~49 W
Electricity cost ¥0.55/kWh (~$0.076)
Daily net profit ~¥0.54 (~$0.075)
Total mined so far 1.8576 IRON ≈ ¥0.99

Yes, you read that right. About 7 US cents per day. At this rate, saving up for my dream card (an RTX 6000 Pro, ~¥70,000) would take roughly 355 years from mining alone.

I publish these numbers daily on my site — not to impress you, but because verifiable honesty is the entire point of the project.

Why mine at all, then?

Three reasons:

  1. It's a live data source. Real hashrate, real payouts, real prices — a stream of ground truth I can build tools around.
  2. It's a trust anchor. Anyone can check the pool dashboard and confirm I'm not making numbers up.
  3. It's fun. And fun keeps the project alive longer than discipline does.

The side quest: a base-13 "mother codebook" cipher

While watching logs grow, I started wondering: could I design a tiny encoding scheme of my own? The idea:

  • Merge 26 letters into 13 symbols (a/b share one, c/d share one, ...)
  • Same trick for digits (0/1, 2/3, ...) and punctuation
  • The mapping table itself is the key — different seeds, different tables

Here's the core of it in JavaScript:

const DEFAULT_MASTER = {
  a:'α', b:'α', c:'β', d:'β', e:'γ', f:'γ', g:'δ', h:'δ', i:'ε', j:'ε',
  k:'ζ', l:'ζ', m:'η', n:'η', o:'θ', p:'θ', q:'ι', r:'ι', s:'κ', t:'κ',
  u:'λ', v:'λ', w:'μ', x:'μ', y:'ν', z:'ν',
  '0':'①','1':'①','2':'②','3':'②','4':'③','5':'③','6':'④','7':'④','8':'⑤','9':'⑤',
};

function encode(text, table = DEFAULT_MASTER) {
  return [...text].map(ch => table[ch.toLowerCase()] ?? ch).join('');
}

// 'stonevast' → 'κκθηγλακκ'
Enter fullscreen mode Exit fullscreen mode

And a seed-derived version so everyone can generate their own codebook:

function deriveMaster(seed) {
  // SHA-256(seed) drives a Fisher-Yates shuffle of the target symbols
  // Same structure, different contents — the table IS the key
}
Enter fullscreen mode Exit fullscreen mode

I also added an anti-phishing tail: 4 base-13 characters appended to every ciphertext, computed as SHA-256(cipher | masterKey) mod 28561. If someone tampers with a single character — or tries to forge a message without knowing the master — verification fails and the message is rejected:

correct key  → stonevast ✓
tampered     → ⚠ anti-phishing check failed, rejected
wrong key    → ⚠ anti-phishing check failed, rejected
Enter fullscreen mode Exit fullscreen mode

Is this cryptographically serious? No. It's a learning toy — a Caesar-cipher-grade curiosity. Real systems should use AES/ChaCha20 and established libraries. But building it taught me more about key derivation, checksums, and why real ciphers are hard, than reading three articles would have.

What I'm actually building

The mining rig is the mascot; the real product is a mining revenue workbench: transparent dashboards, daily snapshots, risk calculators — every number checkable by anyone.

If you're into honest data, tiny ciphers, or laptop mining experiments — say hi in the comments. Tell me what you'd verify first.


All figures from public pool APIs and exchange tickers. Mining has electricity-cost risk; do your own math. This is a data journal, not investment advice.

Top comments (0)