bitcoin

Laanwj's Bitcoin Core fork - see README.md on master branch

Laanwj’s Bitcoin Core repository

In progress

Hashing performance

Database experiments

  • 2016_04_mdb LMDB experiment - change UTXO and block index DB to use LMDB (aka “Symas Lightning Memory-Mapped Database”) instead of LevelDB.

  • 2016_04_dummy_db Dummy database experiment - This replaces the block index and UTXO database with an in-memory data structure which is read from disk at start, and written to disk at shutdown. There are no intermediate flushes.

  • 2016_04_leveldb_sse42_crc32c_test Use SSE4.2 CRC32C instructions in LevelDB. LevelDB uses this cyclic redundancy check for integrity verification. See also crcbench, to see the difference in raw throughput.

Statistics and notifications

  • zmq mempool notifications: Add notifications when transactions enter or leave the mempool.

  • bc-monitor: ncurses (console) tool for monitoring a bitcoind instance (see discussion in PR #7753). To be released soon.

HTTP streaming

This is still very unstable.

  • Add a streaming API to the HTTP server. This allows streaming data to the client chunk by chunk, which is useful when not the entire data is available at once or it is huge and wouldn’t fit (efficiently) in memory.

  • Allows downloading the entire UTXO set through /rest/utxoset. This is a raw dump of all outputs, the state normally hashed by gettxoutsetinfo. The dump is performed in the background by making use of leveldb snapshotting, so without keeping cs_main locked.

    • This can be useful for analysis purposes if you don’t want to mess with bitcoin core’s database
    • Filename (via content-disposition) is utxoset-<height>-<bestblockhash>.dat. Also a custom X-Best-Block and X-Block-Height header is added.

See PR #7759 or the branch 2016_03_utxo_streaming.

Ready for review

Documents and notes

Scripts

Related Repositories

Learning-Bitcoin-from-the-Command-Line

Learning-Bitcoin-from-the-Command-Line

The best way to learn to learn deeply about bitcoin is to avoid GUIs (even bitcoin-qt), and instead learn it from the command line. ...

bitcoin-wallet

bitcoin-wallet

Bitcoin Wallet app for your Android device. Standalone Bitcoin node, no centralized backend required. ...

Open-Source-FPGA-Bitcoin-Miner

Open-Source-FPGA-Bitcoin-Miner

A completely open source implementation of a Bitcoin Miner for Altera and Xilinx FPGAs. This project hopes to promote the free and open development of FPGA based mining solutions and secure the future of the Bitcoin project as a whole. A binary release is ...

Minimal-Bitcoin-Miner

Minimal-Bitcoin-Miner

A very simple, fully functional CPU based Bitcoin Miner in C#. Uses the GETWORK protocol to connect to pool. A great reference implementation if you are trying to understand how Bitcoin mining works. ...

Open-Source-FPGA-Bitcoin-Miner

Open-Source-FPGA-Bitcoin-Miner

A completely open source implementation of a Bitcoin Miner for Altera and Xilinx FPGAs. This project hopes to promote the free and open development of FPGA based mining solutions and secure the future of the Bitcoin project as a whole. A binary release is ...


Top Contributors

laanwj

Releases

-   v0.3.21 zip tar
-   v0.3.21rc zip tar
-   v0.3.20.2 zip tar
-   v0.3.20 zip tar
-   v0.3.19 zip tar