http://www.7klian.com

在Fabric、 Quorum以及Corda之间实现跨链,超等账本的集成框架是这样的

这将运行一个由5个节点和4个web处事器构成的Corda网络。陈设进程或许需要几分钟的时间。
测试有两个版本:当地单位测试和测试挪用正在运行的区块链情况。要运行当地单位测试,可以在simple-asset-transfer(简朴资产转让)文件夹中利用npm run test。要运行扩展测试,则可以利用npm run test:bc。留意:与场景雷同,,test:bc同时毗连到Fabric和Quorum区块链。假如利用默认端口在当地运行所有内容,则可以继承,不然,你将不得不修改位于tests(测试)文件夹中的设置文件,以匹配每个网络的正确url。
挪用addForeignValidator,将Corda + Quorum的公钥存储到Fabric智能合约傍边;
步调3为每个活泼的Fabric验证者挪用askForPubKey,并收集它们;
Quorum网络和SDK将在靠山启动,你可以别离利用npm run quorum:log和npm run Quorum api:log来显示Quorum节点和Quorum API输出。
JDK 8
步调1为每个活泼的Corda验证者挪用askForPubKey,并收集它们;
场景1 : share-pub-key(共享公钥):npm run scenario:share
步调3 为资产的报废挪用askForSignature并收集验证者的签名(应该有4个);
4. 操作预先存在的脚色;
导航到示例Fabric API文件夹:cd example/simple-asset-transfer/fabric/api 安装 npm 依赖项:npm i
这个区块链集成框架为每个可互操纵的区块链(这里指同盟链)引入了一个“互操纵性验证者”包围网络。
然后,你就可以构建npm run quorum:api:build,然后运行自界说Quorum API npm run quorum:api ,Quorum API将默认利用端口5050、5051、5052和5053,你可以在Quorum api docker-compose文件quorum/api/docker-compose.yml 中变动它,为每个处事查找APP_PORT: 505。
一、安装措施
 
