开源进展

2023-10-27

作为一个友好的、功能丰富的区块链中间件平台,WeBASE一直致力于降低区块链开发者的研发门槛,提高区块链开发效率。

如今,WeBASE v1.5.4来了,此次更新新增区块链应用实训课程案例集,以及管理台操作指引与设计说明,助力社区开发者更快捷高效地学习区块链,搭建区块链应用。一起来看看v1.5.4带来的新功能吧!

  新增实训课程案例集

如何将 WeBASE与区块链课程相结合,以更好地服务开发者?为解答这一命题, WeBASE团队和社区伙伴、社区开发者通力合作,对WeBASE功能进行有针对性的调整,在WeBASE v1.5.1中推出WeBASE实训插件,支持教学实训场景,详情见《开源进展 | WeBASE v1.5.1 发布,支持教学实训场景》。

在本次v1.5.4的更新中,WeBASE技术文档新增了“WeBASE实训课程案例”板块,收录的课程案例均为针对社区实训课程专门设计的,案例实现由实训题目、实验步骤和参考答案三个模块组成。

目前收录了从易到难的三个案例:运行第一个智能合约,积分转账合约实现,存证合约应用实现。开发者可以参考案例快速上手合约开发,社区伙伴可以参考案例,根据自身实际课程设计进行相应调整。

实训题目:描述了本次课程的具体要求。

如下图1所示,“运行第一个智能合约”的要求为:使用Solidity语言编写一个HelloWorld合约,说明该合约需包含哪些合约逻辑,实现怎样的效果,并给出了合约的基础框架。

67171d150e7db4972671468b736a6fb3.png

图1:创建第一个智能合约-实训题目

实验步骤:描述了实训所需的各实验步骤,每个实验步骤会给出对应的答案“提交方式”要求,也就是在完成实验步骤后,需要提交哪些内容。

如下图2所示,“向部署的智能合约发送交易”这一步骤中,我们根据学生在该课程所需要掌握的知识点,列出了需要其提交的内容。比如,需要学生掌握通过SDK连接节点的知识点,则要求学生提交通过SDK连接节点的源码。

说明一下,此处实验步骤和提交内容可以根据自定义的课程内容进行调整。

839bec11d07107775f8e9b72154fa7bb.png

图2:创建第一个智能合约-部分实验步骤

参考答案:WeBASE提供了一套基于FISCO BCOS和WeBASE完成的课程参考答案,包含了实现的源代码、实验步骤截图等。

未来,WeBASE 团队将持续挖掘 WeBASE 在区块链教育领域中的潜能,也欢迎各位社区开发者参与共建,创造更多元化的实训课程案例贡献到社区。

  WeBASE管理台新增操作指引

本次更新中,WeBASE管理台各页面新增了【操作指引】,对页面模块功能的设计与使用方法进行说明,方便用户快速熟悉、掌握WeBASE。

如下图3所示,在WeBASE “私钥管理”页面中,用户可以通过页面右侧的【操作指引】,快速了解“新增用户”和“导入私钥”两个按钮的功能是什么,掌握其使用方法。

4aff93b9f84f9e89c184cec2d17b284a.png

图3:WeBASE管理台-私钥管理页面

又如,可能有用户会疑惑为什么自己的私钥或者合约会被WeBASE标记为“异常”, 出现“用户异常”或者“合约异常”的告警。

如下图4所示,用户“0x97e9b7a9d5e19a8a0aa7cd39f632244da69640b6”被WeBASE标记为异常用户,出现在“交易审计-异常用户”的告警列表中。在v1.5.4新增操作指引后,用户可以在WeBASE管理台“交易审计-异常用户” 页面右侧操作指引中,快速查看交易审计功能的设计与使用说明,了解其被标记为“异常用户”原因为:该私钥用户在链上发起过交易,但是并没有在WeBASE的私钥管理中登记。

*只要某个私钥在链上发起了交易,或者某个合约部署到链上了但是未在WeBASE中登记,那么对应的私钥地址或合约地址即会被WeBASE标记为“异常”。

e2a04d60562a914f52aa2ff83f5aa337.png

图4:WeBASE管理台-交易审计-异常用户页面

