This is the code repository for Foundations of Blockchain, published by Packt. It contains all the supporting project files necessary to work through the book from start to finish.
You can purchase the book from amazon.com or packt.com:
Foundations of Blockchain helps you to understand the concepts of blockchain technology. This book introduces you to cryptocurrency and several blockchain platforms. It also gives an in-depth analysis of the potential and concerns of the technology so that blockchain can be adopted where its implementation actually adds value.
Chapters and their respective code directories of the book.
- Chapter 1: Introduction
- Chapter 2: A Bit of Cryptography
- Chapter 3: Cryptography in Blockchain
- Chapter 4: Networking in Blockchain
- Chapter 5: Cryptocurrency
- Chapter 6: Diving into Blockchain - Proof of Existence
- Chapter 7: Diving into Blockchain - Proof of Ownership
- Chapter 8: Blockchain Projects
- Chapter 9: Blockchain Optimizations and Enhancements
- Chapter 10: Blockchain Security
- Chapter 11: When Shouldn't We Use Blockchain?
- Chapter 12: Blockchain Use Cases
All the scripts and applications in this repo are organized chapter wise, following the same order as that of the chapters in the book.
Software required | OS required | Hardware required |
---|---|---|
Docker Community Edition, Git, Node.js 8+, Python 3.6+ | Computer with Windows, Linux or macOS | 20 GB of disk space, 2 GB of RAM |
NOTE:
- The mentioned hardware requirement is a general requirement. Some applications may need a different specification. You can find the detailed requirements here.
- All the above mentioned software requirements are general requirements for most of the chapters, and the installation guide can be found here. Chapter specific requirements can be found in the respective chapter directories.
You are welcome to submit issues and enhancement requests and work on any of the existing issues. Follow this simple guide to contribute to the repository.
- Create or pick an existing issue to work on
- Fork the repo on GitHub
- Clone the forked project to your own machine
- Commit changes to your own branch
- Push your work back up to your forked repo
- Submit a Pull request from the forked repo to our repo so that we can review your changes
NOTE: Be sure to merge the latest from "upstream" before making a pull request!
-
Chapter 3: hash_nonce_example.py and proof_of_work_example.py is inspired from Mastering Bitcoin - First Edition by Andreas M. Antonopoulos LLC which is licensed under Creative Commons Attribution-ShareAlike 4.0 International License
-
Chapter 4: The application is inspired from the work: naivechain by Lauri Hartikka which is licensed under Apache License 2.0
-
Chapter 5: The application is inspired from the work: naivecoin by Lauri Hartikka which is licensed under Apache License 2.0
-
Chapter 6: The application is inspired from the work: proof-of-existence-on-blockchain by RecordsKeeper which is licensed under Apache License 2.0
-
Chapter 10: The application is inspired from the work: replace-by-fee-tools by Peter Todd which is licensed under GPL-3.0
If you have already purchased a print or Kindle version of this book, you can get a DRM-free PDF version at no cost.
Simply click on the link to claim your free PDF.