Автор: Andreas M. Antonopoulos, David A. Harding
Издательство: O’Reilly Media, Inc.
Год: 2024
Страниц: 403
Язык: английский
Формат: pdf (true), epub (true)
Размер: 12.6 MB
Join the technological revolution that's taking the financial world by storm. Mastering Bitcoin is your guide through the seemingly complex world of Bitcoin, providing the knowledge you need to participate in the internet of money. Whether you're building the next killer app, investing in a startup, or simply curious about the technology, this revised and expanded third edition provides essential detail to get you started.
Bitcoin, the first successful decentralized digital currency, has already spawned a multibillion-dollar global economy open to anyone with the knowledge and passion to participate. Mastering Bitcoin provides the knowledge. You supply the passion.
The third edition includes:
• A broad introduction to Bitcoin and its underlying blockchain—ideal for nontechnical users, investors, and business executives
• An explanation of Bitcoin's technical foundation and cryptographic currency for developers, engineers, and software and systems architects
• Details of the Bitcoin decentralized network, peer-to-peer architecture, transaction lifecycle, and security principles
• New developments such as Taproot, Tapscript, Schnorr signatures, and the Lightning Network
• A deep dive into Bitcoin applications, including how to combine the building blocks offered by this platform into powerful new tools
• User stories, analogies, examples, and code snippets illustrating key technical concepts
All the code snippets can be replicated on most operating systems with a minimal installation of compilers and interpreters for the corresponding languages. Where necessary, we provide basic installation instructions and step-by-step examples of the output of those instructions. Some of the code snippets and code output have been reformatted for print. In all such cases, the lines have been split by a backslash () character, followed by a newline character. When transcribing the examples, remove those two characters and join the lines again and you should see identical results as shown in the example. All the code snippets use real values and calculations where possible, so that you can build from example to example and see the same results in any code you write to calculate the same values.
If you’re implementing a JSON-RPC call in your own program, you can use a generic HTTP library to construct the call, similar to what is shown in the preceding curl example.
However, there are libraries in most popular programming languages that “wrap” the Bitcoin Core API in a way that makes this a lot simpler. We will use the python-bitcoinlib library to simplify API access. This library is not part of the Bitcoin Core project and needs to be installed the usual way you install Python libraries. Remember, this requires you to have a running Bitcoin Core instance, which will be used to make JSON-RPC calls. The Python script in Example 3-4 makes a simple getblockchaininfo call and prints the block parameter from the data returned by Bitcoin Core.
There are many alternative clients, libraries, toolkits, and even full-node implementations in the Bitcoin ecosystem. These are implemented in a variety of programming languages, offering programmers native interfaces in their preferred language. The following sections list some of the best libraries, clients, and toolkits, organized by programming languages:
C/C++
Bitcoin Core - The reference implementation of Bitcoin
jаvascript
bcoin - A modular and scalable full-node implementation with API
Bitcore - Full node, API, and library by Bitpay
BitcoinJS - A pure jаvascript Bitcoin library for node.js and browsers
Java
bitcoinj - A Java full-node client library
Python
python-bitcoinlib - A Python bitcoin library, consensus library, and node by Peter Todd
pycoin - A Python bitcoin library by Richard Kiss
Go
btcd - A Go language, full-node Bitcoin client
Rust
rust-bitcoin - Rust bitcoin library for serialization, parsing, and API calls
Scala
bitcoin-s - A Bitcoin implementation in Scala
C#
NBitcoin - Comprehensive bitcoin library for the .NET framework
Many more libraries exist in a variety of other programming languages, and more are created all the time.
Intended Audience;
This book is mostly intended for coders. If you can use a programming language, this book will teach you how cryptographic currencies work, how to use them, and how to develop software that works with them. The first few chapters are also suitable as an in-depth introduction to Bitcoin for noncoders—those trying to understand the inner workings of Bitcoin and cryptocurrencies.
Скачать Mastering Bitcoin: Programming the Open Blockchain, 3rd Edition (Final)