加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

行使Hyperledger Fabric和Composer实现区块链应用措施

发布时间:2019-07-26 23:05:01 所属栏目:业界 来源:佚名
导读:今朝无法绕过技能规模的是区块链话题。但除了加密钱币之外,尚有更多风趣的应用措施可以带来很多冲感民气的软件生态体系。这也合用于Hyperledger项目,该项目提供了一个很是模块化的区块链框架。让我们看看行使Hyperledger Fabric和Composer实现区块链应用

然后,最好让本身认识新情形。假如我们完全凭证上一个链接的声名操纵,则fabric-tools此刻位于我们的主目次中。通过描写的剧本,我们可以在Docker-Compose中启动一个简朴的Fabric收集,得到对等打点员会见权限并遏制并再次删除它。起首,我们下载1.1版的Docker镜像并启动收集:

  1. export FABRIC_VERSION=hlfv11 && ./downloadFabric.sh && ./startFabric.sh 

在收集运行时,composer-playground web-UI可以通过composer-playground启动。它行使composer-cli的全部托管设置并会见正在运行的Fabric收集。以后刻开始,我们将Fabric视为可设置的平台/基本架构,其状态通过吻合的器材举办变动。我们不直接行使Fabric观念开拓链代码,权限或任何模子,由于Composer提供了更多上风。

实验成果

此刻我们在我们选择的目次中建设我们的BND项目。对付Yeoman(行使模板配置项目标代码天生器,如Maven Archtypes),有一个模板(hyperledger-composer:businessnetwork。可是,我已经筹备了一个存储库,我们此刻也可以行使JavaScript ES6和一些很好的器材。我们应该从开始分支“初始”开始。master分支具有最终版本和事变版本。我们起首克隆存储库的初始分支。

git clone -b initial git@github.com:jverhoelen/fabric-composer-engine-supplychain.git 

此刻我们在我们选择的编辑器中打开文件夹。Visual Studio Code很是得当Composer,由于它具有可安装的语法高亮扩展。稍作修改后你会发明它是一个NPM项目,以是我们从npm install开始安装全部依靠项。行使npm test我们可以运行单位测试,行使npm run lint我们可以测试代码样式,而且行使npm run createArchive我们可以建设the.bna文件,我们以打包名目完成营业收集界说。让我们顿时试试看是否统统正常。

然后我们认识项目布局。lib文件夹包括实现买卖营业处理赏罚器成果的JS文件。虽然,我们想测试这个营业逻辑并将我们的单位测试存储在test/文件夹中。模子界说(参加者,资产,买卖营业等)在models/中。

我们想起首为所需的区块链收集建模。为此,我们删除模子文件的内容,并在第一举动其指定一个新的定名空间:

  1. namespace org.acme.enginesupplychain 

我们为参加者制造商和经销商建模,并行使Composer建模说话的担任。我们还但愿每个参加者除了姓名外尚有一个可选地点。我们将这些属性放入一个观念中:

  1. participant Member identified by memberId { 
  2.     o String memberId 
  3.     o String name 
  4.     o Address address optional 
  5.   
  6. participant Manufacturer extends Member { 
  7.   
  8. participant Merchant extends Member { 
  9.   
  10. concept Address { 
  11.     o String country 
  12.     o String city 
  13.     o String street 
  14.     o String streetNo 

然后我们先容我们收集的资产:引擎块和稍后安装引擎的汽车。在这里,我们相识资产和参加者可以相互参考。引用始终指向任何范例的现有资源。我们以小“o”开头的属性老是存在于资源自己中。

  1. asset Engine identified by engineId { 
  2.     o String engineId 
  3.     o EngineProperties data 
  4.   
  5.     --> Manufacturer manufacturer 
  6.     --> Car currentCar optional 
  7.     --> Merchant merchant optional 
  8.   
  9. asset Car identified by carId { 
  10.     o String carId 
  11.     o String legalDocumentId 
  12.   
  13. concept EngineProperties { 
  14.     o String brand 
  15.     o String model 
  16.     o Double horsePower 
  17.     o Double cubicCapacity 
  18.     o Integer cylindersAmount 

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读