区块链今年发展真是飞快!从最初一个陌生的概念,到现在已经在各个行业起步,星星之火大有燎原之势。真但愿能拥有本身的区块链练练手【表情】!但是一我的、一台电脑,怎么才能搭起来区块链环境……火到不行的区块链,想说爱你不容易!git
Don’t Worry! 如今就手把手带你从零开始,5分钟玩转属于本身的区块链!~github
IBM中国研究院开发的超能云(SuperVessel:http://www.ptopenlab.com)平台提供了给区块链爱好者、开发者的区块链开发测试环境。经过该平台,用户可以免费、超快速建立基于Hyperledger Fabric的多节点区块链、并在本身的链上花式玩转智能合约。浏览器
只须要你的本地浏览器便可!微信
(若是已经有Supervesse的账号,该步骤可忽略。直接使用Supervessel的账号登录便可。)网络
访问超能云(SuperVessel)区块链服务的公测地址 http://crl.ptopenlab.com:8800/bc函数
点击右上角Log in(登陆)按钮,在弹出的窗口中点击Register(注册),填写邮箱和密码后提交。此时建议去邮箱查看激活邮件,并激活本身的帐号(小编提示:懒的激活也不要紧,只是某些高级服务必须激活后才能使用哦)。oop
注册完成后,回到主页,点击偌大的GIVE ME A BLOCKCHAIN(给我一个区块链!)按钮。在弹出框中选择你想要的Consensus Plugin(共识插件)和Size(区块链网络节点数量)。学习
小编备注:目前可选Hyperledger Fabric官方提供的两种共识插件:noops和pbft。区块链
点击Submit(提交)后,几秒后就能获得本身的区块链,并自动进入监控面板。没错,拿到一个属于本身的区块链就是这么简单!测试
进入监控面板后能够看到,左侧是智能合约管理面板,包括对智能合约的管理和部署;右侧是网络面板,展现申请到的区块链网络状况,拓扑、节点之间的延迟信息等一目了然;点击右上角的望远镜图标,则能够实时监控各节点的日志信息。最下方是区块链面板,展现当前区块链的总体状况,初始状态下只有一个区块。
接下来,小编教你如何在本身的区块链上部署和使用智能合约。
在智能合约管理面板的Smart Contracts(智能合约)标签下列出了2个智能合约做为示例,分别为map和chaincode_example02。其中map合约能够实现键值对(key-value)的存储,chaincode_example02合约能够模拟两我的的转帐和查询。
小编备注:这2个示例合约的代码可在Hyperledger Fabric源码中找到(https://github.com/hyperledger/fabric/tree/master/examples/chaincode/go)。
以部署和使用chaincode_example02合约为例:
点击chaincode_example02合约对应的Deploy(部署)按钮,并填写合约的初始化值,包括合约名、初始函数、初始参数。该合约初始函数为init,初始参数需按格式填写,如[“a”,”100”,”b”,”200”]表示注册两我的a和b,分别给他们100单位和200单位。
点击Deploy按钮,该合约将部署在你的区块链中,该过程大约须要20~40秒时间。当区块链面板出现一个新区块,一般表示合约已部署完成。
部署完成后,在智能合约管理面板的My Deployment(个人部署)标签下查看已部署的合约实例。
点击Action下方的Invoke按钮调用智能合约,并填写调用的方法名和相应参数(不一样合约的方法名和参数含义不一样,具体与合约内容相关哦)。如对该合约,调用invoke方法名,填写参数[“a”,”b”,”50”],表示a给b转50个单位。
点击Submit完成调用后,能够查看区块链状况,此时会生成新的区块。
调用完成后,接下来你能够查询合约执行结果。仍然在My Deployment标签下,点击Action下方的Query按钮查询智能合约,并填写查询的方法名和相应参数。如选择query方法名,填写参数[“a”],表示查询a的当前单位。
点击Submit后能够看到a的当前单位为50。你能够再去查询b试试看!
OK,接下来你能够继续操做该合约,观察区块链状况,或者在该区块链上再部署一个新智能合约,好比map。为了方便使用,部署、调用和查询合约的方法名和参数格式都默认填好了,你只需选择一个方法名,照猫画虎改改参数就好!看看你能把链玩到多长~
除了目前提供的两个公有智能合约,你还能够上传并测试本身的私有合约!私有合约只有本身能看到。
在Smart Contracts标签下点击Import private smart contract。
填写合约名和描述,并上传合约代码文件后,点击Import,完成上传。
以后Smart Contracts列表里便出现我上传的合约,能够像前文同样进行部署、调用和查询了。
感兴趣的开发者不妨去学习一下Hyperledger Fabric源码中的合约示例(https://github.com/hyperledger/fabric/tree/master/examples/chaincode/go),动手编写并在平台上测试本身的第一个智能合约吧!
今天的教程就到这里,欢迎你们参与公测,并在微信公众号后台或者向咱们的邮箱help@ptopenlab.com 发送反馈意见!