WeCross部署及架构解析

这篇具有很好参考价值的文章主要介绍了WeCross部署及架构解析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

WeCross部署

环境要求:

JDK1.8.0_251以上

Gradle 5.0及以上

MySQL 5.6及以上

环境依赖脚本:

# Ubuntu

sudo apt-get install -y openssl curl expect tree fontconfig

# CentOS

sudo yum install -y openssl curl expect tree

一 WeCross基础网络的搭建

进入操作目录:

cd ~/wecross-networks

1 下载WeCross

bash <(curl -sL https://github.com/WeBankBlockchain/WeCross/releases/download/resources/download_wecross.sh)

# 若出现长时间下载WeCross包失败,请尝试以下命令重新下载:

bash <(curl -sL https://gitee.com/WeBank/WeCross/raw/master/scripts/download_wecross.sh)

2 部署跨链路由

cd ~/wecross-networks

vim ipfile

# 在文件中键入以下内容

127.0.0.1:8250:25500

127.0.0.1:8251:25501

生成好ipfile文件后,使用脚本build_wecross.sh生成两个跨链路由。

# -f 表示以文件为输入

bash ./WeCross/build_wecross.sh -n payment -o routers-payment -f ipfile

# 成功输出如下信息

[INFO] Create routers-payment/127.0.0.1-8250-25500 successfully

[INFO] Create routers-payment/127.0.0.1-8251-25501 successfully

[INFO] All completed. WeCross routers are generated in: routers-payment/

3 部署账户服务

执行过程中需输入相应数据库的配置。

cd ~/wecross-networks

bash <(curl -sL https://github.com/WeBankBlockchain/WeCross/releases/download/resources/download_account_manager.sh)

# 若出现长时间下载WeCross-Account-Manager包失败,请尝试以下命令重新下载:

bash <(curl -sL https://gitee.com/WeBank/WeCross/raw/master/scripts/download_account_manager.sh)

wecross生产部署,fabric,区块链,智能合约

4 拷贝证书

cd ~/wecross-networks/WeCross-Account-Manager/

cp ~/wecross-networks/routers-payment/cert/sdk/* conf/

5 生成私钥

bash create_rsa_keypair.sh -d conf/

6 配置

cp conf/application-sample.toml conf/application.toml

vim conf/application.toml

需配置内容包括:

admin:配置admin账户,此处可默认,router中的admin账户需与此处对应,用于登录账户服务

db:配置自己的数据库账号密码

wecross生产部署,fabric,区块链,智能合约

7 启动

bash start.sh

8 启动跨链路由

# 启动 router-8250

cd ~/wecross-networks/routers-payment/127.0.0.1-8250-25500/

bash start.sh

# 启动 router-8251

cd ~/wecross-networks/routers-payment/127.0.0.1-8251-25501/

bash start.sh

启动成功,输出如下:

WeCross booting up …WeCross start successfully

如果启动失败,检查8250, 25500端口是否被占用。

netstat -napl | grep 8250

netstat -napl | grep 25500

netstat -napl | grep 8251

netstat -napl | grep 25501

9 部署控制台

下载
cd ~/wecross-networks

bash <(curl -sL https://github.com/WeBankBlockchain/WeCross/releases/download/resources/download_console.sh)

# 若出现长时间下载WeCross-Console包失败,请尝试以下命令重新下载:

bash <(curl -sL https://gitee.com/WeBank/WeCross/raw/master/scripts/download_console.sh)
配置
cd ~/wecross-networks/WeCross-Console

# 拷贝连接router所需的TLS证书,从生成的routers-payment/cert/sdk目录下拷贝

cp ~/wecross-networks/routers-payment/cert/sdk/* conf/ 

# 拷贝配置文件,并配置跨链路由RPC服务地址以及端口。此处采用默认配置,默认连接至本地8250端口。

cp conf/application-sample.toml conf/application.toml
启动
bash start.sh

启动成功则输出如下信息,通过help可查看控制台帮助。

===============================================================================

Welcome to WeCross console(v1.1.0)!

Type ‘help’ or ‘h’ for help. Type ‘quit’ or ‘q’ to quit console.

===============================================================================

测试功能

# 正常进入,可先退出控制台,等待后续配置

[WeCross]> quit

二 接入bcos

1. 搭建区块链

# 创建操作目录

mkdir -p ~/wecross-networks/bcos && cd ~/wecross-networks/bcos

# 下载build_chain.sh脚本

curl -LO https://github.com/FISCO-BCOS/FISCO-BCOS/releases/download/v2.7.1/build_chain.sh && chmod u+x build_chain.sh

# 若因为网络原因出现长时间下载失败,请尝试以下命令:

curl -LO https://gitee.com/FISCO-BCOS/FISCO-BCOS/raw/v2.7.1/tools/build_chain.sh && chmod u+x build_chain.sh

# 搭建单群组4节点联盟链# 在fisco目录下执行下面的指令,生成一条单群组4节点的FISCO链。请确保机器的3030030303,2020020203,8545~8548端口没有被占用。# 命令执行成功会输出All completed。如果执行出错,请检查nodes/build.log文件中的错误信息。

bash build_chain.sh -l "127.0.0.1:4" -p 30300,20200,8545

#启动所有节点

bash nodes/127.0.0.1/start_all.sh

wecross生产部署,fabric,区块链,智能合约

2. 安装插件

2.1 下载编译

# 拉取代码

git clone https://github.com/WeBankBlockchain/WeCross-BCOS2-Stub.git

# 若因网络原因出现长时间下载失败,请尝试以下命令:

git clone https://gitee.com/WeBank/WeCross-BCOS2-Stub.git

# 在 dist/apps/ 下生成 bcos2-stub-XXXXX.jar 和 bcos2-stub-gm-xxxx.jar

cd WeCross-BCOS2-Stub

bash gradlew assemble 
2.2 拷贝安装

在跨链路由的主目录下创建plugin目录,然后将插件拷贝到该目录下完成安装。

cp dist/apps/* ~/wecross-networks/routers-payment/127.0.0.1-8250-25500/plugin/

3. 配置插件

3.1 生成配置框架

进入跨链路由的主目录,用add_chain.sh脚本在conf目录下生成BCOS链的配置框架。

cd ~/wecross-networks/routers-payment/127.0.0.1-8250-25500

# -t 链类型,-n 指定链名字,可根据-h查看使用说明

bash add_chain.sh -t BCOS2.0 -n bcos

执行成功,输出如下。如果执行出错,请查看屏幕打印提示。

Chain “bcos” config framework has been generated to “conf/chains/bcos”

3.2 完成配置
拷贝证书

为了能够连接BCOS链的节点,需要拷贝节点SDK的证书,证书位于节点的nodes/127.0.0.1/sdk/目录。

# 证书目录以实际情况为准

cp -r xxxxxx/nodes/127.0.0.1/sdk/*   ~/wecross-networks/routers-payment/127.0.0.1-8250-25500/conf/chains/bcos/
编辑插件配置文件stub.toml

根据实际情况编辑[chain]、[channelService]的各个配置项。
wecross生产部署,fabric,区块链,智能合约

4. 部署系统合约

4.1 非国密链

# 部署代理合约

bash deploy_system_contract.sh -t BCOS2.0 -c chains/bcos -P

# 部署桥接合约

bash deploy_system_contract.sh -t BCOS2.0 -c chains/bcos -H

wecross生产部署,fabric,区块链,智能合约

4.2 国密链

# 部署代理合约

bash deploy_system_contract.sh -t GM_BCOS2.0 -c chains/bcos -P

# 部署桥接合约

bash deploy_system_contract.sh -t GM_BCOS2.0 -c chains/bcos -H

三 接入fabric1.4

1. 搭建区块链

mkdir -p ~/wecross-networks/fabric && cd ~/wecross-networks/fabric

# 下载Demo包

bash <(curl -sL https://github.com/WeBankBlockchain/wecross/releases/download/resources/download_demo.sh)

# 若出现长时间下载Demo包失败,请尝试以下命令重新下载:

bash <(curl -sL https://gitee.com/WeBank/WeCross/raw/master/scripts/download_demo.sh)

# 拷贝其中的Fabric demo链环境

cp ./wecross-demo/fabric/* ./

# 搭链,若出错,执行 bash clear.sh 后重新 bash build.sh

bash build.sh

2. 安装插件

2.1 下载编译
git clone https://github.com/WeBankBlockchain/WeCross-Fabric1-Stub.git

# 若因网络原因出现长时间拉取代码失败,请尝试以下命令:

git clone https://gitee.com/WeBank/WeCross-Fabric1-Stub.git

cd WeCross-Fabric1-Stub

# 在 dist/apps/ 下生成 fabric1-stub-XXXXX.jar

bash gradlew assemble

2.2 拷贝安装

在跨链路由的主目录下创建plugin目录,然后将插件拷贝到该目录下完成安装。

cp dist/apps/* ~/wecross-networks/routers-payment/127.0.0.1-8251-25501/plugin/

3. 配置内置账户

# 切换至对应跨链路由的主目录

cd ~/wecross-networks/routers-payment/127.0.0.1-8251-25501/

# 用脚本生成Fabric账户配置:账户类型(Fabric1.4),账户名(fabric_admin)# 接入Fabric链,需要配置一个admin账户

bash add_account.sh -t Fabric1.4 -n fabric_admin 

# 为Fabric链的每个Org都配置一个admin账户,此处有两个org(Org1和Org2),分别配两个账户

# 配Org1的admin

bash add_account.sh -t Fabric1.4 -n fabric_admin_org1

# 配Org2的admin

bash add_account.sh -t Fabric1.4 -n fabric_admin_org2
3.2 完成配置
修改账户配置

生成的账户配置,默认的mspid为Org1MSP,需将Org2的账户的mspid配置为Org2MSP的。此处只需修改fabric_admin_org2账户的配置。

vim conf/accounts/fabric_admin_org2/account.toml

# 修改mspid,将 ‘Org1MSP’ 更改为 ‘Org2MSP’

拷贝证书文件

Fabric链的证书位于crypto-config目录,请参考以下命令并根据实际情况完成相关证书的拷贝。
wecross生产部署,fabric,区块链,智能合约

cd ~/wecross-networks/routers-payment/127.0.0.1-8251-25501

# 配置fabric_admin

# 拷贝私钥

cp xxxxxx/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore/*_sk  conf/accounts/fabric_admin/account.key

# 拷贝证书

cp xxxxxx/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts/Admin@org1.example.com-cert.pem   conf/accounts/fabric_admin/account.crt

# 配置fabric_admin_org1

# 拷贝私钥

cp xxxxxx/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/keystore/*_sk   conf/accounts/fabric_admin_org1/account.key

# 拷贝证书

cp xxxxxx/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp/signcerts/Admin@org1.example.com-cert.pem   conf/accounts/fabric_admin_org1/account.crt

# 配置fabric_admin_org2

# 拷贝私钥

cp xxxxxx/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/keystore/*_sk   conf/accounts/fabric_admin_org2/account.key

# 拷贝证书

cp xxxxxx/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp/signcerts/Admin@org2.example.com-ce

4. 配置插件

4.1 生成插件配置框架

进入跨链路由的主目录,用add_chain.sh脚本在conf目录下生成Fabric链的配置框架。

cd ~/wecross-networks/routers-payment/127.0.0.1-8251-25501

# -t 链类型,-n 指定链名字,可根据-h查看使用说明

bash add_chain.sh -t Fabric1.4 -n fabric

执行成功,输出如下。如果执行出错,请查看屏幕打印提示。

SUCCESS: Chain “fabric” config framework has been generated to “conf/chains/fabric”

4.2 完成配置
拷贝证书

相关证书同样位于crypto-config目录,请参考以下命令并根据实际情况完成相关证书的拷贝。

# 假设当前位于跨链路由的主目录# 拷贝orderer证书

cp xxxxxx/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem   conf/chains/fabric/orderer-tlsca.crt

# 拷贝org1证书

cp xxxxxx/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt   conf/chains/fabric/org1-tlsca.crt

# 拷贝org2证书

cp xxxxxx/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt   conf/chains/fabric/org2-tlsc
编辑插件配置文件stub.toml

根据实际情况编辑[fabricServices]、[orgs]的各个配置项。

wecross生产部署,fabric,区块链,智能合约

5.部署系统合约

# 部署代理合约

bash deploy_system_contract.sh -t Fabric1.4 -c chains/fabric -P

# 部署桥接合约

bash deploy_system_contract.sh -t Fabric1.4 -c chains/fabric -H

wecross生产部署,fabric,区块链,智能合约

WeCross架构

WeCross是微众区块链跨链协作平台,新版本对Stub(跨链路由)进行了插件化封装,开发者只需根据插件规范进行开发,即可让WeCross接入不同类型的链,此外,还基于HTLC(哈希时间锁定)事务机制,实现了跨链转账,让资产能够在不同链之间流转。

wecross生产部署,fabric,区块链,智能合约
首先我们会以一个用户的身份去调用跨链应用----->之后我们使用跨链路由来进行联系----->他们统一运行在一个stub 中这个叫跨链适配器大概作用就和EVM一样------>多链之间使用统一暴露的接口进行联系

其次就是我对这个应用的理解,他就像我们的手机一样打电话给对方就是p2p,然后使用手机卡进行身份判定,在之后有手机装手机卡,启动使手机拥有打电话功能与身份

wecross生产部署,fabric,区块链,智能合约文章来源地址https://www.toymoban.com/news/detail-783732.html

到了这里,关于WeCross部署及架构解析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Hyperledger Fabric Docker 方式多机部署生产网络

    3 个 orderer 节点;组织 org1 , org1 下有两个 peer 节点, peer0 和 peer1; 组织 org2 , org2 下有两个 peer 节点, peer0 和 peer1; 因为我只有 3 台虚拟机资源所以没法实现完全的多机部署,资源使用规划如下: 节点 宿主机 IP hosts 端口 cli 192.168.0.105 N/A N/A orderer0 192.168.0.105 orderer0.example.com

    2024年01月23日
    浏览(71)
  • 区块链hyperledger fabric部署

      新建目录、下载、解压 配置环境   将指定版本的 Hyperledger Fabric 平台特定二进制文件和配置文件安装到 fabric-samples 下的  /bin 和  /config  目录中,下载指定版本的 Hyperledger Fabric docker 镜像 2.2.1 配置镜像源 注:以上curl主要是为了获得一个 bootstrap.sh 的脚本文件并执行,可能

    2024年02月11日
    浏览(44)
  • 部署超级账本fabric区块可视化浏览器

    文件存放路径 在根目录中构建这样的目录结构 编写org1ProdNetworkConnection.json文件,注意自己的端口号和文件路径配置 编写 config.json 配置文件 编写 docker-compose-explorer.yaml 文件 启动 Hyperledger Explorer: 在 Hyperledger Explorer中启动 清理(不删除持久性数据): 彻底清理: 启动后访问

    2024年02月12日
    浏览(55)
  • 8. Fabric2.2 区块链农产品溯源系统 - 智能合约设计

    根据上小节的需求分析与方案设计来进行智能合约的设计。 智能合约设计最核心的是存储字段的设计、也就是索引设计,Fabric 常见的时间状态存储引擎是LevelDB 或 CouchDB,这两个数据库是KV存储,KV存储不像SQL类型存储,一张表创建多个字段,多个字段索引可以进行各种复查询

    2023年04月08日
    浏览(43)
  • (Fabric学习八)部署区块链浏览器Hyperledger explorer

    区块链浏览器Hyperledger explorer: 区块链浏览器:官方网站https://github.com/hyperledger-labs/blockchain-explorer 可以看到他需要以下几个文件 : docker-compose.yaml test-network.json config.json 注意:如果从来没有设置过postgreSQL,那最好使用默认的账号hppoc和密码password,不然会报role \\\'你自己的定

    2024年02月09日
    浏览(45)
  • 11. Fabric2.2 区块链农产品溯源系统 - 智能合约开发-1

    智能合约与业务逻辑关联度高,承载大量业务逻辑,本小节教大家搭建智能合约开发环境GoLand,并编写合约打包脚本。 作者在windows电脑安装ubuntu18.04版本虚拟机(vmware),Linux环境也有Goland版本,可用性丝毫不差,所有的区块链开发在Linux环境进行。 官方可以下载,要么评估

    2023年04月20日
    浏览(81)
  • 9. Fabric2.2 区块链农产品溯源系统 - 多组织集群部署

    区块链农产品溯源系统涉及多个角色,包括农户、加工厂、物流机构、零售商、消费者,他们属于不同的组织结构,需要部署区块链节点,这里需要把消费者剔除,消费者是不会部署区块链节点的,本小节我们将构建4组织的区块链集群。 前几节部署的Demo只有两个组织,每个

    2024年02月08日
    浏览(35)
  • 18. Fabric2.2 区块链农产品溯源系统 - 多Orderer部署(扩展)

    前面章节部署的是单orderer排序节点,本节介绍如何部署三Orderer排序节点,脚本需要基于前面章节修改后的脚本。 1.查看 docker ps -a ,内容空空如也。 2.修改 /root/fabric/scripts/fabric-samples/test-network/configtx/config.yaml

    2024年02月12日
    浏览(42)
  • 18.1. Fabric2.2 区块链农产品溯源系统 - 多Peer部署(扩展)

    这是一篇后补文章,看时间大家能够看出来,通过前面的学习,大家知道如何增加组织、如何部署多Orderer,本节介绍如何在一个组织内部署多个Peer节点,本节是基于上一节操作的继续,脚本也是基于上节进行修改的。 1. 目标:为组织1新增一个节点 peer0.org1.example.com peer0.or

    2024年02月08日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包