WeBASE七大使用场景,了解一下

WeBASE是一个体验友好、功能丰富的区块链中间件平台,通过一系列通用功能组件和实用工具,助力开发者快速搭建区块链应用的基础环境,并提供可视化合约IDE和一站式联盟链管理台。

为什么需要WeBASE

FISCO BCOS自2017年开源以来,大量开发者基于FISCO BCOS开发区块链应用。在和开发者的日常沟通中我们发现,区块链应用开发流程可以进一步简化与缩短,比如所有应用都需要智能合约开发、交易上链、可视化管理、数据分析等模块,而这些模块的开发具备共性,可以抽象成通用组件。

为此,微众银行区块链开始打造一款区块链中间件平台,期望通过软件分层的形式,集中解决应用层面临的问题,屏蔽区块链底层的复杂度,降低开发者门槛,帮助企业和开发者快速搭建区块链应用。这个中间件平台就是WeBASE。

WeBASE于2019年7月份正式开源,在社区伙伴的通力协作下高速迭代、不断完善,目前共迭代22个版本,代码仓库18个,核心代码超过100000行,集成在近百个区块链应用中。

这些区块链应用覆盖多种场景,需解决的问题也不尽相同,本文将结合具体场景,讲解如何在不同场景下使用WeBASE。

7种适合使用WeBASE的场景

WeBASE的设计理念是组件化与微服务化,即尽量将组件粒度做到最小,这个特性保证了使用的灵活性,可解决不同场景的问题。开发者可将WeBASE作为一个可视化开发环境,可集成一个或多个组件到应用中,可基于已有组件进行二次开发,当然也支持搭建所有子系统以获得更完备功能,如何使用取决于个人选择。 

具体而言,开发者可以怎么使用WeBASE呢?

场景1:将WeBASE做为一个开发工具

智能合约是区块链应用开发的关键一步。

在未使用WeBASE的情况下,开发者通常将Solidity合约代码使用命令行的方式进行编译、调试、部署,再将获取生成的ABI、合约地址等信息拷贝到应用层,这对于多份代码文件的管理非常不方便。虽然开发者可以使用Remix进行普通合约开发,但Remix不支持FISCO BCOS的一些特有合约功能,例如CURD合约调用、CNS合约调用,且Remix无法连接FISCO BCOS节点,不支持在线部署。

WeBASE-Front集成了智能合约IDE,支持Solidity语言,支持使用JS本地编译,在线部署,多文件管理,自动生成Java类,交易测试等非常实用的功能。

使用WeBASE-Front,开发者仅需在节点同机部署WeBASE-Front,即可搭建可视化开发环境,快速进行智能合约开发。

图片

目前,社区开发者中针对WeBASE-Front最常见的应用是使用它搭建可视化开发环境,也有开发者将其中的智能合约IDE作为插件,集成到自己的产品中。如:ChainIDE基于WeBASE的IDE插件进行了二次开发,集成在自身的在线IDE中,给开发者带来了更好的编程体验。

场景2:将节点前置嵌入到区块链节点中

区块链应用都需要集成FISCO BCOS的SDK与节点进行交互,FISCO BCOS支持多语言SDK, 但多语言间如何便捷调用,在底层各节点上同机部署WeBASE-Front可顺滑实现。正因为WeBASE-Front需要和节点同机部署,所以我们将两者集成到一个Docker镜像中,客户无需感知WeBASE-Front,可以将它看作底层节点的一部分。

WeBASE-Front集成了Java SDK,将SDK大部分接口封装成Restful风格接口,应用层仅需向节点发送Http请求即可和区块链节点进行交互。不但可以解决多语言调用问题,还能让上层应用的交互变得更简单。

场景3:使用私钥托管服务进行云端签名

交易上链需要先用私钥签名,账户私钥由应用层自行保管,如管理不当,则存在泄漏风险。

私钥存储管理和签名可以采用组件化方式妥善解决。

例如,如某停车场运营公司,每个用户在链上对应一个账户。随着业务发展,用户量增加,需托管的私钥越来越多,如用户私钥丢失,其在链上的资产也就丢失了。因此私钥一般不由用户保管,而是托管在平台方的后台服务器中。在此场景下,平台方可选择搭建WeBASE-Sign统一管理用户的私钥,降低私钥托管和云端签名的开发成本。

WeBASE-Sign支持自动托管私钥和云端签名。开发者可在应用层搭建WeBASE-Sign,每个账户生成的私钥加密存储在WeBASE-Sign,实现私钥不出服务器;为进一步提高安全性,WeBASE-Sign所在服务器可部署在内网安全区域,通过白名单来控制访问权限。

