当前位置: 首页 > news >正文

开源进展 | WeBASE v3.1.0发布,新增多个实用特性

WeBASE是一个友好、功能丰富的区块链中间件平台,通过一系列通用功能组件和实用工具,助力社区开发者更快捷地与区块链进行交互。

目前WeBASE已更新迭代至v3.1.0版本,本次更新中,WeBASE带来了最新的合约Java脚手架导出功能,完成达梦数据库适配,新增WeBASE CRUD预编译接口代码,并在技术文档中归类呈现了数十篇由社区开发者贡献的区块链教程,以便用户可以按需查阅。

一起来看看WeBASE v3.1.0的新功能吧,欢迎大家star并积极体验。

  Java项目导出更友好

本次更新中,我们引入了微众区块链开源的WeBankBlockchain SmartDev-Scaffold合约中最新的v3.3.0版本Java脚手架组件,适配了合约IDE 中Java项目导出功能。

WeBASE v3.1.0导出的Java项目会自动配置节点的IP端口、SDK证书、私钥,使用方法与WeBASE v1.5.5版本所导出的Java项目使用方法一致。同时,基于WeBankBlockchain SmartDev-Scaffold组件,WeBASE优化了导出Java项目的代码逻辑,代码更简洁,可读性更好,更方便开源社区的开发者基于SmartDev-Scaffold或WeBASE的导出接口进行二次开发。

与此同时,WeBASE v3.1.0支持使用 Solidity v0.8.11版本的合约进行Java项目导出,同时也优化了对struct等复杂参数的适配。

0e6756f4b9a6bc2d8e2e04441f8a13b3.png

图1-导出Java项目

  适配达梦数据库

达梦数据库是具有完全自主知识产权的高性能数据库管理系统。来自数字广东网络建设有限公司的开发者梁锦辉(github ID:JHL)基于WeBASE v3.0.2 tag的代码进行二次开发,将私钥托管与签名服务WeBASE-Sign和节点管理服务WeBASE-Node-Manager适配了达梦数据库,并将代码贡献至WeBASE-Sign和WeBASE-Node-Manager的lab-xc分支。

值得关注的是,适配达梦数据库的代码可以通过修改数据库的JDBC驱动和修改Mybatis的配置,实现同一套代码在MySql和达梦数据库之间进行切换使用。

梁锦辉将如何改造WeBASE代码适配达梦数据库的经验整理为技术教程,帮助社区开发者理解其改造思路,方便使用WeBASE其他版本的社区开发者们可以参考其教程对WeBASE进行二次开发。

59edf4650aa0a0ad1ae7570a97be786e.png

图2-达梦数据库适配教程

适配达梦数据库的WeBASE-Sign代码仓库:

https://github.com/WeBankBlockchain/WeBASE-Sign/tree/lab-xc

适配达梦数据库的WeBASE-Node-Manager代码仓库:

https://github.com/WeBankBlockchain/WeBASE-Node-Manager/tree/lab-xc

《使用达梦数据库对WeBASE进行适配》技术教程:https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE-Console-Suit/articles/dameng_db_fit_in.html

  新增WeBASE CRUD预编译接口代码

社区开发者李铁乔(github ID:Litieqiao)基于FISCO BCOS console控制台与WeBASE-Front v1.5.5版本的CRUD预编译合约接口,完成了节点前置服务WeBASE-Front中适配FISCO BCOS v3.x CRUD接口的开发,开发者可以直接调用节点前置的接口来发起CRUD预编译合约的调用。

该部分代码已合入到了WeBASE-Front master-3.0分支中,欢迎社区的伙伴们部署最新的WeBASE-Front v3.1.0进行体验。

开发者在体验时留意一下,此处更新的CRUD接口需要直接通过HTTP接口调用,具体方法为:使用WeBASE-Front的swagger进行调用,url为:/WeBASE-Front/swagger-ui.html#/precntauth_precompiled_controller/descTableUsingPOST

afe56c1d0d5febcd6667d0fb870c89a3.png

图3-节点前置中的CRUD接口列表

  集合数十篇社区贡献的区块链教程

作为备受发者关注的区块链中间件,WeBASE一直秉承开放共享、多元包容的精神链接开源爱好者。在过往社区Task挑战赛中,众多开发者或是踊跃将自身在不同场景应用WeBASE的经验以技术教程形式贡献给社区,或者提交PR修复或优化WeBASE功能特性。本次更新,我们在WeBASE技术文档中新增“WeBASE社区文章”模块,将开发者贡献的数十篇教程归类呈现,以便社区用户可以按需查阅。

我们期待区块链技术爱好者和开源社区的伙伴们,一同参与共建,协力推动WeBASE向更完善、更友好的生态上发展。

d00780bbb0b49cff7e693a87585932a6.png

图4-社区文章一览

“WeBASE技术文档社区文章”模块链接:https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE-Console-Suit/articles/index.html

  优化和修复

  • WeBASE应用管理SDK WeBASE-APP-SDK更新至 v1.5.6版本,同时支持WeBASE v1.x和v3.x版本的应用接入。

  • 修复WeBASE v3.x版本应用管理接入时报错无法通过鉴权的问题, 开发者应用管理接入时需要对应使用webase-app-sdk v1.5.6及以上版本,更多详情可参考最新的WeBASE应用接入管理文档。

  • 修复合约IDE使用solidity v0.6.10-gm时的版本判断为0.6.9版本的问题。

  • 修复合约IDE中的地址参数长度判断。

  即刻使用

上述优化及功能所涉及的最新代码和技术文档已同步更新,欢迎体验和star支持。如需咨询技术问题,欢迎本公众号对话框回复【小助手】进技术交流群。

WeBASE代码仓库:https://github.com/WeBankBlockchain/WeBASE/tree/master-3.0

WeBASE代码仓库国内镜像:https://gitee.com/WeBank/WeBASE/tree/master-3.0

WeBASE 技术文档:

https://webasedoc.readthedocs.io/zh_CN/lab

WeBASE 技术文档国内镜像:

https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/doc/lab/index.html

首次体验WeBASE,可参考一键部署文档:https://webasedoc.readthedocs.io/zh_CN/lab/docs/WeBASE/install.html

向我们报告问题,欢迎提交issue:

https://github.com/WeBankBlockchain/WeBASE/issues

8dec71096dbfc844de85ac6c69f70ee8.png

相关文章:

开源进展 | WeBASE v3.1.0发布,新增多个实用特性

WeBASE是一个友好、功能丰富的区块链中间件平台,通过一系列通用功能组件和实用工具,助力社区开发者更快捷地与区块链进行交互。 目前WeBASE已更新迭代至v3.1.0版本,本次更新中,WeBASE带来了最新的合约Java脚手架导出功能&#xff…...

C++动态加载 插件

动态加载(Dynamic Loading)是指在程序运行时,根据需要动态地加载和链接代码或资源。 动态加载的主要目的是实现程序的灵活性和可扩展性,以及减少内存消耗和启动时间。通过动态加载,程序可以根据运行时的需求加载特定的…...

redis的缓存更新策略

目录 三种缓存更新策略 业务场景: 主动更新的三种实现 操作缓存和数据库时有三个问题 1.删除缓存还是更新缓存? 2.如何保证缓存与数据库的操作的同时成功或失败? 3.先操作缓存还是先操作数据库? 缓存更新策略的最佳实践方案&am…...

Android应用开发(6)TextView进阶用法

Android应用开发学习笔记——目录索引 本章介绍文本视图(TextView)的显示,包括:设置文本内容、设置文本大小、设置文本显示颜色。 一、设置TextView显示内容 Layout XML文件中设置 如:res/layout/activity_main.xm…...

Matlab滤波、频谱分析

Matlab滤波、频谱分析 滤波: 某目标信号是由5、15、30Hz正弦波混合而成的混合信号,现需要设计一个滤波器滤掉5、30Hz两种频率。 分析:显然我们应该设计一个带通滤波器,通带频率落在15Hz附近。 % 滤波 % 某目标信号是由5、15、3…...

车载软件架构 —— 车载软件入侵检测系统

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 没有人关注你。也无需有人关注你。你必须承认自己的价值,你不能站在他人的角度来反对自己。人…...

“深入解析JVM内部机制:理解Java虚拟机的工作原理“

标题:深入解析JVM内部机制:理解Java虚拟机的工作原理 摘要:本文将深入探讨Java虚拟机(JVM)的内部机制,解释其工作原理。我们将讨论JVM的组成部分、类加载过程、运行时数据区域以及垃圾回收机制。此外&…...

FPGA初步学习之串口发送模块【单字节和字符串的发送】

串口相关简介 UART 在发送或接收过程中的一帧数据由4部分组成,起始位、数据位、奇偶校验位和停止位,如图所示。其中,起始位标志着一帧数据的开始,停止位标志着一帧数据的结束,数据位是一帧数据中的有效数据。 通常用…...

Kotlin重点理解安全性

目录 一 Kotlin安全性1.1 可空类型1.2 安全调用运算符1.3 Elvis 运算符1.4 非空断言运算符1.5 安全类型转换1.6 延迟初始化 一 Kotlin安全性 Kotlin 在设计时采用了一系列策略,旨在尽可能地减少空指针异常(NullPointerException)的出现。空指…...

基于Java+SpringBoot+SpringCloud+Vue的智慧养老平台设计与实现(源码+LW+部署文档等)

博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架…...

Spring中的全局异常处理

在项目中通常会定义各种异常,比如断言异常、业务异常,甚至调用外部接口报的异常需要转成自己系统中的异常类型,这时就需要将各种异常类型进行统一的处理,返回统一的数据结构。在spring中提供了这样全局统一处理异常的注解Controll…...

【安全测试】Web应用安全之XSS跨站脚本攻击漏洞

