betachen / tinychain

A simple and useful blockchain instance for learning blockchain technology.
GNU General Public License v2.0
260 stars 80 forks source link

tinychain

A mini blockchain implementation in C++14 构建迷你区块链——《深入浅出区块链》

简要说明 INTRODUNCTION

tinychain是一个业余的项目,旨在为大家提供微型的简单易懂的供学习的代码。 以下是涉及的一些基础技术:

锻造工具 Toolchain

构建 Build

On workpath of tinychain:

$ mkdir -p build && cd build
$ cmake ..
$ make

Specifically, build on Windows (example):

> mkdir build
> cd build
> cmake .. -G "Visual Studio 15 2017 Win64" -DBOOST_ROOT=/local/boost_1_67_0

Open tinychain.sln under build subfolder with Visual Studio to compile.

运行 Run

On workpath of tinychain:

$ cd build/bin
$ mkdir -p webroot && cp -f ../../etc/index.html webroot
$ ./tinychain

Specifically, run on Windows (example):

> cd build\bin\Release
> mkdir webroot
> copy /Y ..\..\..\etc\index.html webroot
> tinychain.exe

开发路径 TODO-LIST

  1. 基础代码 - (DONE, to be improved)
  2. PoW 挖矿代码 - (DONE, to be improved)
  3. 加密与账户模型 (DOING)
  4. P2P网络- (TODO)
  5. 命令行与Web动态演示 - (DOING)
  6. 共识可替换为PoS/DPoS/PBFT etc - (TODO)

仓库介绍 Source code view