书接上文,上回书说到如何快速上手大数据处理框架SMACK,由于其强大的处理性能和复杂的技术架构,洋洋洒洒复制粘贴了近三千字依然难表其貌,更多详情移步原文地址。本节云框架将用“两学一做”思想,帮助大家清晰明了理解「基于区块链的智能合约技术」。
- 学习区块链的核心思想;
- 学习区块链应用场景-智能合约;
- 快速上手实践。
区块链核心思想
先给大家讲一个发生在象牙山这块小区故事,带大家认识认识我们屯里的人....
特点1 去中心化:
传统谢大脚在记账的时候,刘能经常来捣乱说“谢谢谢大脚,你别乱给我加钱,我我我昨天压根就没来买鸡爪子”。
大脚仔细一想发现事情并不简单,之前也遇到过屯里人对记账本的真实性有疑问。所以有必要找出一种每笔交易都能被乡亲知悉,交易信息可追溯,产生*信任的记账办法。
特点2 去信任:
大脚跟刘能说“你先别谢谢我,我还得谢谢你。以后这账啊我不记了,省的大家说记账有问题,大脚成臭脚。我让大家一块记账,记账又快又好的那个人,我还有特殊奖励(比特币)!”。
新的记账办法一出,村民都觉得这办法利大于弊,反正闲着也是闲着,每个人都有机会有义务有责任审核交易,唤起了每一个村民心中的“主人翁精神”。于是村民都说:“我觉得ok”。
特点3 集体维护:
从这之后象牙山这块小区有了一个公共账本,热心农民企业家王大拿亲自命名为《象牙山区块链账本》。
这个记账本的交易模式为:刘能向大脚购买了某种商品,由大脚和刘能双方都用大喇叭向村民发送交易信息。(交易广播)
这时候手快的赵四听到消息,就把这个交易信息记录下来,完成计算之后,用大喇叭广播通知说“都憋算了,最近5分钟的交易信息我都记完了,交易最终状态你们都看看,放心吧肯定不会有错的,你们以后就从我这个账本上开始记账”。然后赵四兴高采烈地去找大脚拿奖励。(挖矿)
其他村民虽然没得到记录信息的奖励,但这个账本所有交易信息都是公开透明,并且经过大家确认,所以大家都表示“我觉得ok”。(账本链+1)
同样这种记账办法不限于商品买卖,也同样适用于村民之间的借贷等问题。
特点4 账本可靠:
这种记账方式一出现,就解决了村民之间的交易信任的共识问题,获得了象牙山村民的一致拥护。虽然记账流程稍微麻烦点,但是大家都乐于参与其中,共同维护《象牙山区块链账本》。
智能合约场景
在《象牙山区块链账本1.0》期间,解决了村民之间的货币和支付手段的去中心化问题。但是像刘英和赵玉田结婚时候房子所有权,一亩三分地,以及村民随礼记账等资产认证的问题依旧没得到解决。于是机智农民企业家王大拿将账本升级为《象牙山区块链账本2.0》,利用区块链核心思想衍生出“智能合约”技术,用来注册、确认、转移不同类型的资产及合约。
这里我们赵玉田刘英结婚,村民随礼为例。于是有了一个随礼链,村民可通过随礼链完成:
1.注册随礼链账户,完成初始礼金充值
2.增加礼金金额
3.查询账户礼金信息
4.随礼(随机随礼/指定随礼)
5.查询随礼记录
6.查询礼金账户余额信息
7. …
快速上手实践
step 1. 安装运行云帮PaaS平台(智能合约框架最佳运行平台)
云帮PaaS【免费版、自助安装】
云帮PaaS【企业版】
(平台运行最小环境要求:4CPUs & 8GB Memory,框架运行最小环境要求:8CPUs & 32GB Memory)step 2.下载智能合约docker compose文件
git clone
step 3.通过云帮PaaS平台运行智能合约框架
step 4.变成自己的项目
1.根据具体业务编写链码文件,结构参考示例代码格式:
2.将链码放置于容器中,下载go环境镜像,编译链码,推荐本例中使用的name为chaincode的镜像进行。
docker exec -it chaincode bash
cd $yourProj
go build
3.修改docker-charity.yml文件
修改script.sh中的channel注册与chaincode实例化;
将cli的entrypoint指令指定为你个人的chaincode;
peer中的entrypoint指令,指定安装以及实例化你个人的chaincode。
4.重复step 3.通过云帮PaaS平台运行智能合约docker compose。
《基于区块链的智能合约》就到这,更多教程请 移步github。
下期预告《智能门卫老大爷,KONG API Gateway》,十一之后,十九大前。