场景4:搭建链下交易通道

应用层向区块链发送交易,一般做法是将SDK集成在应用中,应用层和节点建立长连接,调用SDK接口,发送交易并通过长连接通道,接收链上事件。但有些场景中,节点外网是不开放的,导致应用无法和节点建立直连,或请求需要路由策略才能找到节点。

面临此类情况,开发者可在链外搭建交易通道,应用层使用Rest API发送交易。需要搭建服务有WeBASE-Transaction、WeBASE-Front、WeBASE-Sign。

区块链服务网络BSN就采用此模式:通过交易上链服务进行鉴权,路由,交易通过WeBASE-Sign签名后,再通过WeBASE-Front上链。

场景5:搭建链下管理通道

平台型区块链项目,一般会运维多条链,不同链对应不同应用项目,这些链和应用需要同一个平台进行统一管理。

为此我们专门开发了链管理服务——WeBASE-Chain-Manager,WeBASE-Chain-Manager搭建起来之后,上层可调用它提供的接口,实现对多条链集中管理。

区块链服务网络BSN就采用了WeBASE-Chain-Manager来管理多条链、多个群组,可通过API便捷地操作平台中各节点,实现在线运维管理。

场景6:使用管理平台对节点进行管理

可视化管理平台是完整区块链应用中必不可少的一部分。

开发者可在区块链应用开发完成后,使用WeBASE-Node-Manager、WeBASE-Front、WeBASE-Sign、WeBASE-Web,搭建一个完整的区块链管理平台。它包含了管理一个区块链的所有功能:查看链上数据、查看各个节点的信息、管理链上部署的智能合约、解析每一笔交易、管理私钥、证书等。

图片

场景7:使用数据中台对区块链数据进行管理

区块链上的数据在每个区块中,链上数据不支持结构化查询。随着业务运行时间越来越长,交易数据不断累积,如何对数据进行分析和监管成为难题。

WeBASE支持将链上数据导出到传统存储设备中,让常规数据分析成为可能。为支持更丰富的监管功能,我们后续也会推出功能更全数据监管平台,不但可实现链上数据的展示、搜索、审计,还可对违规数据进行干预。

WeBASE日渐茁壮的路上,离不开每一位社区伙伴的帮助与支持。接下来,我们还会陆续推出WeBASE系列实操文章,更好地支持社区区块链应用开发和落地,也欢迎您将感兴趣的话题告诉小助手。关注本公众号,对话框回复【小助手】进技术交流群。

图片

了解更多干货内容,请关注FISCO BCOS开源社区公众号,访问FISCO BCOS代码仓库可下载项目所有源代码:https://github.com/FISCO-BCOS/FISCO-BCOS​​​​​​​,欢迎点击页面右上角star收藏,获取最新版本。

图片

