该项目目标是实现一个最小的可运行版本的类似bitcoin的blockchain。
- 目的:
- 阐述bitcoin的机制
- 熟悉相关知识点
github地址:bitcoinlitelite
v0.1.0地址:bitcoinlitelite
说明:
- 目前Transaction,包括概念里,并没有代币的概念,之后再加。所以,目前的Transaction里包含的交易双方的信息,以及一句话。
- 目前的打包逻辑是:
- 遇到5个Transaction就开始打包
- 1分钟到了,Transaction不及5个
测试运行:
目前暂定首个节点 端口是 8091,在代码 https://github.com/jasoncodingnow/bitcoinLiteLite/blob/master/main.go L 110,请自行修改为当前机器的局域网地址
git clone https://github.com/jasoncodingnow/bitcoinLiteLite.git
cd github.com/jasoncodingnow/bitcoinLiteLite
go build .
// 启动第一个节点
./bitcoinLiteLite port 8091
// 查看console可以看到第一个节点的 publicKey, 假设是 8091PUBLISKEY
// 启动第二个节点
./bitcoinLiteLite port 8092
// 测试 由第二个节点生成一笔Transaction,并广播
// 目前,5个Transaction会打包,或者比如1个Transaction,会在1分钟内打包
// 在第二个节点的console输入Transaction命令。第一个参数是要传播给谁,第二个参数是消息是什么
8091PUBLISKEY hi
// 等待一分钟打包