实际上,我们在“私钥管理-全量”用户列表中能看到该用户,说明该用户确实在链上发起过交易(如未发起过交易的私钥无法在全量用户列表中看到)。按照“交易审计-异常用户”的操作指引所描述,用户只需要在全量用户“导入”该私钥的地址到WeBASE中,或者将该用户地址对应的私钥导入到WeBASE中,即可消除“用户异常”的告警。

3e40ecea6b9285687434d910948e4afe.png

图5:WeBASE管理台-私钥管理页面

  其他优化和修复

  • 优化:优化WeBASE管理台的合约IDE交易体验,丰富入参提示,如bytesN类型提示输入长度并校验参数。

  • 优化:新增WeBASE管理台中登录页“忘记密码“与”验证码加载失败“提示。

  • 优化:优化合约仓库加载方式,通过conf/warehouse目录中的.json文件可加载合约模板;社区用户可以直接按照json格式,提交Pull Request贡献合约。

  • 优化:更新可视化部署的build_chain脚本为最新的v2.8.0,修复openssl版本兼容性问题。

  • bugfix:修复WeBASE所调用的Java-SDK的KeyFactory一定情况下重复私钥的问题。

  • bugfix:修复查询event页面中获取合约列表,合约重复问题。

  • bugfix:修复可视化部署中检测localhost的误判。

  即刻使用

上述优化及功能所涉及的最新代码和技术文档已同步更新,欢迎体验和star支持。

如需咨询技术问题,欢迎本公众号对话框回复【小助手】进技术交流群。

WeBASE 代码仓库:

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

WeBASE 代码仓库国内镜像:

https://gitee.com/WeBank/WeBASE/

WeBASE 技术文档:

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

WeBASE 技术文档国内镜像:

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

首次体验WeBASE,可参考一键部署文档:

https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE/install.html

如需升级已有版本,可参考:

WeBASE一键部署的一键升级

https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE-Install/upgrade.html#auto

WeBASE-Front升级说明

https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE-Front/upgrade.html

WeBASE-Node-Manager升级说明

https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE-Node-Manager/upgrade.html

WeBASE-Sign升级说明

https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE-Sign/upgrade.html

WeBASE-Web升级说明

https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE-Web/upgrade.html

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

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

addff487526b70f89891f7795f8902d5.png

3c613466cc9bc8966b8f8d307cebfe1e.png

cc73ef16f63897d9cf11348cfc336e30.png

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

开源进展 的相关文章

随机推荐

  • MySQL中删除id为最小的数据

    方法1 delete from 表名 where id in select id from select min id id from 表名 c1 t1 方法2 delete from 表名 order by id asc limit 1
  • 链表随机指针

    我卡住的一个原因是 我曾想便利两次 想在第二遍的同时把两个链表分离开 结果失败了 必须三遍 以为random指针很可能指到前面已经断开的节点 而这个还是不用哈希的方式 因此如果前面的链表断开了 就都乱套了 Definition for a
  • Android Studio模拟器启动后不停闪烁(已玄学解决)

    问题描述 Android Studio模拟器启动后不停闪烁 解决方法 右侧点击Device Manager打开设备管理 点击修改标志 将Graphics 图样 换成Software 软件 点击Finish 这个方法是网上找的 但是不好使TA
  • Linux命令 - cp命令

    Linux命令 cp命令 cp 是copy的缩写 Linux中 cp命令用来复制文件或者目录 一般情况下 shell会设置一个别名 在命令行下复制文件时 如果目标文件已经存在 就会询问是否覆盖 不管你是否使用 i参数 但是如果是在shell
  • python图像差分法目标检测_运动目标检测(4)—背景差分法

    背景减法利用图像序列中的当前帧和事先确定的背景参考模型间的差异比较 来确定运动物体位置 是一种基于统计学原理的运动目标检测的方法 这种方法的性能取决于背景建模技术 Gloyer等人使用单高斯模型的思路 但常常不能准确地描述背景模型 1999
  • Android调用系统发送短信界面

    很多软件都有分享的功能 不少是支持短信分享的 其实就是调用系统发送短信的Activity 代码实现非常简单 发送短信 param smsBody private void sendSMS String smsBody Uri smsToUr
  • Elasticsearch基本概念及CRUD常用操作

    Elasticsearch基本概念及CRUD常用操作 一 介绍 二 REST 风格 三 索引CRUD 3 1 创建索引 3 2 查询索引 3 3 删除索引 四 文档CRUD 4 1 添加文档 4 1 1 普通添加 随机ID 4 1 2 普通
  • Mybatis学习笔记-Mabatis缓存

    Mybatis学习笔记 Mybatis缓存 缓存就是内存中的数据 常常来自对数据库查询结果的保存 使用缓存 我们可以避免频繁的与数据库进行交互 进而提高响应速度 MyBatis提供了对缓存的支持 分为一级缓存和二级缓存 可以通过一下图解来理
  • 解决github访问不了的方法

    1 打开网站http tool chinaz com dns 在A类型的查询中输入 github com 找到最快访问的ip地址 并复制下来 2 修改系统文件的hosts文件 进入C Windows System32 drivers etc
  • 董事聘任书

    EX 10 38 4 future s1a3 ex1038 htm DIRECTOR OFFER LETTER Exhibit 10 38 The Future Education Group Inc Room 501 Gaohelanfe
  • 前端实习面试题(自己当笔记用)

    一 CSS 01 Flex布局 display flex 在父元素设置 子元素受弹性盒影响 默认排成一行 如果超出一行 按比例压缩 容器属性 1 flex direction属性 取值 row 默认 row reverse column c
  • pycharm导入未安装的第三方库,无错误提示,急需

    pycharm导入未安装的第三方库 无错误提示 急需 如下图所示 第三方库pandas未安装 但是pycharm没有错误 如下图所示 第三方库pandas未安装 但是pycharm没有错误 pandas 并未i安装 pandas下面不是应该
  • Python基础第二话:列表+元组+字典+集合,学基础还得是这....

    Python基础知识第二话 Python基础知识第一话 这一章的知识紧接上一章 零基础的小伙伴可以从上 一章学起来 当然 你也可以收藏起来慢慢学习 学习是不可操之过急的啦 列表 Python学习交流Q群 906715085 print 创建
  • Gradle 详解

    原文地址 深入理解Android 一 Gradle详解 InfoQ 备用地址 Gradle史上最详细解析 AndroidM 博客园 以下内容为复制 粘贴 建议看原文 编者按 随着移动设备硬件能力的提升 Android 系统开放的特质开始显现
  • vue三种方式实现父子间通信

    当前有子组件Student和父组件App 如何让Student发送自己的学生名 App接收并显示 有三种方法 父传子 props
  • mysql 存储过程如何声明多个变量赋值_mysql存储过程:定义变量,赋值,判断,输出...

    1 定义变量 赋值 判断 输出 DROP PROCEDURE IF EXISTS proc first 如果proc first存在就删除 create procedure proc first 创建存储过程 begin 定义变量 DECL
  • Sql_Server中如何判断表中某列是否存在

    判断表AA中是否存在AA ID这一列 如果不存在 则新增 IF NOT EXISTS SELECT 1 FROM syscolumns INNER JOIN sysobjects ON sysobjects id syscolumns id
  • C++环形缓冲区

    环形缓冲区 ring buffer 也称作循环缓冲区 cyclic buffer 圆形队列 circular queue 圆形缓冲区 circular buffer 环形缓冲区并不是指物理意义上的一个首尾相连成 环 的缓冲区 而是逻辑意义上
  • 一文教你搞懂Go中栈操作

    LInux 进程在内存布局 多任务操作系统中的每个进程都在自己的内存沙盒中运行 在 32 位模式下 它总是 4GB 内存地址空间 内存分配是分配虚拟内存给进程 当进程真正访问某一虚拟内存地址时 操作系统通过触发缺页中断 在物理内存上分配一段
  • 开源进展

    作为一个友好的 功能丰富的区块链中间件平台 WeBASE一直致力于降低区块链开发者的研发门槛 提高区块链开发效率 如今 WeBASE v1 5 4来了 此次更新新增区块链应用实训课程案例集 以及管理台操作指引与设计说明 助力社区开发者更快捷