互操纵性验证者将通过验证当地节点的账本版本(步调1到3)来配合处理惩罚来自当地节点的导出请求。每个请求都由验证者签名的(可设置的)最低quorum数应答(步调4和5)。纵然某些验证者封锁或不参加,网络也可以继承事情,前提是可以担保最低quorum数。任何安详的链外通信系统,都可以通报由漫衍式账本的传输验证者认证的动静(步调6)。而来自外部门布式账本的证明,可以由吸收者在当地或利用链上逻辑(凡是是智能合约)按照该外部门布式账本的传输验证者的公钥举办验证(步调7和8)。
步调4 挪用verifySignature查抄“导入链”上生成的证明;
步调2为每个活泼的Quorum验证者挪用askForPubKey,并收集它们;
剧本和以下呼吁只在Ubuntu 18.04上测试过
一、陈设先决条件
与Fabric同盟沟通,为了启用验证者的包围网络,我们需在当地构建docker镜像:npm run fed:build。假如你打算在同一台计较机上陈设两个同盟,则不必从头生成镜像。
场景2:  fabric到quorum:npm run scenario:FtQ
而上面的应用场景,就需要以下这些步调:
这将自动为Fabric节点拉取须要的镜像(image),并运行一个由同一通道( channel)内的2个组织分另外4个节点构成的情况,以及监听端口4000 的Fabric SDK。假如你已经有一个历程在监听端口4000,那么你可以在 Fabric api 设置文件Fabric/api/config.json中变动它。留意:一些bash剧本将直接引用在端口4000上运行的应用措施,假如你变动了Fabric SDK端口,完成后,你大概需要本身终止应用措施。
四、将来的事情
步调2挪用 lockAsset以注销指定“导出链”上方针公钥(可选)的资产;
这将利用Tessera和RAFT运行一个由7个节点构成的Quorum网络,Tessera大概需要几分钟才气完全启动,你必需期待它,然后才气启动以下呼吁。当Tessera筹备好时,你可以列出你的docker容器docker ps,并期待它们全部变为“康健”(healthy)状态。
2. 可插拔模子和组件;
首先你需要成立和陈设一个Corda网络,为此,你需要运行以下剧本:npm run corda:build
1、3 Quorum区块链
测试可扩展性和机能;
然后,你就可以运行4个验证者的同盟:npm run fed:fabric 同盟验证者依赖于Fabric节点和毗连器来执行区块链操纵和验证,默认设置配置为在端口4000当地查找Fabric SDK的运行实例。假如要在差异端口或其他计较机上运行Fabric SDK,则相应地修改federations/docker-compose-Fabric.yml,为每个处事查找URL:“http://172.20.0.1:4000”,并修改字符串以指向正确的端点。
用BLS签名方案替换当前签名方案,以优化证明巨细(Hyperledger Ursa在这方面是领先者);
二、场景
然后,你就可以运行4个验证者构成的同盟:npm run fed:quorum Quorum同盟验证者依赖于Fabric 节点和毗连器执行区块链操纵和验证,默认设置配置为在端口5050上当地查找Fabric SDK的运行实例。假如要在差异端口或其他计较机上运行Fabric SDK,则相应地修改federations/docker-compose-Fabric.yml,为每个处事查找URL:“http://172.20.0.1:5050”,并修改字符串以指向正确的端点。
同盟将在靠山启动,你可以利用npm run fed:fabric:log显示Fabric同盟验证者输出。
1. 在差异同盟链账本
之间实现直接传输;
由于该示例运行在Hyperledger Fabric和Quorum上,因此我们首先需要安装并运行这两种布局的当地网络。思量到我们需要运行2个或更多的DLT网络,演示的首选配置是在Docker容器中,今朝我们还没有支持手动安装。我们将陈设2条对接的区块链(每条链4个节点加上同盟),我们发起在差异的呆板上陈设情况:譬喻,在一台呆板上陈设Fabric区块链和相关同盟,在另一台呆板上陈设Quorum区块链和相关同盟。
可能,你可以利用Fabric/artifacts中的设置来遵循Fabric文档,并陈设来自“fabric/contracts`的合约。
而这个区块链集成框架的设计原则是这样的:
三、测试
1、2 Fabric同盟
要启用验证者的包围网络,我们需要在当地构建docker 镜像 :npm run fed:build
1、1 Fabric区块链
集成更多同盟链平台(譬喻Hyperledger Sawtooth、Digital Asset等);
挪用addForeignValidator,将Corda + Fabric的公钥存储到Quorum智能合约傍边;
 
1、https://www.hyperledger.org/blog/2019/11/20/accenture-open-sources-blockchain-integration-framework-as-a-hyperledger-lab
有关可用呼吁,请查察example package.json,它在简朴资产转移(simple-asset-transfer)文件夹中:cat package.json。
1、6 Corda同盟
导航到示例Quorum API文件夹:cd example/simple-asset-transfer/quorum/api 安装 npm 依赖项:npm i
3. 机动的需求和数据协议;
要运行Fabric区块链,你可利用以下剧本:npm run fabric
然后,你就可以运行一个由4个验证者构成的同盟:npm run fed:corda Corda同盟验证者依赖于毗连器来触发Corda流和验证。
场景5:  corda到fabric:npm run scenario:CtF
如上所述,假如你已经成立了docker镜像,那么你就不需要重建它了。成立完后,运行下剧本:npm run fed:build
从Corda、Quorum和Fabric区块链获取所有验证者的公钥,并在参加区块链
之间共享它们。
挪用addForeignValidator,将Fabric + Quorum的公钥存储到Corda账本傍边;
步调1挪用createAsset在“导出链”上生成具有伪随机ID的尺度资产;
Fabric1.4
在包围网络内
实现保密通信,验证者网络应与当地账本的保密配置相匹配;
要运行Corda区块链,你可以利用以下剧本:npm run Corda
注:假如已经存储了公钥,则最后的步调将失败,多次启动剧本将自动导致此问题。
步调5挪用copyAsset在“导入链”上建设导出资产的副本;
在去年的时候,埃森哲(Accenture)公布,他们开拓并测试了两个办理方案,其旨在使两个或多个主要的同盟链生态系统可以或许实现集成。从当时起,Hyperledger(超等账本)同盟开拓了一个新的办理方案,专门为没有中央毗连者节点的许可区块链建设,而这个新的区块链集成框架,被称为Hyperledger Lab。
Docker-compose
 
场景6: fabric到corda:npm run scenario:FtC

当前平台的数量正在迅速增长,这对付行业而言无疑是一件功德,但区块链之间信息孤岛的问题,一直是个未解困难。
而在同盟链规模,IBM的Fabric、摩根大通的Quorum
以及R3的Corda是企业利用最多的区块链框架,那如何去实现这些同盟链之间的通信呢?
导航到示例文件夹:cd examples/simple-asset-transfer 安装 npm 依赖项:npm i
场景4:  corda到quorum:npm run scenario:CtQ
2、https://github.com/hyperledger-labs/blockchain-integration-framework/blob/master/docs/tutorials/simple-asset-transfer.md
集成Hyperledger Indy以打点差异区块链的互操纵性验证者身份;
加载须要的组件和组装Corda节点的进程,大概会耗损你几分钟的时间。在乐成陈设Corda节点和web处事器后,你就可以运行Corda网络了。
Docker
1、4 Quorum同盟
在公链规模,是最大的两个公链,因此许多跨链协议主要办理的就是这两大区块链之间的通信问题。
场景7: quorum到corda:npm run scenario:QtC
Fabric 网络和SDK将在靠山启动,你可以利用npm run fabric:log显示Fabric节点输出,并利用cat fabric/logs/start.log显示SDK输出。
要运行Quorum区块链,你可以利用以下剧本:npm run quorum
相关资料:
而下面这个教程,演示了如安在Fabric、Quorum以及Corda网络之间传输简朴资产。
同盟将在靠山启动,你可以利用npm run fed:corda:log来显示Corda同盟验证者输出。
实现更巨大的互操纵性用例(譬喻,原子交流或资产同步);
所有的场景都毗连到了上面提到的三个区块链及其同盟。假如利用默认端口在当地运行所有内容,则可以前进并利用以下呼吁启动个中一个场景。不然,你将不得不修改位于场景(scenarios)文件夹/simple-asset-transfer(简朴资产转让)文件夹中的设置文件,以匹配每个网络的正确url。
3、https://github.com/hyperledger-labs/blockchain-integration-framework

步调2.5(可选)挪用getAsset以验证“导出链”上的资产状态;
1、5  Corda区块链
留意:Fabric SDK有更严格的引擎要求(npm<6.0和node<9.0)
Node.js npm>=5.6,node >= 8.9
场景3 :quorum到fabric:npm run scenario:QtF
 

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读