上传者: 42122986
|
上传时间: 2021-11-22 23:04:43
|
文件大小: 172KB
|
文件类型: -
区块链的简单实现
该项目旨在创建一个简单的区块链概念实现,并以用户友好的方式对其进行演示。
设计理念
该项目包括两个主要部分:代理和接口。
代理商
代理代表一个能够在网络中存储和挖掘数据块的对等方。 每个代理都连接到网络中的所有其他代理,以构建P2P分布式网络。 代理的基本功能是:
向其他代理发送消息,以便广播其新近开采的区块
接收来自其他代理的消息,以便接收其他代理挖掘的区块
自行开发,验证并种植区块链
与其他代理同步最新的区块链
挖掘算法是区块链的关键。 在此项目中,我们仅使用SHA256哈希来模拟挖掘过程。
接口
该项目中包含使用Springboot实现的接口,以演示区块链的用法。 这可能会让人们感觉像是一个集中的管理界面,但是我们需要了解代理也可以独立运行。 该接口是RESTful的,所有返回数据均为json格式。 还提供了一个单页应用程序,以更好地可视化区块链概念。
快速开始
启动服务器
导航到项目根目录并启动服务器:
$ gradle bootRun
使用网页界面
在浏览器中打开并从网页尝试。 基本动作是:
将代理添加到网络
从网络中删除代理
挖掘一个新块并广播到网络