jblockchain-master.zip

  • selenadali
    了解作者
  • Others
    开发工具
  • 85KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 2
    下载次数
  • 2019-02-07 09:45
    上传日期
blockchain tutorial from github
jblockchain-master.zip
内容介绍
# jblockchain > Einfache Blockchain-Implementierung für Demonstrationszwecke [![license](https://img.shields.io/badge/license-ASF2-blue.svg)](https://github.com/neozo-software/jblockchain/blob/master/LICENSE) jblockchain ist ein minimalistisches System um die Prinzipien einer verteilten Blockchain im Detail zu erläutern. Die Implementierung ist keinewegs auf optimale Performanz ausgelegt und verfolgt auch nur einen naiven Ansatz eines verteilten Systems. Im Vordergrund steht ein übersichtlicher Code und nicht alle Randfälle, Raceconditions und Sicherheit abzudecken. ## Starten Da es sich um eine _Spring Boot_-Applikation handelt, genügt es das Projekt zu klonen und mit _maven_ zu bauen. ```shell cd jblockchain ./mvnw package ``` Anschließend werden drei Module gebaut: * __common__: Von den folgenden Modulen gemeinsam genutzter Code * __node__: Teil des Blockchain-Netzes, der Transaktionen und Blöcke verwaltet * __client__: Ein Kommandozeilen-Client zur einfachen Kommunikation mit Nodes Der Node wird einfach durch Ausführung der jar-Datei gestartet und kontaktiert anschließend den konfigurierten Master-Node um alle erforderlichrn Daten herunterzuladen. ```shell java -jar node/target/node-0.0.1-SNAPSHOT.jar ``` ## Interagieren Nun können einfach die entsprechenden _REST_-Aufrufe getätigt werden um Aktionen auszulösen. Damit die _JSON_-Struktur nicht von Hand aufgebaut werden muss, kann sich mit dem Kommandozeilen-Client beholfen werden. Zu Beginn kann eine eigene Adresse angelegt werden. Dafür wird ein Private-Public-Keypair benötigt. ```shell cd client/target java -jar client-0.0.1-SNAPSHOT.jar --keypair ``` Daraufhin werden die Dateien `key.priv` und `key.pub` erstellt. Mit dem öffentlichen Schlüssel kann nun die Adresse für Max Mustermann werden. Der kontaktierte Node auf _localhost_ wird die neue Adresse an alle bekannten Nodes übermitteln. ```shell java -jar client-0.0.1-SNAPSHOT.jar --address --node "http://localhost:8080" --name "Max Mustermann" --publickey key.pub ``` Unter der Resource <http://localhost:8080/address> kann kontrolliert werden, dass die Adresse im System angekommen ist. Für den nächsten Schritt wird dort der Hash der erzeugten Adresse entnommen. Denn um eine Transaktion zu erstellen, muss die Sender-Adresse über den Hash identifiziert werden. ```shell java -jar client-0.0.1-SNAPSHOT.jar --transaction --node "http://localhost:8080" --sender "Tdz0bKDfca3QjFAe5Ccuj9Noy6ah8n+R8DnZznvjic4=" --message "Hallo Welt" --privatekey key.priv ``` Die Resource <http://localhost:8080/transaction> listet nun die neue Transaktion mit der Nachricht "Hallo Welt", welche mit dem privaten Schlüssel signiert wurde, im Transaktions-Pool. ## Mining Damit die Transaktionen im Pool ein Teil der Blockchain werden können, müssen diese in einem Block eingebunden werden. Diese Aufgaube wird kontinuierlich durch die Miner verfolgt. Um das Mining auf dem lokalen Node anzustoßen, genügt ein Aufruf von <http://localhost:8080/block/start-miner>. Sobald ein valider Block gefunden wird, werden die im Block eingebetteten Transaktionen aus dem Pool entfernt und der Block an die Blockchain angehängt: <http://localhost:8080/block>.
评论
    相关推荐
    • 1.zip
      BlockChain in Medical Data
    • Blockchain Logistics.zip
      Block Chain in Logistics
    • blockchain.zip
      simple blockchain written in python language
    • Blockchain.zip
      采用JSP,MySQL数据库,模拟实现一个种子交易过程,演示实现区块链技术。
    • blockchain-js.zip
      区块链实现源代码,javascript实现,包括交易加密、p2p机制等
    • Blockchain-master.zip
      git clone https://github.com/pumalearning/blockchain.git Learning-Blockchain 或者使用克隆它。 您也可以下载的源代码。 :electric_plug: 要求 如果要在服务器上运行此程序,则需要安装npm并在终端中运行以下...
    • blockChain.zip
      基于Java实现的,简单区块链技术。作为区块链学习的小demo,可以进行参考。内容主要是Java基础、加密技术以及理解区块链的原理
    • blockchain.zip
      生产过程信息管理,信息追踪。包括原材料信息、客户反馈信息等
    • blockchain15.zip
      Clips JNI java implementation. Expert system, than allows user to choose country for relocate or relax.
    • Blockchain-gbranch.zip
      new description for new item