使用JAVA开发简易区块链模型-包含交易池、POW工作量证明、多节点共识
实现的功能
- 多线程实现包含多节点的区块链网络
- 客户端可向区块链网络提交交易
- 区块链节点含有交易池,打包区块时从交易池中提取交易。
- 客户端使用ECDSA算法对交易进行签名,并用JSON序列化交易
- 交易池可维护节点内未加入区块链的交易
- 使用POW工作量证明生成区块,并在区块链网络中进行共识
- 使用最长链原则作为区块链分叉的解决方案
- 存储模块打印落盘日志
- 执行模块仅模拟执行交易,并不具备实际意义
- 存储模块仅在内存中进行存储,不涉及磁盘存储
- 不包含网络通信