智能合约由来
比特币中交易的记账逻辑并非是一方加、一方减,而是通过脚本表达的总账脉络,明明可以很简单的东西,却用了一种叫UTXO(Unspent Transaction Outputs,未花费的交易输出,可参考什么是UTXO)的体系、用相对复杂的脚本语言来表达,为什么?因为中本聪要告诉人们的是,比特币是“可编程货币”,在其区块链上并不是只能实现简单的加减,而是可以实现复杂的权限管理,公私钥体系并非只是一对一,而是可以演化为复杂的“多签名”验证。这样的思路,加上前面提到的不可篡改的存证、与物联网的对接,尼克·萨博在1997年提出的“智能合约(Smart Contract)”概念就复活了。
智能合约应用之路
以太坊在比特币的区块链技术中添加了智能合约功能。所谓智能合约,其本质是“合同”+“仲裁者”的合体。传统意义上的合同,仅规定了合同的内容,而合同中所规定的权利义务则由执法机关保护。而由于智能合约使用代码的方式,保证了合同条款的强制执行力;将智能合约与区块链相结合,使得合约的条款一旦设定,就没有第三方可以篡改。
以太坊的智能合约技术,为现实世界中缺乏信任和仲裁的应用场景提供了便捷的开发工具。基于以太坊平台,当前正在研发的区块链应用超过 328 种,其中涵盖了金融服务、预测市场、电子竞技、彩票和云算力等多个领域。
智能合约产品
小蚁(AntShares):就是一款专注于“智能股权”的产品,于近日发布PC版客户端V1.6.0-preview3。该版本升级了小蚁核心协议,加入小蚁智能合约2.0功能,目前正在公开测试中。
比特股:Bitshares,自带交易所功能的数字资产发行平台。
万事达币:MasterCoin,是最早建立在比特币区块链之上的可供运行智能合约的编程平台,现已改名为Omni。
合约币:Counterparty,附生在比特币协议之上的去中心化财务应用。
上述为智能合约基本介绍和未来发展之路,下面就实战如何创建一条智能合约。
如何优雅的写一条智能合约
本次题目:
1,注册账户,注册一条链。
2,部署一个合约,合约场景为数字资产交易。
3,执行合约,并实现如下场景:
1) higer资产10000,Ryan资产为500
2) 将higer资产转移510给Ryan.
3) 查询higer和Ryan各自剩余资产,确定本次资产转让是否成功.
使用的平台为IBM的Fabric,连接如下
https://crl.ptopenlab.com:8800/bc/#home
第一步,创建一条链
魏书生魏书生第二步,部署智能合约
详细代码
https://github.com/hyperledger/fabric/blob/v0.6/examples/chaincode/go/chaincode_example02/chaincode_example02.go
魏书生第三步,写账本
魏书生第四步,查账本
后续
很多人会问学区块链编程,需要学习哪些主流编程语言呢,所以对目前主流币种支持编程语言进行统计如下:
统计来自“时代小飞飞”本文参考文献主要来源“区块链研习社”、“一块听听”、“云币网”、“小密圈”、“千聊”、“时代小飞飞”、“小蚁官网”
如何换一个的优雅姿势进行学习!!
微信号巍书生 微信公众号目前公号文章正在搬运中
网友评论