⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣴⣶⣾⣿⣿⣿⣿⣷⣶⣦⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⣠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣄⠀⠀⠀⠀⠀
⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀
⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⠟⠿⠿⡿⠀⢰⣿⠁⢈⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⠀
⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣤⣄⠀⠀⠀⠈⠉⠀⠸⠿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀
⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⢠⣶⣶⣤⡀⠀⠈⢻⣿⣿⣿⣿⣿⣿⣿⡆
⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠼⣿⣿⡿⠃⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣷
⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⢀⣀⣀⠀⠀⠀⠀⢴⣿⣿⣿⣿⣿⣿⣿⣿⣿
⢿⣿⣿⣿⣿⣿⣿⣿⢿⣿⠁⠀⠀⣼⣿⣿⣿⣦⠀⠀⠈⢻⣿⣿⣿⣿⣿⣿⣿⡿
⠸⣿⣿⣿⣿⣿⣿⣏⠀⠀⠀⠀⠀⠛⠛⠿⠟⠋⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣿⠇
⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⣤⡄⠀⣀⣀⣀⣀⣠⣾⣿⣿⣿⣿⣿⣿⣿⡟⠀
⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣄⣰⣿⠁⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠀⠀
⠀⠀⠀⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠀⠀⠀
⠀⠀⠀⠀⠀⠙⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠋⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠻⠿⢿⣿⣿⣿⣿⡿⠿⠟⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀
WE ARE ALL SATOSHI / Except CSW by Court Order! lulz
B I T C O I N
[ 02:14:04.423861 ] [*] New block {} detected on network
[ 02:14:04.424215 ] [*] Best Diff Trying Block {} was 822495
[ 02:14:04.424326 ] Solo Miner Active
[ 02:14:04.424337 ] [*] Bitcoin Miner Restarted
[*] Target: [ 000000000000000000042e950000000000000000000000000000000000000000 ]
[*] Extranonce2: [ 000000008c842bbd ]
[*] Coinbase Hash: [ 01000000010000000000000000000000000000000000000000000000000000000000000000ffffffff3503e18c0c00046c4286650460ae1b0e0cd5a5ce6a000000008c842bbd0a636b706f6f6c112f736f6c6f2e636b706f6f6c2e6f72672fffffffff0314ac9828000000001976a9140b77264c27eddef8af2a19ff48b9a7d2c49bdfb988ac6818d4000000000016001451ed61d2f6aa260cc72cdf743e4e436a82c010270000000000000000266a24aa21a9edabbe80754ced8241c846d1c88e20331d030ae8fdb14ee4b5ac4674a8715e486a00000000 ]
[*] Merkle Root: [ fb655070ea91f5883a5a73296a00060002b2ee0316f0914afdd8aa5ef6f68266 ]
[*] Diff: [ 26959946667150639794667015087019630673637144422540572481103610249215 ]
[ 02:14:04.700281 ] [*] Working to solve block at height 822496
[BEST HASH UPDATE] New best hash: 9fd987daa824d364c2e5f0b563cd76bfad112662073994b56d1892a689302896 with difficulty: 3.7287923518187015e-10
Total Hashes: 2 | Hash Rate: 7.24 H/s[BEST HASH UPDATE] New best hash: 0f6428900ed4234ea01d390ce58ddeae6a2b4994f385076cf84e17163c92b76d with difficulty: 3.872633363175123e-09
Total Hashes: 18 | Hash Rate: 65.08 H/s[BEST HASH UPDATE] New best hash: 0c39539ca31cd8501ae8e5987f9348e1d65085b9180d5154696c93106da5120f with difficulty: 4.8760615205134545e-09
Total Hashes: 19 | Hash Rate: 68.68 H/s[BEST HASH UPDATE] New best hash: 0827113a49a6acae0e4fc0df7eeb8f7b838e99018c1f975aede5bc22324525c2 with difficulty: 7.311115024563635e-09
Total Hashes: 69 | Hash Rate: 248.79 H/s[BEST HASH UPDATE] New best hash: 036591e6d72bde8e2d229a75e8d6a33b608c4b7f83083c606486cf636f3b5439 with difficulty: 1.7547512351449957e-08
Total Hashes: 112 | Hash Rate: 402.36 H/s[BEST HASH UPDATE] New best hash: 03608ae54b5dfe539b23126a4f3e003277ef3df4c5c89155b24272265444fe23 with difficulty: 1.7649552198275906e-08
Total Hashes: 171 | Hash Rate: 611.97 H/s[BEST HASH UPDATE] New best hash: 008cdb009d7868a8fa4743d7fc652b95228568d17e8300333171572228eafe86 with difficulty: 1.083293973683515e-07
Total Hashes: 218 | Hash Rate: 776.27 H/s[BEST HASH UPDATE] New best hash: 003a4d67830b028a63e3afe8795d9519fa3252a9bdf04a79812942f4c3d54674 with difficulty: 2.6171820274681675e-07
Total Hashes: 1751 | Hash Rate: 5570.76 H/s[BEST HASH UPDATE] New best hash: 0037b69be512e9b4f0b1f7ede98aba9774a6140b380dd5aeeda6860323ab4c23 with difficulty: 2.738804667379829e-07
Total Hashes: 3322 | Hash Rate: 9188.97 H/s[BEST HASH UPDATE] New best hash: 0017446cb0cd5781108d14940ae6dc99495b4c6c947389ae1638745550e4b403 with difficulty: 6.558044934954657e-07
Total Hashes: 3907 | Hash Rate: 10476.62 H/s[BEST HASH UPDATE] New best hash: 00111f63cd01148a9846c39b9a6818c32b118e25f6bbe0c5542cc0c3b50b8c99 with difficulty: 8.91148206403026e-07
Total Hashes: 6731 | Hash Rate: 15624.93 H/s[BEST HASH UPDATE] New best hash: 0010735880121f87ab419040a76dc2acaa8733cea625bc82984b64c6d91d24f7 with difficulty: 9.275538686124551e-07
Total Hashes: 7012 | Hash Rate: 16101.10 H/s[BEST HASH UPDATE] New best hash: 00104296e4098e51a32e364b6423a7d0ef3b39c9c075b3ca6931cb2d03e84f08 with difficulty: 9.384182797318251e-07
Total Hashes: 7885 | Hash Rate: 17441.30 H/s[BEST HASH UPDATE] New best hash: 00082c2103f6b44970afe6eb3c8d984df05765c3f90e24543e8b39a584bb3c23 with difficulty: 1.8671172103235325e-06
Total Hashes: 8670 | Hash Rate: 18379.47 H/s[BEST HASH UPDATE] New best hash: 00041ba366dd9dc542d78488c9e176c8680572c8857fa3066308e3a8db2c6984 with difficulty: 3.7144425447908714e-06
Welcome to the thrilling world of Bitcoin mining! Unleash the power of your CPU to embark on a solo mining adventure with our Python Bitcoin Solo Miner. Are you ready to dive into the digital gold rush? Let's get started!
Please keep in mind there is a very small chance you will find a block; this project was created to understand the mining process.
But just keep in mind.
Every hash has the same chance! It only takes 1..
Our Python Bitcoin Solo Miner is like a high-tech pickaxe for the 21st century. It's a Python script designed for enthusiasts, hobbyists, and anyone fascinated by the world of cryptocurrency mining. Using this tool, you can attempt to mine Bitcoin blocks all by yourself.
It's like playing a lottery where your computer's CPU is your ticket!
- Solo Mining Magic: No need to join mining pools. Go solo and keep all the rewards to yourself!
- Real-Time Mining Drama: Watch the live action as your computer crunches numbers in search of that elusive golden hash.
- Performance Stats: Keep track of how hard your digital pickaxe is swinging with live hash rates and mining times.
- Bitcoin Network Whisperer: Stay connected with the Bitcoin network and be the first to know about the latest block heights and difficulties.
- Smart Shutdown: Need to pause your mining quest? Our script ensures a graceful exit, saving your progress for next time.
Hashing is the cornerstone of the Bitcoin mining process. It involves taking data (in this case, Bitcoin transactions) and passing it through a cryptographic hash function. Our Python Bitcoin Solo Miner uses the SHA-256 hashing algorithm, which transforms any input into a fixed-size, 256-bit hash value. This value is unique to each input; even a slight change in the input data drastically alters the hash output.
In mining, the objective is to find a hash that is lower than the network-defined target hash. This process is akin to a lottery, where your chances of finding such a hash are entirely probabilistic.
The mining process involves the following steps:
- Data Collection: The miner collects unconfirmed Bitcoin transactions from the network to form a new block.
- Creating a Block Header: This includes metadata such as the previous block's hash, a timestamp, and a nonce (an arbitrary number).
- Hashing for Gold: The miner hashes the block header repeatedly, changing the nonce each time, in an attempt to find a hash that meets the network's difficulty target.
- Difficulty Adjustment: Bitcoin's protocol adjusts the difficulty of mining every 2016 blocks to ensure that new blocks are created approximately every 10 minutes.
Work collection in Bitcoin mining refers to the process of gathering and verifying transaction data to form a block. Here's how it happens:
- Transaction Selection: The miner selects transactions from the mempool (a collection of all unconfirmed transactions).
- Verification: Each selected transaction is verified for its validity (e.g., no double-spending).
- Merkle Tree Construction: Transactions are hashed and structured into a Merkle tree, a data structure that enables efficient and secure verification of large sets of data.
- Block Formation: The miner assembles a block by combining the Merkle root (a single hash representing all transactions in the block), the hash of the previous block, and other necessary elements.
Clone this treasure chest:
git clone [https://github.com/DaCryptoRaccoon/BitcoinSoloPy]
Install the magic spells (a.k.a. dependencies):
pip install requests colorama tabulate tqdm
How to Mine? ⛏️ Fire up your command line steed. Navigate to the land of the cloned repository. Command your steed to run:
python3 Miner.py
Witness the mining saga unfold before your eyes!
Join the Adventure 🤝 Got ideas to improve the miner? Want to tweak the script to mine even faster? We love contributions! Check out our contributing guidelines and join the quest to make this the best solo miner in the realm!
License 📜 This project is released under [MIT]. Because sharing is caring!
A Big Thanks! 🎉 Shoutout to all the brilliant minds who contributed, tested, and provided feedback. You're the real MVPs!
This Python Bitcoin Solo Miner is an experimental tool designed for educational and entertainment purposes. While it demonstrates the principles of Bitcoin mining, users should exercise caution and understand the following:
- No Liability: The creators and contributors of this software assume no liability for any loss or damage incurred as a result of using this software. This includes, but is not limited to, financial loss, data loss, hardware damage, or any other types of loss/damage.
- Resource Usage: Bitcoin mining, even on a small scale, can be resource-intensive and may impact your computer's performance and power consumption.
- No Guarantees: Success in mining Bitcoin is highly improbable due to the immense competition and computational power in the Bitcoin network. This software does not guarantee any earnings or mining success.
- Compliance with Laws: Users are responsible for ensuring that their use of the software complies with local laws and regulations.
- Data Security: As with any software that interacts with the internet, users should be cautious and ensure their systems are secure.
By using this software, you acknowledge that you have read this disclaimer, understand its contents, and agree to use the software at your own risk.
...
Happy Mining! 🎉 May your CPU be swift, your blocks be full, and your rewards be plentiful!