Skip to content

pepstack/blockchain-sample

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

blockchain-sample

[email protected]

2019-11-05

一个简明的python示例说明区块链原理

参考文章:

用 Python 从零开始创建区块链

Learn Blockchains by Building One

区块链技术原理并不复杂,是一种建立在p2p网络之上的分布式数据加密存储模型。理论上每个节点都存储一个数据的加密备份,并能验证数据的正确性和不可篡改。有多种开源实现,但是场景各有不同。

示例代码

pysrc/blockchain.py - 区块链算法模拟实现

pysrc/nodeserver.py - 区块链网络服务模拟实现

启动节点测试

注册节点

使用 RESTED 插件,在每个节点上执行注册(?=1,2):

POST=https://yourhost:500?/nodes/register

Type=JSON

Name=nodes Value=["https://yourhost:5001","https://yourhost:5002"]

或者:

$ curl -X POST -H "Content-Type: application/json" -d '{
    "nodes": ["https://yourhost:5001","https://yourhost:5002"]
    }' "https://yourhost:500?/nodes/register"

节点挖矿

分别刷新地址,例如5001上按3次,5002上按5次:

https://yourhost:500?/mine

查看每个节点块链数目(https://yourhost:500?/chain) 已经不同了。这时在5001上刷新解决冲突地址:

https://yourhost:5001/nodes/resolve

再次查看5001和5002节点数目,已经完全一样了。

End

About

Taken from Learn Blockchains by Building One.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages