$ビットコイン (BTC.CC)$ import hashlib import datetime class Bloc...
class Block:
def __init__(self, index, previous_hash, timestamp, data, nonce=0):
self.index = index
self.previous_hash = previous_hash
self.timestamp = timestamp
self.data = data
self.nonce = nonce
self.hash = self.calculate_hash()
def __init__(self, index, previous_hash, timestamp, data, nonce=0):
self.index = index
self.previous_hash = previous_hash
self.timestamp = timestamp
self.data = data
self.nonce = nonce
self.hash = self.calculate_hash()
def calculate_hash(self):
return hashlib.sha256((str(self.index) + self.previous_hash + str(self.timestamp) + self.data + str(self.nonce)).encode()).hexdigest()
return hashlib.sha256((str(self.index) + self.previous_hash + str(self.timestamp) + self.data + str(self.nonce)).encode()).hexdigest()
class Blockchain:
def __init__(self):
self.chain = [self.create_genesis_block()]
def __init__(self):
self.chain = [self.create_genesis_block()]
ブロックチェーンを作成します
return Block(0, "0", datetime.datetime.now(), "ジェネシスブロック")
return Block(0, "0", datetime.datetime.now(), "ジェネシスブロック")
新しいブロックを追加します
new_block.previous_hash = self.chain[-1].hash
new_block.hash = new_block.calculate_hash()
self.chain.append(new_block)
new_block.previous_hash = self.chain[-1].hash
new_block.hash = new_block.calculate_hash()
self.chain.append(new_block)
ブロックと難易度を用いて作業の証明を行います
while block.hash[:difficulty] != '0' * difficulty:
block.nonce += 1
block.hash = block.calculate_hash()
print("Block mined:", block.hash)
while block.hash[:difficulty] != '0' * difficulty:
block.nonce += 1
block.hash = block.calculate_hash()
print("Block mined:", block.hash)
# 例の使用方法
difficulty = 4 # ハッシュの出力の先頭に必要なゼロの数
blockchain = ブロックチェーン()
difficulty = 4 # ハッシュの出力の先頭に必要なゼロの数
blockchain = ブロックチェーン()
# ジェネシスブロックのマイニング
blockchain.proof_of_work(blockchain.chain[0], difficulty)
print("Genesis Block mined")
blockchain.proof_of_work(blockchain.chain[0], difficulty)
print("Genesis Block mined")
# 追加のブロックを追加する
num_blocks = 3
for i in range(1, num_blocks + 1):
new_block = Block(i, "", datetime.datetime.now(), "Block " + str(i))
blockchain.proof_of_work(new_block, difficulty)
blockchain.add_block(new_block)
print("Block", i, "added to the blockchain")
num_blocks = 3
for i in range(1, num_blocks + 1):
new_block = Block(i, "", datetime.datetime.now(), "Block " + str(i))
blockchain.proof_of_work(new_block, difficulty)
blockchain.add_block(new_block)
print("Block", i, "added to the blockchain")
免責事項:このコミュニティは、Moomoo Technologies Inc.が教育目的でのみ提供するものです。
さらに詳しい情報
コメント
サインインコメントをする
104686276 : 私はあなたに手がかりを与えます。BTCキャンドルジェネシスだけをチェックしているだけでは十分ではありません。例えば、いくつかの企業の株式ジェネシスにリンクされているかどうかを確認する必要があります。その場合、フローのジェネシスとソースを見ることができます。それから、なぜそれが騰落するのかを本当に理解できます。そのコーディングがすべてを説明してくれるはずです。すると、ゲームプランは「少し」簡単になります。