Skip to content

Commit 118c4a0

Browse files
authored
Update and rename ReadMe.md.txt to README.md
1 parent 2e8bcb5 commit 118c4a0

File tree

2 files changed

+49
-48
lines changed

2 files changed

+49
-48
lines changed
+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# What Is Bitcoin Mining?
2+
Bitcoin mining is performed by high-powered computers that solve complex computational math problems; these problems are so complex that they cannot be solved by hand and are complicated enough to tax even compelling computers.
3+
4+
## Terminology :
5+
1. Transaction: An transaction is a transfer of Bitcoin value and is collected in Blocks
6+
7+
2. SHA256: a function that can generate an almost-unique 256-bit (32-byte) signature(Hexa-Decimal) for a text.
8+
9+
3. Block: Blocks are files where data about the Bitcoin network are permanently recorded
10+
11+
4. Nonce: Miners have to guess this number which will reward them BTC. A nonce is an abbreviation for "number only used once," which is a number added to a hashed—or encrypted—block in a blockchain that, when rehashed, meets the difficulty level restrictions.
12+
13+
5. Difficulty Level: Number of prefix Contagious Zeroes
14+
15+
16+
## Theory :
17+
BTC will be rewarded if Nonce gives us a string with Zeroes' prefix the difficulty number of times. Sounds confusing?
18+
So, Let's take an example :
19+
1. Let's assume we have a difficulty level = 20
20+
2. Now, Let's again assume that we have the previous hash as: 'a5x208fecf9a66be9a2bc7...'
21+
3. Now we create text as : text = str(block_number) + transactions + previous_hash + str(nonce)
22+
4. Now, we pass text to SHA256 Function to generate hash
23+
5. Finally, that hash prefix must be equal to the number of zeroes as difficulty level.
24+
6. And Boom!! You have mined successfully.
25+
26+
## To Run the script :
27+
1. Run Command ```BitCoin_Mining.py```.
28+
2. Now Enter Required Values.
29+
3. You have Mined succesfully!!.
30+
31+
## Sample Test Case :
32+
INPUT : Transactions = '''Neeraj->Zara->50,Nandu->Allu->5''', difficulty=2,
33+
Previous_hash = a7sdxa036944e29568d0cff17edbe038f81208fecf9a66be9a2b8321c6ec7.
34+
OUTPUT : Successfully mined bitcoins with nonce value:336 end mining. Mining took: 12.207852363586426 seconds
35+
006f74cef9d071afa15c58b38198be14f9b4aabb4cd6f7a44afffd9f6968efcd.
36+
37+
## Draw Backs:
38+
The script has no drawbacks, but due to the increase in miners, the difficulty level increases, and hence we'd require the best hardware as the fastest wins.
39+
40+
# Refrences
41+
[Investopedia](https://www.investopedia.com/terms/b/bitcoin.asp)
42+
43+
[Computerphile Video](https://www.youtube.com/watch?v=wTC31ZI6QM4)
44+
45+
[Codebasics Video](https://www.youtube.com/watch?v=ZhnJ1bkIWWk&t=143s)
46+
47+
48+
49+

AutomationScripts/BitCoin Mining/ReadMe.md.txt

-48
This file was deleted.

0 commit comments

Comments
 (0)