8000 GitHub - wuaodi/blockchain_python: Understand the principle of blockchain by python code (minimum viable product)
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

wuaodi/blockchain_python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

blockchain_python

Understand the principle of blockchain by python code (minimum viable product)

使用python代码完成区块链的原理理解,构建最小可用snakecoin

讲解视频: https://www.bilibili.com/video/BV1Y94y1C782/

ref: https://medium.com/crypto-currently/lets-make-the-tiniest-blockchain-bigger-ac360a328f4d

ref: https://www.liaoxuefeng.com/wiki/1207298049439968/1311929706479649

名词说明

节点 = 矿工

block = 区块

blockchain = 区块链/账本

使用说明

在部分或所有节点运行

1、运行 snakecoin_server.py 矿工服务端代码

2、运行 dig.py 控制本地矿工不断挖矿

在局域网中任意地方运行

3、transaction.py 记录一笔交易

在局域网中任意地方运行

4、inquiry.py 查询所有矿工的账本

代码功能解释

snakecoin_server.py 矿工服务端代码

√ 1、提供交易记录功能

√ 2、提供挖矿功能

√ 3、提供账本查询功能

× 4、没有实现钱包功能

dig.py 控制本地矿工不断挖矿

当挖到币并通过一致性检验时:

    1、系统会奖励该矿工一个币

    2、该矿工会打包所有记录的交易上链

当挖到币未通过一致性检验时:

    使用所有矿工手里最长的账本替代自己的账本,重新开始挖矿

transaction.py 记录一笔交易

通过更改交易信息,向所有节点(矿工)发送记录交易请求

inquiry.py 查询所有矿工的blockchain(账本)

About

Understand the principle of blockchain by python code (minimum viable product)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0