Eigene Coin Blockchain mit Python erstellen
Veröffentlicht am: 25.06.2023 | Letztes Update am: 13.07.23 | Lesezeit: 2 Minute/n

Eine Blockchain kann individuell erstellt werden, bereits vor Start sollte aber entschieden werden, welche Programmiersprache dazu gewählt wird. Zu den beliebten Optionen gehören Python, JavaScript oder Solidity (eine Programmiersprache für Smart Contracts auf der Ethereum-Blockchain).
Hier ist ein Beispiel einer Python-basierten Blockchain:

import hashlib
import datetime

class Block:
    def __init__(self, index, timestamp, data, previous_hash):
        self.index = index
        self.timestamp = timestamp
        self.data = data
        self.previous_hash = previous_hash
        self.hash = self.calculate_hash()

    def calculate_hash(self):
        hash_string = str(self.index) + str(self.timestamp) + str(self.data) + str(self.previous_hash)
        return hashlib.sha256(hash_string.encode()).hexdigest()

class Blockchain:
    def __init__(self):
        self.chain = [self.create_genesis_block()]

    def create_genesis_block(self):
        return Block(0, datetime.datetime.now(), "Genesis Block", "0")

    def get_latest_block(self):
        return self.chain[-1]

    def add_block(self, new_block):
        new_block.previous_hash = self.get_latest_block().hash
        new_block.hash = new_block.calculate_hash()
        self.chain.append(new_block)

    def is_chain_valid(self):
        for i in range(1, len(self.chain)):
            current_block = self.chain[i]
            previous_block = self.chain[i - 1]
            if current_block.hash != current_block.calculate_hash():
                return False
            if current_block.previous_hash != previous_block.hash:
                return False
        return True

# Beispiel für die Verwendung der Blockchain
hnp_blockchain = Blockchain()
hnp_blockchain.add_block(Block(1, datetime.datetime.now(), "Data 1", ""))
hnp_blockchain.add_block(Block(2, datetime.datetime.now(), "Data 2", ""))
hnp_blockchain.add_block(Block(3, datetime.datetime.now(), "Data 3", ""))

# Überprüfen der Gültigkeit der Blockchain
print("Ist die Blockchain gültig? " + str(hnp_blockchain.is_chain_valid()))

# Manipulation eines Blocks 
hnp_blockchain.chain[1].data = "Manipulierter Dateninhalt"

# Erneutes Überprüfen der Gültigkeit der Blockchain nach der Manipulation
print("Ist die Blockchain gültig? " + str(hnp_blockchain.is_chain_valid()))

Dieser Code stellt eine einfache Blockchain-Implementierung dar, die Blöcke mit einem Index, Zeitstempel, Daten, vorherigem Hash und Ihrem Hash erstellt. Die Blockchain-Klasse enthält Methoden zum Erstellen eines Genesis-Blocks, zum Hinzufügen neuer Blöcke, zum Abrufen des neuesten Blocks und zum Validieren der Blockchain. Zu beachten ist, dass dies nur ein vereinfachtes Beispiel ist und nicht alle Aspekte und Sicherheitsmechanismen einer fertigen / echten Blockchain abdeckt.

Avatar
Homepage-nach-Preis

Homepage-nach-Preis DE ist eine Werbeagentur für Onlinemarketing und aktiv in der Webentwicklung tätig. Spezialisierungen wie Suchmaschinenoptimierung (SEO), Webdesign und Conversion sind feste Bestandteile des Unternehmens..

View admin Posts


↩ Zurück zur Blogübersicht

Die Webseite ist gerade offline.

>