Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

deps(python): Python 2 -> 3 by hand #27

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
12 changes: 6 additions & 6 deletions blockchain/chain.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,23 +39,23 @@ def calculateHash(self):
Method to calculate hash from metadata
"""
hashData = str(self.index) + str(self.data) + self.timestamp + self.previousHash + str(self.nonce)
return hashlib.sha256(hashData).hexdigest()
return hashlib.sha256(hashData.encode("utf8")).hexdigest()
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should be ok.


def mineBlock(self, difficulty):
"""
Method for Proof of Work
"""
print Back.RED + "\n[Status] Mining block (" + str(self.index) + ") with PoW ..."
print(Back.RED + "\n[Status] Mining block (" + str(self.index) + ") with PoW ...")

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

probably use fstrings. Since this is cli we should use click and show messages with click.echo

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I opted for minimal change. If we are ok about putting 3.6 as lower bound why not.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

but I agree this doesn't block your PR

startTime = time.time()

while self.hash[:difficulty] != "0"*difficulty:
self.nonce += 1
self.hash = self.calculateHash()

endTime = time.time()
print Back.BLUE + "[ Info ] Time Elapsed : " + str(endTime - startTime) + " seconds."
print Back.BLUE + "[ Info ] Mined Hash : " + self.hash
print Style.RESET_ALL
print(Back.BLUE + "[ Info ] Time Elapsed : " + str(endTime - startTime) + " seconds.")
print(Back.BLUE + "[ Info ] Mined Hash : " + self.hash)
print(Style.RESET_ALL)

# ==================================================
# ================ BLOCKCHAIN CLASS ================
Expand Down Expand Up @@ -88,7 +88,7 @@ def writeBlocks(self):
"""
Method to write new mined block to blockchain
"""
dataFile = file("chain.txt", "w")
dataFile = open("chain.txt", "w")
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

chainData = []
for eachBlock in self.chain:
chainData.append(eachBlock.__dict__)
Expand Down
30 changes: 15 additions & 15 deletions bscli.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ def cli():
@click.option("--difficulty", default=3, help="Define difficulty level of blockchain.")
def init(difficulty):
"""Initialize local blockchain"""
print """
print("""
____ _ _ _____ _ _ _
| _ \ | | | | / ____| | | | | | |
| |_) | | | ___ ___ | | __ | (___ | |__ ___ | | | |
Expand All @@ -57,14 +57,14 @@ def init(difficulty):
> Type 'help' to see supported commands.
> Project by Daxeel Soni - https://daxeel.github.io

"""
""")

# Set difficulty of blockchain
coin.difficulty = difficulty

# Start blockshell shell
while True:
cmd = raw_input("[BlockShell] $ ")
cmd = input("[BlockShell] $ ")
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

processInput(cmd)

# Process input from Blockshell shell
Expand Down Expand Up @@ -92,17 +92,17 @@ def dotx(cmd):
txData = cmd.split("dotx ")[-1]
if "{" in txData:
txData = json.loads(txData)
print "Doing transaction..."
print("Doing transaction...")
coin.addBlock(Block(data=txData))

def allblocks(cmd):
"""
Method to list all mined blocks.
"""
print ""
print("")
for eachBlock in coin.chain:
print eachBlock.hash
print ""
print(eachBlock.hash)
print("")

def getblock(cmd):
"""
Expand All @@ -111,21 +111,21 @@ def getblock(cmd):
blockHash = cmd.split(" ")[-1]
for eachBlock in coin.chain:
if eachBlock.hash == blockHash:
print ""
print eachBlock.__dict__
print ""
print("")
print(eachBlock.__dict__)
print("")

def help(cmd):
"""
Method to display supported commands in Blockshell
"""
print "Commands:"
print " dotx <transaction data> Create new transaction"
print " allblocks Fetch all mined blocks in blockchain"
print " getblock <block hash> Fetch information about particular block"
print("Commands:")
print(" dotx <transaction data> Create new transaction")
print(" allblocks Fetch all mined blocks in blockchain")
print(" getblock <block hash> Fetch information about particular block")

def throwError(msg):
"""
Method to throw an error from Blockshell.
"""
print "Error : " + msg
print("Error : " + msg)