diff options
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 50 |
1 files changed, 37 insertions, 13 deletions
| @@ -8,9 +8,11 @@ CPU-only cryptocurrency. A revival of Bitcoin 0.1.0 with RandomX proof of work a | |||
| 8 | 8 | ||
| 9 | -2ea44f?style=for-the-badge) | 9 | -2ea44f?style=for-the-badge) |
| 10 |  | 10 |  |
| 11 |  | ||
| 11 |  | 12 |  |
| 13 | [](https://discord.gg/n7B2Eamn3) | ||
| 12 | 14 | ||
| 13 | **[Download](../../releases/latest)** | 15 | **[Download](https://releases.bitflash.network/)** · **[Discord](https://discord.gg/n7B2Eamn3)** |
| 14 | 16 | ||
| 15 | </div> | 17 | </div> |
| 16 | 18 | ||
| @@ -46,14 +48,14 @@ For a plain SOCKS5 proxy without Tor-specific defaults, use | |||
| 46 | 48 | ||
| 47 | ## Quick start | 49 | ## Quick start |
| 48 | 50 | ||
| 49 | Download the [latest release](../../releases/latest) and run. No install, no | 51 | Download the [latest release](https://releases.bitflash.network/) and run. No |
| 50 | configuration — it connects automatically and starts syncing. | 52 | install, no configuration — it connects automatically and starts syncing. |
| 51 | 53 | ||
| 52 | **Linux:** make the `.AppImage` executable and run it. | 54 | **Linux:** make the `.AppImage` executable and run it. |
| 53 | 55 | ||
| 54 | **Windows:** extract the `-windows.zip` and run `Bitflash.exe`. | 56 | **Windows:** extract the `-windows-with-tor.zip` and run `Bitflash.exe`. Tor is |
| 55 | If you want managed Tor without a separate Tor install, use the | 57 | bundled and a managed Tor instance starts automatically, so onion transport |
| 56 | `-windows-with-tor.zip` package and start Bitflash with `-managedtor`. | 58 | works with no separate install. Pass `-nomanagedtor` to turn it off. |
| 57 | 59 | ||
| 58 | Every release ships a `SHA256SUMS` covering the assets. Verifying takes a second | 60 | Every release ships a `SHA256SUMS` covering the assets. Verifying takes a second |
| 59 | and is worth doing: | 61 | and is worth doing: |
| @@ -83,7 +85,7 @@ Public mirrors should make the latest checksum files available both under the | |||
| 83 | versioned release directory and at the release root: | 85 | versioned release directory and at the release root: |
| 84 | 86 | ||
| 85 | ```text | 87 | ```text |
| 86 | https://releases.bitflash.network/v1.2.19/SHA256SUMS | 88 | https://releases.bitflash.network/v1.2.20/SHA256SUMS |
| 87 | https://releases.bitflash.network/SHA256SUMS # alias to latest | 89 | https://releases.bitflash.network/SHA256SUMS # alias to latest |
| 88 | ``` | 90 | ``` |
| 89 | 91 | ||
| @@ -166,6 +168,14 @@ words also cover the address the window shows you. **Both still matter** — the | |||
| 166 | phrase and the file back up different things, and the difference is where people | 168 | phrase and the file back up different things, and the difference is where people |
| 167 | lose money. | 169 | lose money. |
| 168 | 170 | ||
| 171 | Since 1.2.20 the file is a single self-contained `wallet.sqlite` by default. A | ||
| 172 | fresh data directory starts on it; an existing Berkeley DB `wallet.dat` keeps | ||
| 173 | working and the desktop app converts it in one click on first run, never | ||
| 174 | touching the original, which stays as a fallback. Choose a backend explicitly | ||
| 175 | with `-walletbackend=sqlite` or `-walletbackend=bdb`, recorded in a | ||
| 176 | `wallet-backend` marker in the data directory. See | ||
| 177 | [wallet storage](docs/storage.md). | ||
| 178 | |||
| 169 | The derivation is written down in [docs/derivation.md](docs/derivation.md), with | 179 | The derivation is written down in [docs/derivation.md](docs/derivation.md), with |
| 170 | test vectors and a script that reproduces them from scratch. It is there so the | 180 | test vectors and a script that reproduces them from scratch. It is there so the |
| 171 | twelve words keep working even if this software does not: paths, address format | 181 | twelve words keep working even if this software does not: paths, address format |
| @@ -179,8 +189,11 @@ bitflash -newphrase # create it, show it once, exit | |||
| 179 | bitflash -restorephrase="twelve words here" # rebuild a wallet from it | 189 | bitflash -restorephrase="twelve words here" # rebuild a wallet from it |
| 180 | ``` | 190 | ``` |
| 181 | 191 | ||
| 182 | `-newphrase` installs a BIP32 seed, derives the wallet's key pool and default | 192 | `-newphrase` installs a BIP39/BIP32 seed and derives the wallet as a BIP44 tree |
| 183 | receiving address from it, and prints the words once. It refuses if a phrase | 193 | along `m/44'/4346950'/0'/…` — coin type **4346950** is `0x425446`, the ASCII |
| 194 | bytes `BTF`, registered in [SLIP-0044](https://github.com/satoshilabs/slips/blob/master/slip-0044.md). | ||
| 195 | It builds the key pool and default receiving address from the seed, and prints | ||
| 196 | the words once. It refuses if a phrase | ||
| 184 | already exists: replacing one silently would strand every coin on addresses the | 197 | already exists: replacing one silently would strand every coin on addresses the |
| 185 | written-down words no longer describe. | 198 | written-down words no longer describe. |
| 186 | 199 | ||
| @@ -207,6 +220,10 @@ matter. | |||
| 207 | 220 | ||
| 208 | ### The file | 221 | ### The file |
| 209 | 222 | ||
| 223 | Under the SQLite default the wallet is one self-contained `wallet.sqlite`, and | ||
| 224 | `-backupwallet` writes a matching `.sqlite` copy that opens on its own — no | ||
| 225 | sidecar directory. The Berkeley DB notes below apply to a legacy `wallet.dat`. | ||
| 226 | |||
| 210 | **Copying `wallet.dat` on its own is not a backup.** Berkeley DB ties the file | 227 | **Copying `wallet.dat` on its own is not a backup.** Berkeley DB ties the file |
| 211 | to the environment in the `database/` subdirectory beside it, so a lone | 228 | to the environment in the `database/` subdirectory beside it, so a lone |
| 212 | `wallet.dat` will not open elsewhere — the keys are all still in there, and the | 229 | `wallet.dat` will not open elsewhere — the keys are all still in there, and the |
| @@ -244,7 +261,7 @@ as a verdict to somebody who has just lost a wallet. | |||
| 244 | 261 | ||
| 245 | ### When wallet.dat itself will not open | 262 | ### When wallet.dat itself will not open |
| 246 | 263 | ||
| 247 | Everything above still runs through Berkeley DB. If the database is the thing | 264 | A legacy `wallet.dat` runs on Berkeley DB. If that database is the thing |
| 248 | that is broken — a build that will not read it, a file truncated by a bad copy, | 265 | that is broken — a build that will not read it, a file truncated by a bad copy, |
| 249 | an environment beyond recovery — the keys are usually still fine, and you can | 266 | an environment beyond recovery — the keys are usually still fine, and you can |
| 250 | take them out as text: | 267 | take them out as text: |
| @@ -348,10 +365,12 @@ Other options worth knowing: | |||
| 348 | 365 | ||
| 349 | ```bash | 366 | ```bash |
| 350 | -datadir=PATH # wallet and chain data elsewhere | 367 | -datadir=PATH # wallet and chain data elsewhere |
| 351 | -port=N # P2P listen port, default 8433 | 368 | -testnet # isolated test network genesis, datadir, port 18433, and magic |
| 369 | -port=N # P2P listen port, default 8433; testnet default 18433 | ||
| 352 | -socks=HOST:PORT # SOCKS5 for outbound Nostr, .btf relay, and onion peer dials | 370 | -socks=HOST:PORT # SOCKS5 for outbound Nostr, .btf relay, and onion peer dials |
| 353 | -tor[=HOST:PORT] # Tor mode; default local Tor SOCKS5 proxy is 127.0.0.1:9050 | 371 | -tor[=HOST:PORT] # Tor mode; default local Tor SOCKS5 proxy is 127.0.0.1:9050 |
| 354 | -managedtor[=PATH] # start Tor, create a hidden service, advertise its onion | 372 | -managedtor[=PATH] # start Tor, create a hidden service, advertise its onion |
| 373 | -nomanagedtor # disable the automatic bundled-Tor startup | ||
| 355 | -onionservice=HOST.onion:PORT # advertise this node's Tor hidden service | 374 | -onionservice=HOST.onion:PORT # advertise this node's Tor hidden service |
| 356 | -debug # verbose log; without it debug.log is nearly silent | 375 | -debug # verbose log; without it debug.log is nearly silent |
| 357 | -help # full list | 376 | -help # full list |
| @@ -372,6 +391,10 @@ proxy. IPv6 proxy endpoints use brackets, for example `-socks=[::1]:9050`. | |||
| 372 | and signed direct `.onion` peer dials through Tor, and keeps external-IP probes | 391 | and signed direct `.onion` peer dials through Tor, and keeps external-IP probes |
| 373 | disabled. Use `-tor=HOST:PORT` when Tor listens somewhere else. | 392 | disabled. Use `-tor=HOST:PORT` when Tor listens somewhere else. |
| 374 | 393 | ||
| 394 | The desktop app starts a managed Tor automatically when no other Tor option is | ||
| 395 | set, so onion transport works out of the box; `-nomanagedtor` turns that off. | ||
| 396 | For a headless node, ask for it explicitly: | ||
| 397 | |||
| 375 | `-managedtor[=PATH]` starts a Tor process for this node, writes a local `torrc`, | 398 | `-managedtor[=PATH]` starts a Tor process for this node, writes a local `torrc`, |
| 376 | creates a v3 hidden service for port `8433`, routes outbound discovery through | 399 | creates a v3 hidden service for port `8433`, routes outbound discovery through |
| 377 | that Tor instance, and signs the generated `.onion:8433` endpoint into the | 400 | that Tor instance, and signs the generated `.onion:8433` endpoint into the |
| @@ -496,7 +519,8 @@ windows-tor` to require the extra signature check. | |||
| 496 | | Addressing | `.btf` rendezvous — see the caveats above | | 519 | | Addressing | `.btf` rendezvous — see the caveats above | |
| 497 | | Premine | None | | 520 | | Premine | None | |
| 498 | | Pool server | Built-in — `.btf` rendezvous only | | 521 | | Pool server | Built-in — `.btf` rendezvous only | |
| 499 | | Wallet recovery | Twelve-word phrase (BIP39 + BIP32), plus file backup | | 522 | | Wallet recovery | Twelve-word phrase (BIP39 + BIP32 + BIP44, coin type 4346950), plus file backup | |
| 523 | | Wallet storage | SQLite `wallet.sqlite` by default, or Berkeley DB `wallet.dat` | | ||
| 500 | 524 | ||
| 501 | The halving interval is the number most people get wrong coming from Bitcoin. | 525 | The halving interval is the number most people get wrong coming from Bitcoin. |
| 502 | Same 210,000 blocks, but at two minutes instead of ten, so it arrives in about | 526 | Same 210,000 blocks, but at two minutes instead of ten, so it arrives in about |
| @@ -504,6 +528,6 @@ ten months rather than four years. | |||
| 504 | 528 | ||
| 505 | --- | 529 | --- |
| 506 | 530 | ||
| 507 | Experimental software. Young network. Don't put in more than you are willing to lose. | 531 | Young network. Keep your node current and don't put in more than you are willing to lose. |
| 508 | 532 | ||
| 509 | MIT. Built on Bitcoin 0.1.0 (Satoshi Nakamoto, 2009). | 533 | MIT. Built on Bitcoin 0.1.0 (Satoshi Nakamoto, 2009). |