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

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

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

成果自己的单位测试相对简朴,假如我们有履历,我们不必要相识更多。只有对此所需的工具的boostrapping如故有点超载样板代码。测试起首启动内存中的Fabric收集,在其上安装营业收集,然后以默认打点员身份对其举办身份验证。由于这个Composer提供了库composer-admincomposer-clientcomposer-commoncomposer-connector-embedded。在测试配置之后,我们此刻可以针对嵌入式收集编写测试用例。因为其长度,配置代码未包括在列表中,但可以在test/EngineSupplychainSpec.js中的主分支上查察和测试。

用于测试买卖营业范例的单位测试用例凡是具有相同的模式。他们行使其属性和相关从头建设买卖营业,针对收集执行买卖营业,然后搜查所涉及的资产和参加者的数据状态。我们来看看createEngineAsset的现有测试用例。

  1. describe(‘EngineSupplychainSpec’, () => { 
  2.   
  3.    // setup is done in the before and beforeEach hook 
  4.    // results are the bnc (BusinessNetworkConnection), target namespace 
  5.    // as well as test assets, participants and required registries 
  6.    describe('createEngineAsset', () => { 
  7.        it('should create an Engine by submitting a valid EngineCreation transaction', async () => { 
  8.            const factory = bnc.getBusinessNetwork().getFactory() 
  9.   
  10.            const engineCreationTrans = factory.newTransaction(namespace, 'EngineCreation') 
  11.            engineCreationTrans.data = factory.newConcept(namespace, 'EngineProperties') 
  12.            engineCreationTrans.data.brand = 'Audi' 
  13.            engineCreationTrans.data.model = 'Fancy engine model' 
  14.            engineCreationTrans.data.horsePower = 400 
  15.            engineCreationTrans.data.cubicCapacity = 4000 
  16.            engineCreationTrans.data.cylindersAmount = 10 
  17.   
  18.            const manufacturerRegistry = await bnc.getParticipantRegistry(namespace + '.Manufacturer') 
  19.            await manufacturerRegistry.addAll([]) 
  20.            engineCreationTrans.manufacturer = factory.newRelationship(namespace, 'Manufacturer', testManufacturer.$identifier) 
  21.   
  22.            await bnc.submitTransaction(engineCreationTrans) 
  23.   
  24.            const allEngines = await engineRegistry.getAll() 
  25.            allEngines.length.should.equal(2) 
  26.        }) 
  27.    }) 
  28. }) 

(编辑:湖南网)

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

热点阅读