Menu

Tree [a02cd6] master 0.3.19.8 /
 History

HTTPS access


File Date Author Commit
 .github 2026-01-26 elvisjedusor elvisjedusor [a02cd6] 0.3.19.8 Security fixes:
 .vscode 2026-01-06 elvisjedusor elvisjedusor [201ea4] Optimize gui
 crypto 2026-01-17 elvisjedusor elvisjedusor [c672c0] add msvc build, fix build instructions
 json 2010-02-10 s_nakamoto s_nakamoto [fa9dbd] better error message in check_type(), tell the ...
 rc 2026-01-14 elvisjedusor elvisjedusor [b39df0] macos build fix
 xpm 2026-01-14 elvisjedusor elvisjedusor [787aa6] macos build fix
 .gitignore 2026-01-09 elvisjedusor elvisjedusor [67bd48] fix win build
 BITOKPOW.md 2026-01-10 elvisjedusor elvisjedusor [d6f475] Bitok 0.3.19 - Complete Satoshi-era security im...
 BUILD_MACOS.md 2026-01-19 elvisjedusor elvisjedusor [d2b670] Implement Mining RPC API with BIP 22 support
 BUILD_UNIX.md 2026-01-19 elvisjedusor elvisjedusor [d2b670] Implement Mining RPC API with BIP 22 support
 BUILD_WINDOWS.md 2026-01-19 elvisjedusor elvisjedusor [d2b670] Implement Mining RPC API with BIP 22 support
 BUILD_WINDOWS_MINGW.md 2026-01-19 elvisjedusor elvisjedusor [d2b670] Implement Mining RPC API with BIP 22 support
 BUILD_WINDOWS_VC.md 2026-01-19 elvisjedusor elvisjedusor [d2b670] Implement Mining RPC API with BIP 22 support
 CHANGELOG.md 2026-01-19 elvisjedusor elvisjedusor [d2b670] Implement Mining RPC API with BIP 22 support
 MANIFESTO.md 2026-01-10 elvisjedusor elvisjedusor [00e8e0] fix docs
 MINING_OPTIMIZATIONS.md 2026-01-15 elvisjedusor elvisjedusor [e5921d] Added performance improvements for mining (pre-...
 POOL_INTEGRATION.md 2026-01-19 elvisjedusor elvisjedusor [d2b670] Implement Mining RPC API with BIP 22 support
 README.md 2026-01-19 elvisjedusor elvisjedusor [d2b670] Implement Mining RPC API with BIP 22 support
 RPC_API.md 2026-01-19 elvisjedusor elvisjedusor [d2b670] Implement Mining RPC API with BIP 22 support
 RPC_MINING_IMPLEMENTATION.md 2026-01-19 elvisjedusor elvisjedusor [d2b670] Implement Mining RPC API with BIP 22 support
 SECURITY_FIXES.md 2026-01-26 elvisjedusor elvisjedusor [a02cd6] 0.3.19.8 Security fixes:
 SOLO_MINING.md 2026-01-19 elvisjedusor elvisjedusor [d2b670] Implement Mining RPC API with BIP 22 support
 base58.h 2026-01-05 elvisjedusor elvisjedusor [5844da] BitcoinOG Phase 1: Ubuntu 24.04 Daemon - Complete
 bignum.h 2026-01-07 elvisjedusor elvisjedusor [67dd00] bitok, bitokd unix build fixed
 bitcoin_db.cpp 2026-01-19 elvisjedusor elvisjedusor [d2b670] Implement Mining RPC API with BIP 22 support
 bitcoin_db.h 2026-01-17 elvisjedusor elvisjedusor [45f639] Add wallet key recovery feature
 bitok.conf 2026-01-19 elvisjedusor elvisjedusor [d2b670] Implement Mining RPC API with BIP 22 support
 db.cpp 2026-01-19 elvisjedusor elvisjedusor [d2b670] Implement Mining RPC API with BIP 22 support
 db_cxx_compat.h 2026-01-17 elvisjedusor elvisjedusor [eba353] msvc build fix
 headers.h 2026-01-17 elvisjedusor elvisjedusor [b9de82] fix headers for win
 init.cpp 2026-01-20 elvisjedusor elvisjedusor [1ba131] correct GetDifficulty() reference exponent for ...
 init.h 2010-02-25 s_nakamoto s_nakamoto [c24301] GUI-less build target bitcoind that links to wx...
 insecure_memzero.h 2026-01-09 elvisjedusor elvisjedusor [a57916] Add BitokPoW
 irc.cpp 2026-01-19 elvisjedusor elvisjedusor [d2b670] Implement Mining RPC API with BIP 22 support
 irc.h 2010-02-12 s_nakamoto s_nakamoto [98500d] command line and JSON-RPC first draft, requires...
 key.h 2026-01-05 elvisjedusor elvisjedusor [5844da] BitcoinOG Phase 1: Ubuntu 24.04 Daemon - Complete
 license.txt 2026-01-09 elvisjedusor elvisjedusor [a57916] Add BitokPoW
 main.cpp 2026-01-26 elvisjedusor elvisjedusor [a02cd6] 0.3.19.8 Security fixes:
 main.h 2026-01-26 elvisjedusor elvisjedusor [a02cd6] 0.3.19.8 Security fixes:
 makefile.mingw 2026-01-15 elvisjedusor elvisjedusor [e5921d] Added performance improvements for mining (pre-...
 makefile.osx 2026-01-17 elvisjedusor elvisjedusor [c672c0] add msvc build, fix build instructions
 makefile.unix 2026-01-15 elvisjedusor elvisjedusor [e5921d] Added performance improvements for mining (pre-...
 makefile.vc 2026-01-17 elvisjedusor elvisjedusor [eba353] msvc build fix
 net.cpp 2026-01-26 elvisjedusor elvisjedusor [a02cd6] 0.3.19.8 Security fixes:
 net.h 2026-01-20 elvisjedusor elvisjedusor [6b973a] Network Group Diversity. Group addresses by /16...
 rpc.cpp 2026-01-23 elvisjedusor elvisjedusor [dbbfa0] use continuous hex strings without spaces for s...
 rpc.h 2010-02-12 s_nakamoto s_nakamoto [98500d] command line and JSON-RPC first draft, requires...
 script.cpp 2026-01-05 elvisjedusor elvisjedusor [5844da] BitcoinOG Phase 1: Ubuntu 24.04 Daemon - Complete
 script.h 2026-01-10 elvisjedusor elvisjedusor [d6f475] Bitok 0.3.19 - Complete Satoshi-era security im...
 serialize.h 2026-01-10 elvisjedusor elvisjedusor [d6f475] Bitok 0.3.19 - Complete Satoshi-era security im...
 sha.cpp 2009-08-30 sirius-m sirius-m [e071a3] First commit
 sha.h 2026-01-10 elvisjedusor elvisjedusor [87c3a4] mac build fix1
 sha256.c 2026-01-17 elvisjedusor elvisjedusor [c672c0] add msvc build, fix build instructions
 sha256.h 2026-01-09 elvisjedusor elvisjedusor [a57916] Add BitokPoW
 strlcpy.h 2026-01-10 elvisjedusor elvisjedusor [c4c028] The new RPC functions (getrawtransaction, getra...
 sysendian.h 2026-01-09 elvisjedusor elvisjedusor [a57916] Add BitokPoW
 ui.cpp 2026-01-19 elvisjedusor elvisjedusor [d2b670] Implement Mining RPC API with BIP 22 support
 ui.h 2026-01-14 elvisjedusor elvisjedusor [b39df0] macos build fix
 ui.rc 2010-06-21 s_nakamoto s_nakamoto [36bb88] fix system tray icon on windows
 uibase.cpp 2026-01-17 elvisjedusor elvisjedusor [eba353] msvc build fix
 uibase.h 2026-01-17 elvisjedusor elvisjedusor [eba353] msvc build fix
 uint256.h 2026-01-09 elvisjedusor elvisjedusor [a57916] Add BitokPoW
 uiproject.fbp 2010-06-21 s_nakamoto s_nakamoto [68b973] fixed colors on ubuntu lucid,
 util.cpp 2026-01-19 elvisjedusor elvisjedusor [d2b670] Implement Mining RPC API with BIP 22 support
 util.h 2026-01-19 elvisjedusor elvisjedusor [d2b670] Implement Mining RPC API with BIP 22 support
 yespower-opt.c 2026-01-17 elvisjedusor elvisjedusor [c672c0] add msvc build, fix build instructions
 yespower-platform.c 2026-01-09 elvisjedusor elvisjedusor [a57916] Add BitokPoW
 yespower.h 2026-01-09 elvisjedusor elvisjedusor [a57916] Add BitokPoW
 yespower_dispatch.c 2026-01-09 elvisjedusor elvisjedusor [a57916] Add BitokPoW
 yespower_dispatch.h 2026-01-09 elvisjedusor elvisjedusor [a57916] Add BitokPoW
 yespower_hash.h 2026-01-17 elvisjedusor elvisjedusor [c672c0] add msvc build, fix build instructions

Read Me

Bitok

It's Bitcoin, but not Bitcoin. It's new, but also old. And yes, you can actually mine it with your laptop.

What Is This

I took the last version of Bitcoin that Satoshi worked on (0.3.19 from December 2010), updated it to compile on modern systems, and replaced SHA-256 mining with Yespower so GPUs don't have a massive advantage.

New genesis block. Separate network. Same rules otherwise.

Why

In 2010, Satoshi wrote:

It's nice how anyone with just a CPU can compete fairly equally right now.

That stopped being true about a year later. Now it's true again, at least for this chain.

Quick Start

# Download and run (Linux)
./bitokd                    # start a node
./bitokd -gen               # start mining
./bitokd getinfo            # check status

Mining uses all CPU cores by default. Limit it with -genproclimit=4 or whatever.

In the GUI: Settings > Options > Generate Coins

Specifications

Parameter Value
Algorithm Yespower 1.0 (CPU-friendly, memory-hard)
Block time 10 minutes
Block reward 50 BITOK, halving every 210,000 blocks
Max supply 21,000,000
P2P port 18333
RPC port 8332

Same economics as Bitcoin. Different mining algorithm. Different genesis.

Genesis Block

Hash:    0x0290400ea28d3fe79d102ca6b7cd11cee5eba9f17f2046c303d92f65d6ed2617
Message: "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks"
nBits:   0x1effffff
nNonce:  37137

The message is the same as Bitcoin's. Seemed appropriate.

What Changed From Original Bitcoin

Three things:

  1. Build system updated for OpenSSL 3.x, Boost 1.74+, wxWidgets 3.2, etc. Modern Ubuntu compiles it now.

  2. SHA-256 replaced with Yespower for proof-of-work. Your laptop can find blocks. A GPU won't help much.

  3. New genesis block. Separate network.

Everything else is identical to v0.3.19:

  • Same transaction format
  • Same script system
  • Same wallet behavior
  • Same networking code
  • Same 21M cap, same halving schedule
  • All security fixes from the Satoshi era included

No SegWit. No new opcodes. No BIPs. No layer 2. The protocol is frozen at December 2010.

Building

Ubuntu 24.04

sudo apt-get install build-essential libssl-dev libdb5.3-dev libboost-all-dev

# Daemon only
make -f makefile.unix

# With GUI
sudo apt-get install libwxgtk3.2-dev libgtk-3-dev
make -f makefile.unix gui

Other Platforms

Running

Daemon:

./bitokd                          # run node
./bitokd -gen                     # run node + mine
./bitokd -daemon                  # background mode
./bitokd stop                     # stop daemon

Configuration: Settings can be passed via command line or config file.

Config file location:
| OS | Path |
|----|------|
| Linux (daemon) | ~/.bitokd/bitok.conf |
| macOS | ~/Library/Application Support/Bitok/bitok.conf |
| Windows | %APPDATA%\Bitok\bitok.conf |

Example config file:

server=1
rpcuser=user
rpcpassword=pass
gen=1
addnode=1.2.3.4

Then run:

./bitokd -daemon

RPC:

./bitokd getinfo                  # node status
./bitokd getbalance               # wallet balance
./bitokd getnewaddress            # new receiving address
./bitokd sendtoaddress <addr> <amount>
./bitokd help                     # list all commands

See RPC_API.md for the full API.

GUI:

./bitok

Point and click. Mining checkbox in options.

Mining

./bitokd -gen                     # all cores
./bitokd -gen -genproclimit=4     # 4 cores

The algorithm uses ~128KB of memory per hash. This is intentional. It's what makes GPUs inefficient.

Your CPU will automatically use SSE2/AVX/AVX2 if available. No configuration needed.

See BITOKPOW.md for technical details on Yespower.

Data Directory

OS Path
Linux ~/.bitokd/
macOS ~/Library/Application Support/Bitok/
Windows %APPDATA%\Bitok\

Back up wallet.dat. If you lose it, coins are gone. There's no recovery. That's not a bug, that's how Bitcoin works.

Peer Discovery

Uses IRC bootstrap, same as original Bitcoin. Connects to irc.libera.chat and finds other nodes in #bitok.

If IRC is down, you can manually add peers:

./bitokd -addnode=<ip>

What This Is Not

  • Not trying to replace Bitcoin
  • Not a fork of BTC (different genesis entirely)
  • Not promising you'll get rich
  • Not going to add features or "improve" the protocol
  • Not going to have a foundation, governance, or roadmap

This is software. It runs. Run it or don't.

Security

This is 2010 code adapted for 2024. The cryptography is fine (ECDSA, SHA-256 for non-mining hashes). The networking and RPC are... from 2010.

Don't put your life savings in this. Don't run it on a machine you care about without understanding what you're doing. Don't blame me if something goes wrong.

All the security fixes from Satoshi's final release are included:

  • Value overflow protection (184B coin bug)
  • Blockchain checkpoints
  • DoS limits
  • IsStandard() filtering

Documentation

General

Mining

API & Integration

Building

License

MIT, same as original Bitcoin. See license.txt.

Author

Tom Elvis Jedusor

(It's an anagram. Don't worry about it.)


Writing a description for this thing is bloody hard. There's nothing to quite relate it to.

- Satoshi Nakamoto, January 2009

Still true.

MongoDB Logo MongoDB