A basic implementation of the Proof of Work (PoW) algorithm used as Sybil prevention by Bitcoin and other PoW networks. A deeper comparison between PoW and Proof of Stake (PoS) can be found in our article PoW vs PoS: The Next Industrial Revolution.
THE MEME STUDIO | Web3 Marketing Agency
Crypto Content Wizards. Degens, you found your Web3 Marketing Agency! Experienced in helping DAOs, DeFi, P2E, NFT, and Metaverse projects with 3D Animations, Memes and more! The Meme Studio is your Web3 Agency.
www.thememestudio.com
- Method & Python Script
Method & Python Script
- Install VS Code: https://code.visualstudio.com or similar application.
- In VS Code open a new terminal window by navigating to Terminal > New Terminal.
- Install Homebrew by pasting the following code into the terminal and pressing Enter:
- Install Python in the same way:
- Next, install the modules that the script needs (dependencies):
- Now, create a project folder and navigate to it in VS Code via File > Open Folder.
- Create a new Python file in VS Code via File > New File. Name it something like pow.py
- This script calculates the hash for the text βhelloβ with five leading zeros. Copy and paste it into pow.py and save it.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install python
pip3 install hashlib datetime
# v.0.1
from hashlib import sha256
from datetime import datetime
def pow(data, zeros, nonce):
data = str(data).encode("utf-8")
zeros = zeros * "0"
t1 = datetime.now()
while True:
combo = data + f"{nonce}".encode("utf-8")
hash_ = sha256(combo).hexdigest()
if hash_.startswith(zeros):
t2 = datetime.now()
return nonce, hash_, t2-t1
else:
nonce += 1
output = pow("hello", 5, 0) # 5 = ~ 1 second
print(output)
- Run the script from the terminal with:
python3 pow.py