目录 前言 XSS概念及分类 反射型XSS(非持久性XSS) 存储型XSS(持久型XSS) 如何测试XSS漏洞 方法一: 方法二: XSS漏洞修复 原则:不相信客户输入的数据 处理建议 资料获取方法 前言 以前都只是在各类文档中见到过XSS,也进…...

LeNet卷积神经网络-笔记

LeNet卷积神经网络-笔记 手写分析LeNet网三卷积运算和两池化加两全连接层计算分析 修正上图中H,W的计算公式为下面格式 基于paddle飞桨框架构建测试代码 #输出结果为: #[validation] accuracy/loss: 0.9530/0.1516 #这里准确率为95.3% #通过运行结果可以看出&am…...

使用XMLHttpRequest实现文件异步下载

1、问题描述 我想通过异步的方式实现下载文化&#xff0c;请求为post请求。一开始我打算用ajax。 $.ajax({type:post,contentType:application/json,url:http://xxx/downloadExcel,data:{data:JSON.stringify(<%oJsonResponse.JSONoutput()%>)},}).success(function(dat…...

Lombok 的安装与使用

文章目录 一、什么是 Lombok1.1 Lombok 的概念1.2 为什么使用 Lombok1.3 Lombok 的相关注解 二、Lombok 的安装2.1 引入依赖2.2 安装插件 三、Lombok 的使用案例四、Lombok 的原理 一、什么是 Lombok 1.1 Lombok 的概念 Lombok&#xff08;“Project Lombok”&#xff09;是一…...

springBean生命周期解析

本文基于Spring5.3.7 参考&#xff1a; kykangyuky Spring中bean的生命周期 阿斌Java之路 SpringBean的生命周期&#xff0c; 杨开振 JavaEE互联网轻量级框架整合开发 黑马程序员 JavaEE企业级应用开发教程 马士兵 Spring源码讲解 一. SpringBean生命周期流程图 二. 示例代码 …...

人工智能轨道交通行业周刊-第54期(2023.7.31-8.6)

本期关键词&#xff1a;BIM智能运维、铁水联运、编组站美容、鸿蒙4.0、LK-99完全悬浮 1 整理涉及公众号名单 1.1 行业类 RT轨道交通人民铁道世界轨道交通资讯网铁路信号技术交流北京铁路轨道交通网上榜铁路视点ITS World轨道交通联盟VSTR铁路与城市轨道交通RailMetro轨道世界…...

Docker Compose 使用方法

目录 前言 安装 Docker Compose Ubuntu 安装与更新 Red Hat 安装与更新 验证是否安装 Docker Compose 创建 docker-compose.yml 文件 创建一个MySQL 与 tomcat 示例 使用Docker Compose启动服务 前言 Docker Compose 是一个工具&#xff0c;旨在帮助定义和 共享多容器…...

HTML 初

前言 HTML的基本骨架 HTML基本骨架是构建网页的最基本的结果。 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0">…...

IPv6地址分类,EUI-64转换规则

1、可聚合的单全球单播地址Global Unique Address&#xff1a; Aggregate global unicast address&#xff0c;前3位是001&#xff0c;即2000::/3&#xff0c;目前IANA已经将一部分可聚合全球单播进行了专门使用&#xff0c;如&#xff1a;2001::/16用于IPV6互联网&#xff0c;…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

如何将联系人从 iPhone 转移到 Android

从 iPhone 换到 Android 手机时&#xff0c;你可能需要保留重要的数据&#xff0c;例如通讯录。好在&#xff0c;将通讯录从 iPhone 转移到 Android 手机非常简单&#xff0c;你可以从本文中学习 6 种可靠的方法&#xff0c;确保随时保持连接&#xff0c;不错过任何信息。 第 1…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比

在机器学习的回归分析中&#xff0c;损失函数的选择对模型性能具有决定性影响。均方误差&#xff08;MSE&#xff09;作为经典的损失函数&#xff0c;在处理干净数据时表现优异&#xff0c;但在面对包含异常值的噪声数据时&#xff0c;其对大误差的二次惩罚机制往往导致模型参数…...

算法岗面试经验分享-大模型篇

文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer &#xff08;1&#xff09;资源 论文&a…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...

tauri项目,如何在rust端读取电脑环境变量

如果想在前端通过调用来获取环境变量的值&#xff0c;可以通过标准的依赖&#xff1a; std::env::var(name).ok() 想在前端通过调用来获取&#xff0c;可以写一个command函数&#xff1a; #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...

Unity中的transform.up

2025年6月8日&#xff0c;周日下午 在Unity中&#xff0c;transform.up是Transform组件的一个属性&#xff0c;表示游戏对象在世界空间中的“上”方向&#xff08;Y轴正方向&#xff09;&#xff0c;且会随对象旋转动态变化。以下是关键点解析&#xff1a; 基本定义 transfor…...

Sklearn 机器学习 缺失值处理 获取填充失值的统计值

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...

【UE5 C++】通过文件对话框获取选择文件的路径

目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 &#xff0c;这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器&#xff0c;右键点击 .uproject 文件&#xff0c;选择 "Generate Visual Studio project files"&#xff0c;重…...