首页 > 其他分享 >玩转WeBASE七大使用场景

玩转WeBASE七大使用场景

时间:2023-09-09 16:03:04浏览次数:47  
标签:私钥 七大 WeBASE 玩转 Front 区块 节点 开发者

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


目前,社区开发者中针对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,搭建一个完整的区块链管理平台。它包含了管理一个区块链的所有功能:查看链上数据、查看各个节点的信息、管理链上部署的智能合约、解析每一笔交易、管理私钥、证书等。


玩转WeBASE七大使用场景_Front_02


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


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


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


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

标签:私钥,七大,WeBASE,玩转,Front,区块,节点,开发者
From: https://blog.51cto.com/u_15988698/7419928

相关文章

  • 十分钟玩转容器服务 Kubernetes
    在当今的数字化时代,容器技术已成为应用部署的主流方式。Kubernetes作为最受欢迎的容器编排平台,能够提供高效、可扩展的容器服务。本文将介绍Kubernetes的基本概念、玩转容器服务的重要性和好处,以及如何使用Kubernetes来管理容器化应用。首先,让我们了解一下Kubernetes是什么。Kuber......
  • 十大功能特性,助力开发者玩转API Explorer
    伴随着我国API生态逐渐成熟、市场发展不断完善,API已广泛应用在以网页、移动应用、后端系统集成为主的众多开发场景中。同时,开发者对API的主要诉求已由获取数据能力转变为获取技术能力、甚至业务能力,开发者渴望更加高效便捷的调用方式,除关注API产品本身性能外,也愈发关注优质的服务和......
  • 趣味微项目:玩转Python编程,轻松学习快乐成长!
    ......
  • ChatGPT玩法(二):AI玩转Excel表格处理
    前言在线体验智能问答:https://www.topgpt.one你是否还在为记不住Excel的繁琐函数和公式而苦恼?如果是这样,那么不妨试试ChatExcel。即使你对函数一窍不通,也能轻松处理表格。只要你能清楚地描述你的需求,它就可以帮你搞定。此外,ChatExcel的作者还制作了一张工作流程对比图,一眼就能明白......
  • 聊聊如何玩转spring-boot-admin
    前言1、何为spring-boot-admin?SpringBootAdmin是一个监控工具,旨在以良好且易于访问的方式可视化SpringBootActuators提供的信息快速开始如何搭建spring-boot-admin-server1、在服务端项目的POM引入相应的GAV<dependency><groupId>de.codecentric<......
  • 【玩转鲲鹏DevKit系列】如何快速迁移软件包?
    本文分享自华为云社区《【玩转鲲鹏DevKit系列】如何快速迁移软件包?》,作者:华为云社区精选。软件包含各种不同格式的文件,如RPM包通常包含二进制文件、SO库文件、JAR包、配置文件等,人工迁移适配,开发人员需要逐行分析软件包构成,替换、修改、编译不兼容文件,手动打包生成鲲鹏版本,周......
  • 这可能是Github上最全面的Flutter教程,带你玩转Flutter
    Flutter是什么来头?Flutter是一款开源UI工具包,可利用单一代码库构建本地编译的移动、Web和桌面应用程序。Flutter由谷歌牵头开发,允许开发者构建出具有良好表现力、灵活设计、样式美观且运行迅速的应用程序。Flutter的核心语言为Dart,这是一种现代多范式语言,能够面向多个平台......
  • java线程池七大参数(转)
    转:https://blog.csdn.net/ye17186/article/details/89467919从源码来看,线程池构造有七个参数,corePoolSize,maximumPoolSize,keepAliveTime,unit,workQueue,threadFactory,handler一、corePoolSize核心线程池大小,线程池会维护一个最小线程数量,即使这些线程空闲,也不会被销......
  • 使用 Hue 玩转 Amazon EMR(SparkSQL, Phoenix) 和 Amazon Redshift
    现状ApacheHue是一个基于Web的交互式SQL助手,通过它可以帮助大数据从业人员(数仓工程师,数据分析师等)与数据仓库进行SQL交互。在AmazonEMR集群启动时,通过勾选Hue进行安装。在Hue启用以后,将原先需要登录主节点进行SQL编写及提交的工作转移到web前端,不仅方便统一管......
  • 常用的七大排序算法
    1.七大排序算法简述1.1选择排序算法思想:进行n轮操作在某一轮中,选择未排序的一个最小数组元素,与右侧未排序的第一个数组元素交换交换完之后,相当于向右扩大已排序的数组范围。重复2,3.直至所有数组元素已排序稳定性:不稳定假设在某一轮数组状态为:1,2,3,8,8,4。已排序的元......