78

从零出发,用Python开发一个小型的区块链程序

 5 years ago
source link: http://blockchain.51cto.com/art/201806/576346.htm?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

eEbIbiR.jpg!web

mu6BjyE.jpg!web

背景

feYRfaR.jpg!web

“区块链”是什么?

FRzaqqI.jpg!web

关于该应用程序

iQBVb2E.jpg!web

1.将事务存储到区块中

Nfaqqym.jpg!web

n6viAn3.jpg!web

Yn6bAnf.jpg!web

ABNfemr.jpg!web

2.让区块不可更改

NzARRvN.jpg!web

JZnmaae.jpg!web

ZNnEZ36.jpg!web

N7BB7jq.jpg!web

fUFzI36.jpg!web

3.链接区块

aQJBnyF.jpg!web

清单 1. 我们的 Blockchain 类的初始结构

uUvEFj7.jpg!web

这是我们的 Blockchain 类:

i6ZzI3I.jpg!web

4.实现工作量证明算法

NJ3UbaN.jpg!web

7ruY3in.jpg!web

请注意,没有明确的逻辑来快速确定随机数;只能通过暴力破解。

5.将区块添加到链中

juUfmif.jpg!web

J32YZrQ.jpg!web

挖矿

NVjIBrM.jpg!web

N3IjU36.jpg!web

yIbUrmZ.jpg!web

OK,基本工作已经完成了。

6.创建接口

aI3Yvyf.jpg!web

2iE32mm.jpg!web

JNnmuu6.jpg!web

Ef6BBbf.jpg!web

3qamiaj.jpg!web

YnuIJfU.jpg!web

MVjqema.jpg!web

E3URnqI.jpg!web

AVnqqi2.jpg!web

7.建立共识和去中心化

byuI3mR.jpg!web

VzuqaiJ.jpg!web

qYVNzan.jpg!web

3qABJb3.jpg!web

V7VvIvN.jpg!web

NbEJJzi.jpg!web

8.构建应用程序

nyauYvJ.jpg!web

yAFf2iI.jpg!web

uiAbAzV.jpg!web

EZZRfaf.jpg!web

9.运行应用程序

完工了!

RVBrUbR.jpg!web

  • 尝试发布一些数据,您会看到类似下图的结果:

ZR7j2im.jpg!web

  • 单击 Request to mine 按钮,您会看到类似下图的结果:

RzIV7b7.jpg!web

  • 单击 Resync 按钮,您会看到应用程序与链重新同步:

nqQje2r.jpg!web

验证事务

QFnIBry.jpg!web

结束

vIjyayI.jpg!web

最后的最后,需要源代码的私信回复“区块链”

原文链接:https://wwww.ibm.com/developerworks/cn/cloud/library/cl-develop-blockchain-app-in-python/index.htm


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK