a4fe70171b6fa570eda71d86b59d0fb24c2f0614 Make Bech32 LocateErrors return error list rather than using out-arg (Samuel Dobson) 2fa4fd196176160a5ad0a25da173ff93252b8103 Use std::iota instead of manually pushing range (Samuel Dobson) 405c96fc9fd909ccc461f10d55dfdd822b76f5bf Use bounds-checked array lookups in Bech32 error detection code (Samuel Dobson) 28d9c2857f1c430069bffe0547d12800c84ed9ec Simplify encoding of e in GF(1024) tables to (1,0) (Samuel Dobson) 14358a029def2334ac60d6eb630c60db6dc06f9d Replace GF1024 tables and syndrome constants with compile-time generated constexprs. (Samuel Dobson) 63f7b6977989b93e13c3afd8dfd22b524842b9d7 Update release note for bech32 error detection (Samuel Dobson) c8b9a224e70f70ccc638b2c4200a505cdf024efd Report encoding type in bech32 error message (Samuel Dobson) 92f0cafdca11a9463b6f04229c1c47805c97c1b5 Improve Bech32 boost tests (Samuel Dobson) bb4d3e9b970be2a8de3e146623801fc8cbbeb0c7 Address review comments for Bech32 error validation (Samuel Dobson) Pull request description: A number of follow-ups and improvements to the bech32 error location code, introduced in #16807. Notably, this removes the hardcoded GF1024 tables in favour of constexpr table generation. ACKs for top commit: laanwj: Re-ACK a4fe70171b6fa570eda71d86b59d0fb24c2f0614 Tree-SHA512: 6312373c20ebd6636f5797304876fa0d70fa777de2f6c507245f51a652b3d1224ebc55b236c9e11e6956c1e88e65faadab51d53587078efccb451455aa2e2276
Bitcoin Core
Setup
Bitcoin Core is the original Bitcoin client and it builds the backbone of the network. It downloads and, by default, stores the entire history of Bitcoin transactions, which requires a few hundred gigabytes of disk space. Depending on the speed of your computer and network connection, the synchronization process can take anywhere from a few hours to a day or more.
To download Bitcoin Core, visit bitcoincore.org.
Running
The following are some helpful notes on how to run Bitcoin Core on your native platform.
Unix
Unpack the files into a directory and run:
bin/bitcoin-qt
(GUI) orbin/bitcoind
(headless)
Windows
Unpack the files into a directory, and then run bitcoin-qt.exe.
macOS
Drag Bitcoin Core to your applications folder, and then run Bitcoin Core.
Need Help?
- See the documentation at the Bitcoin Wiki for help and more information.
- Ask for help on Bitcoin StackExchange.
- Ask for help on #bitcoin on Libera Chat. If you don't have an IRC client, you can use web.libera.chat.
- Ask for help on the BitcoinTalk forums, in the Technical Support board.
Building
The following are developer notes on how to build Bitcoin Core on your native platform. They are not complete guides, but include notes on the necessary libraries, compile flags, etc.
- Dependencies
- macOS Build Notes
- Unix Build Notes
- Windows Build Notes
- FreeBSD Build Notes
- OpenBSD Build Notes
- NetBSD Build Notes
- Android Build Notes
Development
The Bitcoin repo's root README contains relevant information on the development process and automated testing.
- Developer Notes
- Productivity Notes
- Release Notes
- Release Process
- Source Code Documentation (External Link)
- Translation Process
- Translation Strings Policy
- JSON-RPC Interface
- Unauthenticated REST Interface
- Shared Libraries
- BIPS
- Dnsseed Policy
- Benchmarking
Resources
- Discuss on the BitcoinTalk forums, in the Development & Technical Discussion board.
- Discuss project-specific development on #bitcoin-core-dev on Libera Chat. If you don't have an IRC client, you can use web.libera.chat.
Miscellaneous
- Assets Attribution
- Assumeutxo design
- bitcoin.conf Configuration File
- Files
- Fuzz-testing
- I2P Support
- Init Scripts (systemd/upstart/openrc)
- Managing Wallets
- PSBT support
- Reduce Memory
- Reduce Traffic
- Tor Support
- ZMQ
License
Distributed under the MIT software license.