区域链光速发展,在许多人的期许下,已经成为了互联网下一个革新点。区块链会成就的未来价值互联网,是新时代的基石。

IBM中国研究院开发的超能云(SuperVessel)平台提供了给区块链爱好者、开发者的区块链开发测试环境。通过该平台,用户能够免费、快速创建基于Hyperledger Fabric的多节点区块链、并在自己的链上编写智能合约。

通过IBM的SuperVessel,我们能接触区块链,能自己部署和执行智能合约;通过Github上的开源项目,也就是上面提到的Hyperledger Fabric,我们能去了解区块链技术如何实现。

所以,加油咯。

使用IBM超能云免费构建自己的区域链

下面介绍一下如何通过SuperVessel来构建自己的区域链平台。

区域链服务公测地址:http://crl.ptopenlab.com:8800/bc

进入网址后,使用自己的邮箱注册即可。

然后是到主页点击中间的那个 “GIVE ME A BLOCKCHAIN”

接下来就是选择Consensus Plugin(共识插件)和Size(区块链网络节点数量)。

Consensus Plugin是Hyperledger Fabric中共识插件,有两种:

  1. pbft是 微软论文PBFT共识算法的一个实现;
    2.noops 用于开发和测试,它没有共识机制,但是会处理所有consensus message,所以如果要开发自己的consensus plugin,从它开始吧

我选择的是pdft,4个节点。提交后就进入了自己的区块链监控面板。

右侧是网络面板,展示申请到的区块链网络信息,我的是4个节点;左侧是智能合约面板,包括智能合约的管理和部署;点击右侧面板右上角的望远镜,则可以实时监控各节点的日志信息。最下方是区块链面板,展示当前区块链的整体情况,初始状态下只有一个区块。

在智能合约面板里,已经有了2个智能合约作为示例,分别为map和chaincode_example02。其中map合约可以实现键值对(key-value)的存储,chaincode_example02合约可以模拟两个人的转账和查询。

部署合约

点击chaincode_example02合约对应的Deploy(部署)按钮,并填写合约的初始化值,包括合约名初始函数初始参数

该合约初始函数为init,初始参数需按格式填写,如["a","100","b","200"]表示注册两个人a和b,分别给他们100单位和200单位。

点击Deploy按钮,该合约将部署在你的区块链中,该过程大约需要20~40秒时间。当区块链面板出现一个新区块,通常表示合约已部署完成。

部署过程中,右侧面板还会有动画。

下面,我们来看一下智能合约。

智能合约是 1990s 年代由尼克萨博提出的理念,几乎与互联网同龄。由于缺少可信的执行环境,智能合约并没有被应用到实际产业中,自比特币诞生后,人们认识到比特币的底层技术区块链天生可以为智能合约提供可信的执行环境,以太坊首先看到了区块链和智能合约的契合,发布了白皮书《以太坊:下一代智能合约和去中心话应用平台》,并一直致力于将以太坊打造成最佳智能合约平台,所以比特币引领区块链,以太坊复活智能合约。

调用合约

部署完成后,在智能合约管理面板的My Deployment(我的部署)标签下查看已部署的合约实例。

点击Action下方的Invoke按钮调用智能合约,并填写调用的方法名和相应参数(不同合约的方法名和参数含义不同,具体与合约内容相关哦)。如对该合约,调用invoke方法名,填写参数[“a”,”b”,”50”],表示a给b转50个单位。

点击Submit完成调用,可以看到下方出现了新的区块:

智能合约

智能合约程序不只是一个可以自动执行的计算机程序:它自己就是一个系统参与者。它对接收到的信息进行回应,它可以接收和储存价值,也可以向外发送信息和价值。

这个程序就像一个可以被信任的人,可以临时保管资产,总是按照事先的规则执行操作。

通过自己实际操作,invoke操作两个用户之间的“转账”,是不是就能更理解这段话了?

查询合约

调用完成后,接下来你可以查询合约执行结果。仍然在My Deployment标签下,点击Action下方的Query按钮查询智能合约,并填写查询的方法名和相应参数。如选择query方法名,填写参数[“a”],表示查询a的当前单位。

点击Submit后可以看到上方出现了一个黑框框,输出a的当前单位为50。

好了,接下来可以继续操作该合约,观察区块链情况。

总结

相信通过以上操作,你也已经大概了解了什么是区块链,什么是智能合约,以及区块链是用来干什么的。从上面的例子中,我们可以看出:区块链是用来记录合约的动作变化的。

另外,可以看一下区块链部分,用鼠标点击一个区块,可以看到弹出来的此区块内容:

type是操作内容,invoke是执行,depoly是部署。每个动作都记录在了区块链上,而网络中(我们的四个节点),每个节点又都记录着区块链。无论我们在哪个节点上操作,我们的操作都会被记录到区块链中,从而实现了区块链的不可篡改、分布式、去中心化等性质。

