HASH MONKEYSDOCS

HASH MONKEYS DOCS

How the miner works, how a hash becomes a monkey, what stays on your machine

01 · overviewA monkey you have to mine

Hash Monkeys is a proof-of-work miner that runs in your browser. Press MINE, your machine starts hashing, and when a hash lands below the target a monkey is found. The 32 bytes of that hash draw the monkey. Same hash, same monkey, on any machine.

Nothing is sent anywhere. The miner, the generator and your collection all run and live in the browser.

02 · proof of worksha256(seed:nonce) below the target

A Web Worker (miner.js) takes a seed and a starting nonce and hashes the string seed:nonce with SHA-256 through crypto.subtle. If the 64-hex result is less than or equal to the target, the monkey is found and the worker reports the hash and nonce. Otherwise the nonce goes up by one.

├── seed      16 hex characters, random, generated once per browser
├── nonce     starts at a random number below 1e9, +1 per attempt
├── hash      sha256(seed + ":" + nonce), 64 hex characters
├── target    2^256 / difficulty, as 64 hex characters
├── found     hash <= target
├── batch     400 hashes, then the worker yields
├── rate      reported every 0.5 s as hashes per second

03 · retargetAbout forty seconds per monkey

Difficulty is the expected number of hashes per monkey. It retargets continuously from your own measured hash rate so a monkey takes about 40 seconds on the machine that is mining, whatever that machine is.

├── formula          difficulty = 0.9 × difficulty + 0.1 × rate × 40
├── floor            2 000
├── start            20 000 on a fresh browser
├── stored           localStorage, key hashmonkeys:diff
├── expected wait    difficulty / rate, shown live

04 · generatorDrawn from the hash

monkey.js reads the hash as 32 bytes and draws a 24×24 pixel monkey on a canvas. Each trait comes from a specific byte, so the picture is deterministic.

├── byte 0         background, 8 options
├── byte 1         fur, 8 palettes
├── byte 3         eyes, 4 colours
├── bytes 4-5      hat: 22% none, else one of 9
├── bytes 6-7      glasses: 40% none, else one of 5
├── bytes 8-9      mouth: 30% none, else banana, cigar, gold tooth, gum, tongue
├── bytes 10-11    item: 45% none, else pickaxe, gpu, diamond, coin, wrench
├── byte 12        earring, 20%
├── byte 13        scar, 12%
├── id             last 4 hex characters mod 16 384

05 · localOnly on your machine

The site has no backend. Everything below is localStorage in this browser and clears with it.

hashmonkeys:seed
your mining seed
hashmonkeys:diff
current difficulty
hashmonkeys
your collection: hash, nonce, seed, time for each monkey

06 · tokenThe token

Hash Monkeys is a token on Robinhood Chain, launched through Pons. There is one contract, it lives in config.js on GitHub, and the site reads it from there.

Chain
Robinhood Chain, EVM
Launchpad
Pons
Ticker
$HASHMONKEY
CONTRACTSOON

07 · honestWhere this is

├── done           browser miner, difficulty retarget, monkey generator, collection, lightbox
├── launch         contract address on the site
├── next           claim a mined monkey on chain by its hash, once there is somewhere to claim it
├── not planned    a pool, a server, anything that hashes for you

08 · questionsQuestions

Is this real mining?Yes, it is real SHA-256 proof of work in your browser. It just does not secure anything and does not write to a chain yet.
Why is difficulty different on my phone?It retargets from your own hash rate so a monkey takes about 40 seconds wherever you are.
Can two people mine the same monkey?Two different seeds will not produce the same hash. Two people with the same hash would get the same monkey, that is the point.
Does it drain my battery?It uses one worker thread while MINE is on. Press STOP and it stops.
Where is the collection?In this browser. Clear site data and it is gone, the hashes were the only record.
Hash MonkeysRobinhood Chain · Pons