<think>好的,用户现在的问题是如何让WeBASE使用已有的FISCO链。之前用户提到在application文件里找不到链的信息,现在可能已经解决了配置的问题,或者需要更进一步的指导。 首先,我需要确认用户是否已经正确配置了application.yml中的chain和group信息。之前的问题是关于找不到链的信息,所以可能用户已经检查了配置文件的位置和内容,现在需要将已有的FISCO链整合到WeBASE中。 接下来,用户的需求是让WeBASE使用已有的FISCO链,而不是新建一个链。这可能涉及到几个关键步骤:检查节点配置、配置WeBASE的application.yml文件、同步数据、以及验证是否成功。 我需要考虑用户可能的操作步骤是否正确。例如,用户是否确认了FISCO节点的网络可达性,是否正确填写了节点的IP和端口,特别是channelPort和frontPort是否正确。这些端口在FISCO节点的config.ini中有配置,用户需要确保这些端口开放且没有被防火墙拦截。 另外,用户可能没有正确配置群组ID和链ID,导致WeBASE无法连接到已有的链。需要强调chain.id和group.id必须与FISCO链中的配置完全一致,否则无法识别。 还要考虑用户是否重启了WeBASE服务,因为修改配置文件后必须重启才能生效。此外,日志的检查也很重要,用户需要查看日志确认是否有错误信息,比如连接失败或者配置错误。 可能用户遇到的常见问题包括:配置文件路径错误、配置项被注释、缩进错误、节点信息填写不正确、端口未开放、版本不兼容等。需要逐一排除这些可能性。 最后,需要给出清晰的步骤,包括验证步骤和常见问题解决方法,帮助用户一步步完成配置。同时提醒用户参考官方文档,确保版本兼容性,特别是在使用较新或较旧版本时可能需要调整配置格式。</think>--- ### **配置WeBASE使用已有FISCO-BCOS链的完整流程** --- ### **一、前提条件** 1. **确认FISCO-BCOS链状态** - 链已正常启动,节点间可通信 - 检查节点的`config.ini`配置: ```ini [rpc] channel_listen_port=20200 # channel_port,用于WeBASE连接 jsonrpc_listen_port=8545 # front_port(若使用WeBASE-Front) ``` - 确保防火墙开放`channel_port`(默认20200)和`front_port`(默认5003) 2. **获取链基础信息** - **链ID(chainId)**:通过控制台执行`getNodeVersion`查看 ```bash [group:1]> getNodeVersion Node Version: 3.0.0 Chain ID: 1 # ← 链ID ``` - **群组ID(groupId)**:通过`cat nodes/127.0.0.1/node0/conf/group.1.genesis`查看 --- ### **二、WeBASE-Front配置步骤** #### **1. 修改`application.yml`** ```yaml # 文件路径:webase-front/conf/application.yml chain: id: 1 # 必须与FISCO链的chainId一致 group: id: 1 # 必须与FISCO链的群组ID一致 nodes: - nodeId: 1 # 节点标识(自定义唯一ID) ip: 192.168.1.100 # FISCO节点IP channelPort: 20200 # FISCO节点的channel_port frontPort: 5003 # FISCO节点的front_port ``` #### **2. 关键配置项说明** | 配置项 | 示例值 | 来源验证方法 | |-----------------|-------------|--------------------------------------| | `chain.id` | 1 | FISCO控制台执行`getNodeVersion` | | `group.id` | 1 | FISCO节点的`group.[id].genesis`文件 | | `nodes.ip` | 192.168.1.100 | FISCO节点服务器的实际IP | | `channelPort` | 20200 | FISCO节点`config.ini`中的`channel_listen_port` | | `frontPort` | 5003 | FISCO节点`config.ini`中的`jsonrpc_listen_port` | --- ### **三、WeBASE-Node-Manager配置(可选)** 若需管理多链或多群组,需同步修改Node-Manager配置: ```yaml # 文件路径:webase-node-mgr/conf/application.yml groupData: syncInterval: 30000 # 数据同步间隔(毫秒) chain: enableExternal: true # 启用外部链 ``` --- ### **四、重启服务并验证** #### **1. 重启服务** ```bash # 重启WeBASE-Front cd /data/app/webase-front && bash stop.sh && bash start.sh # 重启WeBASE-Node-Manager(如配置) cd /data/app/webase-node-mgr && bash stop.sh && bash start.sh ``` #### **2. 验证连接状态** - **查看日志**: ```bash tail -f webase-front/log/Webase-Front.log ``` 出现以下日志表示成功: ``` [INFO] Node 192.168.1.100:20200 connected [INFO] Load chainId=1, groupId=1 ``` - **API验证**: ```bash curl http://localhost:5003/WeBASE-Front/1/web3/blockNumber ``` 正常响应示例: ```json {"code":0,"message":"success","data":12345} ``` --- ### **五、常见问题与解决** | 问题现象 | 解决方案 | |------------------------------|--------------------------------------------------------------------------| | **连接超时** | 检查防火墙规则,确认`telnet 192.168.1.100 20200`是否通 | | **返回`group not exist`** | 检查`group.id`是否与FISCO链的群组ID一致 | | **日志报`invalid chainId`** | 确认`chain.id`与FISCO链的`chainId`一致(需**完全匹配**,包括小写) | | **节点数据未同步** | 在WeBASE管理页面手动触发数据同步,或检查`groupData.syncInterval`配置 | --- ### **六、高级配置(多节点/多群组)** 若需连接多个节点或群组,扩展`nodes`配置: ```yaml nodes: - nodeId: 1 ip: 192.168.1.100 channelPort: 20200 frontPort: 5003 - nodeId: 2 # 新增节点 ip: 192.168.1.101 channelPort: 20200 frontPort: 5003 ``` --- ### **、注意事项** 1. **版本兼容性** - WeBASE v1.5.3+ 支持 FISCO-BCOS 3.x - WeBASE v1.4.x 仅支持 FISCO-BCOS 2.x 2. **数据一致性** - 首次接入已有链时,需等待区块同步完成(通过`getBlockNumber`确认) 3. **密钥对匹配** - 若链上已有合约,需将私钥文件(如`0x...`) 导入WeBASE的`conf/accounts`目录 --- 通过以上步骤,可确保WeBASE正确接入已有FISCO-BCOS链。若仍遇到问题,建议提供`application.yml`配置片段及节点日志进行深度排查。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值