感兴趣了话,或者说,更感兴趣了的话,就去Github上star一下、fork一下、clone一下Hyperledger Fabric,然后用Go或JavaScript来编写自己的智能合约,然后再把它上传到你的区块链网络中吧!

参考资料:

  1. 从零开始,5分钟创建并玩转属于自己的区块链(图文攻略)
  2. IBM HyperLedger fabric 简述
  3. Github - hyperledger fabric
  4. 智能合约

区域链实践第一步——区域链测试环境搭建相关推荐

  1. 【第一步】iOS开发环境搭建

    序 台州作为三线城市,iOS开发这条路很难走,对于完全从零开始的iOS开发者来说,非常迷茫.我以前做Android开发,对iOS开发也有很浓的兴趣,也是一个爱折腾的人.大约在14年的暑假开始,我走上了 ...

  2. 软件测试之第一章 软件测试和测试环境

    第一章 软件测试和测试环境 一. 软件的含义和分类 1 软件的含义 软件是程序.数据和文档的集合. 程序:编程语言:C.C++.Java.php 等. 数据:使用文件或数据库来存储数据. 文档:安装说 ...

  3. 光模块第一节之模块的制作和测试环境搭建

    光模块的基本作用是实现光电,电光信号的转换.发光器件有激光器(VCSEL DFB FP),常见波段有850nm(短距离),1310nm 1330 1550nm.VCSEL一般用于短波长850nm多模产 ...

  4. 高版本Android真机逆向测试环境搭建

    高版本Android真机逆向测试环境搭建 618购入了新机Xiaomi K50,真滴便宜又好用,续航很强界面很丝滑.正好拿来做逆向测试机? 怎么可能!这也太奢侈了!不过淘汰的Xiaomi Note 7 ...

  5. XTS 测试环境搭建和介绍

    XTS 测试环境搭建 1. 安装JDK(对于Android Q以后的版本,JDK需要11及以上的版本) 查看已经安装的 JDK 版本 ls /usr/lib/jvm/ 运行展示: 如果没有 jdk-1 ...

  6. Activiti Workflow HelloWorld 示例与测试环境搭建

    作者:Rock 出处:http://www.ecmkit.com/zh-hans/2012/03/21/activiti-workflow-hell Activiti Workflow HelloWo ...

  7. Celery简介及Docker测试环境搭建

    Celery 简介 任务队列一般用于线程或计算机之间分配工作的一种机制. 任务队列的输入是一个称为任务的工作单元,有专门的工作进行不断的监视任务队列,进行执行新的任务工作. Celery 通过消息机制 ...

  8. USDT(omniCore)测试环境搭建

    一.测试环境搭建. 注:由于window版本的omni出现同步不了的问题,推荐使用linux系统进行usdt测试链的搭建. 1.下载omnicore: wget https://bintray.com ...

  9. 大数据原生集群本地测试环境搭建一

    前言 写这个微博的目的主要是有两点,一是这是我自己在用的测试环境,虽然也有自己总结文档,但是还是在网上保留一份,以防那天文档丢失,其次另一个原因也是想和大家分享一下我自己的测试环境搭建方式,如果大家有 ...

最新文章

  1. em算法的java实现_EM算法 - Java教程 - 找一找教程网
  2. 116-数学运算符更多的使用
  3. openstack 中国联盟公开课參会总结
  4. linux 启动/关闭多个py脚本
  5. 为何python不好找工作-谁说Python找工作难?人生苦短,Python工程师你们还好吗?...
  6. 浮点数运算和金额处理
  7. MAC 终端基本命令
  8. just show up失败让我们成长
  9. Java-练习1:Bank银行模拟程序(面向对象实现)
  10. 硅谷也疯狂 IT互联网进入中美跨境人才抢夺战时代
  11. 信息类产品检测培训讲义-EN55022
  12. 【PS基本操作】如何使用PS把图片背景去掉、透明背景
  13. 防勒索病毒的个人解析
  14. 一个投标经理的标书检查笔记,拿来就用!
  15. IntelliJ Idea 常用快捷键
  16. 计算机上显示找不到无线网络连接,电脑上网时为什么只显示宽带连接不显示无线网络连接?...
  17. java基础总结(七十)--Java8中的parallelStream的坑
  18. ubuntu 8.04下安装yEd
  19. 微信保存图片查看与清理工具
  20. win10硬盘锁怎么解除_电脑磁盘加密了怎么解密_win10如何关闭硬盘加密

热门文章

  1. 为云服务立规矩——首批可信云服务认证名单公布
  2. with admin option /with grant option
  3. Android中Handler
  4. 手持终端以物联网的模式
  5. Envoy源码分析之Dispatcher
  6. 呼叫中心最难的问题是什么?
  7. [转载]64位linux安装WPS
  8. 3DMAX 批量 场景 对象 导出 .X格式 脚本
  9. 爱情神话:庄妃用美色套牢洪承畴之谜
  10. 一个总裁做企业的十条心得