Code Monkey home page Code Monkey logo

webase's Introduction

中文|English

PRs Welcome Code Lines license GitHub (pre-)release

image

什么是WeBASE

WeBASE(WeBank Blockchain Application Software Extension) 是在区块链应用和FISCO BCOS节点之间搭建的一套通用组件,围绕交易、合约、密钥管理,数据,可视化管理来设计各个模块。开发者可以根据业务所需,选择子系统进行部署。

WeBASE屏蔽了区块链底层的复杂度,降低开发者的门槛,大幅提高区块链应用的开发效率,包含节点前置节点管理Web管理平台签名服务数据导出等子系统。

WeBASE将区块链应用开发标准化,搭建完FISCO BCOS节点后,只需按照五步标准流程进行区块链应用开发,开发流程请参阅 使用WeBASE开发区块链应用

WeBASE一键部署(FISCO BCOS + WeBASE-Front + WeBASE-Node-Manager + WeBASE-Sign + WeBASE-Web)可以参考WeBASE一键部署文档WeBASE整体结构设计与各子系统功能与安装部署的详细介绍,请参考WeBASE在线文档

技术文档

  • WeBASE 1.x版本 适用于FISCO-BCOS 2.x版本,可查看 WeBASE 1.x文档 (stable)
  • WeBASE 3.x版本 适用于FISCO-BCOS 3.x版本,可查看 WeBASE 3.x文档,相关代码位于master-3.0分支

各子系统简介

  • 节点前置服务 WeBASE-Front 集成java-sdk,提供restful风格的接口,客户端可以使用http的形式和节点进行交互,内置内存数据库,采集节点健康度数据。内置web控制台,实现节点的可视化、合约部署IDE等功能。

  • 节点管理服务 WeBASE-Node-Manager 处理WeBASE-Web前端页面所有web请求,基于前置服务,管理各个节点的状态,管理链上所有智能合约,对区块链的数据进行统计、分析,对异常交易的审计,私钥管理等。

  • WeBASE管理平台 WeBASE-Web 基于节点管理服务的可视化操作平台,可基于此平台查看节点信息,开发智能合约等。

  • 交易服务 WeBASE-Transcation 接收交易请求,缓存交易到数据库中,异步上链,可大幅提升吞吐量,解决区块链的tps瓶颈问题。

  • 私钥托管和签名服务 WeBASE-Sign 托管用户私钥,提供云端签名。

  • 数据导出代码生成工具 WeBASE-Codegen-Monkey 代码生成工具,通过配置可以生成数据导出的核心代码。

  • 数据导出服务 WeBASE-Collect-Bee 导出区块链上的基础数据,如当前块高、交易总量等,通过智能合约的配置,导出区块链上合约的业务数据,包括event、构造函数、合约地址、执行函数的信息等。

  • 链管理服务 WeBASE-Chain-Manager 链管理服务支持管理多条链,支持国密链、非国密链。对外提供群组的增删查改接口,让用户可以便捷地建立自己应用的群组。

  • 合约安全检测服务 WeBASE-Solidity-Security 合约安全检测服务继承了solidity合约检测工具slither,对外提供检测接口。

  • 数据统计服务 WeBASE-Stat 统计数据服务以前置为基础,拉取CPU、内存、IO、群组大小、群组gas、群组网络流量的数据,记录数据库。

  • 数据监管服务 WeBASE-Data 数据监管服务以前置为基础,导出区块链数据并解析,提供一个可视化的监管视图。可以查询交易属于哪条链,哪个用户,哪个合约,保证链上数据可查可管。

贡献说明

请阅读我们的贡献文档,了解如何贡献代码,并提交你的贡献。

希望在您的参与下,WeBASE会越来越好!

社区

联系我们:[email protected]

社区小助手微信ID : WeBank_Blockchain

webase's People

Contributors

bright60 avatar burningcpu avatar codingcattwo avatar dwusiq avatar gongdaxia avatar larryxiang avatar linbin524 avatar mingzhenliu avatar sayou1989 avatar yanyanho avatar youwenbusi avatar yuanmomo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

webase's Issues

webase-node-mgr合约数据无法拉取问题

情况1 :
错误前情:服务器在未停止服务的情况下重启,webase无法正常拉取合约数据
错误现象:现区块链网络有两个群组,群组1无法拉取合约数据,群组2正常。区块数据等其他状态皆正常
image

image

错误日志:
WeBASE-Node-Manager-error.log

全量日志:
WeBASE-Node-Manager.log

情况2:
错误前情:“群组管理” --> "删除群组数据" 刷新重新加载后,合约数据就无法拉取了
错误现象:现区块链网络有两个群组(与情况1的区块链环境不一样,情况1为单机部署,情况2为多级部署),群组2在执行刷新群组数据后,合约数据丢失。区块数据等其他状态皆正常。
错误现象:
image

错误日志:
WeBASE-Node-Manager-error.log

全量日志:
WeBASE-Node-Manager.log

webase对bytes入参的错误调整引起的sm3接口问题

使用FISCO BCOS2.8.0版本的0x5006国密预编译接口中,使用webase1.5.1 合约IDE测试function sm3(bytes memory data) public view returns(bytes32){},传入"hello world",发交易返回的哈希值不对,传入"hello world"的16进制数据,发交易返回的哈希值正确,webase对入参进行了调整导致错误。

按照官方文档一键启动,WeBase-front启动失败

按照WeBase官放文档,使用一键部署的时候,其他服务启动正常,但WeFront启动失败,提示错误如下:
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'precompiledController': Unsatisfied dependency expressed through field 'precompiledService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'precompiledService': Unsatisfied dependency expressed through field 'web3jMap'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'web3j' defined in class path resource [com/webank/webase/front/base/config/Web3Config.class]: Unsatisfied dependency expressed through method 'web3j' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'getService' defined in class path resource [com/webank/webase/front/base/config/Web3Config.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.fisco.bcos.web3j.protocol.Web3j]: Factory method 'getService' threw exception; nested exception is javax.net.ssl.SSLException: Failed to initialize the client-side SSLContext: Input stream not contain valid certificates.

请问如何解决?谢谢

webase-front 中的一个bug

合约管理-在线工具-event查看

如果没有选event名,直接点击查看,提示请选择事件名错误

此时即使重新选择了事件,也不能查看,需要刷新页面才能恢复

新增节点会造成链重启(其他节点重启),对已有节点造成影响

目前新增节点会导致链的重启,即其他节点重启,据我所知和实际操作,只需要新节点配置了所有原节点,就能连上P2P

那么按照现在的情况,会在面临以下两个情况是存在问题:
1.节点正在运作,处理交易,重启会造成影响;
2.节点是属于别的组织的,我新增一个自己机构的节点就把所有重启了,不合理。

希望后续版本能改进,这样更加符合实际场景需求。再次感谢WeBASE的研发小组的努力和群里社群朋友的耐心解答。

祝FISCO BCOS开源社区越办越好!

建议合约编译器新增导出合约功能

在开发过程中,随着webase 需要配套的升级,相关的数据需要导出,比如已经编写的合约可以批量导出,避免重新创建需要手动,处理;导入也是有必要的。

5.7以上版本MYSQL的模式sql_mode出错

打开Transaction Audit的Unusal User和Unusual Contract页面出现WeBASE-Node-Manager system exception错误提示,通过日志看到“...this is incompatible with sql_mode=only_full_group_by”的错误,具体缘由百度很多。
先通过select @@GLOBAL.sql_mode; 查看当前的 sql_mode的值;
修改 sql_mode:SET @@GLOBAL.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_AUTO_CREATE_USER,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'; 如果提示不能设置NO_AUTO_CREATE_USER,则把这个字段去掉。
重启WeBASE-Node-Manager:bash stop.sh&bash start.sh,注意不能重启mysql,否则sql_mode的值又恢复原样,如果要永久修改,可在mysql的配置文件(/etc下的my.cnf文件)末尾添加sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION,重启mysql即可。

一键部署,webase-sign不存在

参考官网手册一键部署,启动所有服务的时候,提示webase-sign不存在。看了一下层级目录,确实没有下载下载webase-sign,截图如下。
image
image

关于WeBASE链上角色治理的问题

现在的WeBASE管理平台并不适合“链治理角色”、“运维角色”、“业务角色”和“监管角色”使用,能否提供一套适合这些链上角色使用的管理平台,登录后只能执行权限范围内的操作。

WeBase接口文档中trans/handle接口

接口文档对于参数contractAbi说明有:“如果没有传入此字段,则从db或cns获取合约abi”,使用WeBase提供的HelloWorld Demo时,项目中的application.yml文件没有这个参数contractAbi,运行程序发交易时不能自动获取合约abi,提示422 null报错,手动添加contractAbi后Demo正常使用,不报错

执行到初始化数据库的时候出现以下错误

运行deploy.py部署到初始化数据阶段报错:
webase部署问题1

大约是说webase.sh 127.0.0.1 3306 命令出错了,然后bash 运行继续报错:找不到webase-sql.list:
webase部署问题2

但是script路径下确实存在这样一个文件,我想知道这是什么问题,该如何解决?

执行到初始化数据库的时候出现了错误,是否是脚本路径不对?

在webase-deploy路径下执行python deploy.py startAll,执行到初试数据的时候出现了错误:
image
使用find命令查到到webase.sh是在./webase-node-mgr/script路径下,是否是脚本路径不对?
接着我使用python deploy.py stopAll 停掉环境的时候又出现了一个错误,如下:
image
提示stop.sh脚本没有,同样使用find命令查找,可以找到这个脚本存放的位置,如下:
image
想问一下这些具体是哪里出了问题?能否解答一下

一键部署webfront启动失败,证书错误

参考文档-一键部署
执行命令:

python deploy.py installAll

最后一段输出,提示初始化 Front 失败:

==============     WeBASE-Front     start...  ==============
=======     WeBASE-Front    starting .  Please check through the log file (default path:./webase-front/log/).    =======
==============     WeBASE-Front     end...    ==============
================================================================
==============  Init Front for Mgr start...   ==============
=============== Init Front for Mgr fail.      ==============
=====================    deploy   end...   =====================
=====================    webase-web version  v1.4.1        ==================
=====================    webase-node-mgr version  v1.4.1   ==================
=====================    webase-sign version  v1.4.1       ==================
=====================    webase-front version  v1.4.1      ==================
================================================================

webfront 启动失败,查看 webfront/log/web3sdk.log, 错误内容如下:


2020-11-27 11:23:20.814 [main] INFO  ChannelConnections() -  all connections: [ConnectionInfo{host='192.168.10.74', port=20200}]
2020-11-27 11:23:20.890 [main] INFO  ChannelConnections() -  ca certificate: ca.crt, sdk certificate: node.crt, sdk key: node.key
2020-11-27 11:23:21.788 [nioEventLoopGroup-2-1] ERROR ChannelHandler() -  handshake failed, host: 192.168.10.74, port: 20200, message: General OpenSslEngine problem, cause: javax.net.ssl.SSLHandshakeException: General OpenSslEngine problem
2020-11-27 11:23:21.791 [nioEventLoopGroup-2-1] INFO  ChannelHandler() -  ssl close completion event, host: 192.168.10.74, port: 20200, ctx: 232020670
2020-11-27 11:23:21.794 [main] ERROR ChannelConnections() -  all connections have failed, [ ssl handshake failed:/192.168.10.74:20200, The reasons for failure may be: 1. the configured certificate is not the same set of certificates as the node's certificate; 2. the configured certificate is not issued by the same authority as the node's certificate. Please refer to https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/sdk/java_sdk.html#id24]
2020-11-27 11:23:21.795 [main] ERROR Service() -  service init failed, error message:  Failed to connect to nodes: [ ssl handshake failed:/192.168.10.74:20200, The reasons for failure may be: 1. the configured certificate is not the same set of certificates as the node's certificate; 2. the configured certificate is not issued by the same authority as the node's certificate. Please refer to https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/sdk/java_sdk.html#id24], error:
java.lang.RuntimeException:  Failed to connect to nodes: [ ssl handshake failed:/192.168.10.74:20200, The reasons for failure may be: 1. the configured certificate is not the same set of certificates as the node's certificate; 2. the configured certificate is not issued by the same authority as the node's certificate. Please refer to https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/sdk/java_sdk.html#id24]
	at org.fisco.bcos.channel.handler.ChannelConnections.startConnect(ChannelConnections.java:490) ~[web3sdk-2.6.1.jar:?]
	at org.fisco.bcos.channel.client.Service.run(Service.java:335) [web3sdk-2.6.1.jar:?]
	at com.webank.webase.front.base.config.Web3Config.getWeb3j(Web3Config.java:116) [WeBASE-Front-upstream.jar:?]
	at com.webank.webase.front.base.config.Web3Config$$EnhancerBySpringCGLIB$$d7773ad8.CGLIB$getWeb3j$8(<generated>) [WeBASE-Front-upstream.jar:?]

快速搭建WeBASE-front遇到的问题

按照文档执行,这里没有配置节点ip和端口;然后执行start.sh,执行后,脚本提示success;但是看日志,实际上启动并没有成功;因为我没有文档没有提示我配置节点ip和端口。
这里存在2个问题:

  1. 希望文档能够友好的提示我操作的步骤,避免踩坑;例如,以上需要提示我配置ip和端口
  2. start.sh脚本启动有问题,front没有启动成功,但是提示成功了,应该是脚本检测的时候有点问题,希望能够跟进一下,给用户更好的体验;

webase 初始化导入链管理员私钥,出现websign 通信失败

刚安装好webase时候,默认里面有一个admin 链管理员,但是这个admin 并没有私钥,有signid;在front 那边导出txt,得到是admin完整内容(包含私钥),这个使用将txt 导入webase 里面,是可以导入成功的,就有了两个admin(本质是同一个,只是起了不同的名字)
由于这个情况,sign 有异常,通过手动将数据库空老的admin删除,业务正常;想要复现,通过手动再次导入txt(admin的包含私钥),这个时候就导入不进去了,应该业务有做了验证。

以下是日志记录,看情况应该sql 查询出了问题影响了,从接口走,sign服务是正常操作的,所以排除了sign自身的问题。
该问题不确定是否为bug,只能说特定情况下操作可能出现不严谨,导致异常。
2020-09-24 20:19:04.965 [pool-3-thread-1] DEBUG SynUsrTask() - start syncUsrCacheTask task
2020-09-24 20:19:04.965 [pool-3-thread-1] DEBUG SqlSessionUtils() - Creating a new SqlSession
2020-09-24 20:19:04.966 [pool-3-thread-1] DEBUG SqlSessionUtils() - SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@73ed4a53] was not registered for synchronization because synchronization is not active
2020-09-24 20:19:04.966 [pool-3-thread-1] DEBUG DataSourceUtils() - Fetching JDBC Connection from DataSource
2020-09-24 20:19:04.966 [pool-3-thread-1] DEBUG SpringManagedTransaction() - JDBC Connection [ProxyConnection[PooledConnection[com.mysql.cj.jdbc.ConnectionImpl@3709748f]]] will not be managed by Spring
2020-09-24 20:19:04.966 [pool-3-thread-1] DEBUG findLatestUpdateUser() - ==> Preparing: select user_id as userId, sign_user_id as signUserId, app_id as appId, address, public_key as publicKey, private_key as privateKey, description, status, encrypt_type as encryptType, gmt_modify as gmtModify from tb_user where status ='0' order by gmt_modify desc limit 0,1
2020-09-24 20:19:04.967 [pool-3-thread-1] DEBUG findLatestUpdateUser() - ==> Parameters:
2020-09-24 20:19:04.967 [pool-3-thread-1] DEBUG findLatestUpdateUser() - <== Total: 0
2020-09-24 20:19:04.968 [pool-3-thread-1] DEBUG SqlSessionUtils() - Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@73ed4a53]
2020-09-24 20:19:14.968 [pool-3-thread-1] DEBUG SynUsrTask() - start syncUsrCacheTask task
2020-09-24 20:19:14.968 [pool-3-thread-1] DEBUG SqlSessionUtils() - Creating a new SqlSession
2020-09-24 20:19:14.968 [pool-3-thread-1] DEBUG SqlSessionUtils() - SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@66df8ab2] was not registered for synchronization because synchronization is not active
2020-09-24 20:19:14.968 [pool-3-thread-1] DEBUG DataSourceUtils() - Fetching JDBC Connection from DataSource
2020-09-24 20:19:14.969 [pool-3-thread-1] DEBUG SpringManagedTransaction() - JDBC Connection [ProxyConnection[PooledConnection[com.mysql.cj.jdbc.ConnectionImpl@3709748f]]] will not be managed by Spring
2020-09-24 20:19:14.969 [pool-3-thread-1] DEBUG findLatestUpdateUser() - ==> Preparing: select user_id as userId, sign_user_id as signUserId, app_id as appId, address, public_key as publicKey, private_key as privateKey, description, status, encrypt_type as encryptType, gmt_modify as gmtModify from tb_user where status ='0' order by gmt_modify desc limit 0,1
2020-09-24 20:19:14.969 [pool-3-thread-1] DEBUG findLatestUpdateUser() - ==> Parameters:
2020-09-24 20:19:14.969 [pool-3-thread-1] DEBUG findLatestUpdateUser() - <== Total: 0
2020-09-24 20:19:14.970 [pool-3-thread-1] DEBUG SqlSessionUtils() - Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@66df8ab2]
2020-09-24 20:19:24.970 [pool-3-thread-1] DEBUG SynUsrTask() - start syncUsrCacheTask task
2020-09-24 20:19:24.970 [pool-3-thread-1] DEBUG SqlSessionUtils() - Creating a new SqlSession
2020-09-24 20:19:24.970 [pool-3-thread-1] DEBUG SqlSessionUtils() - SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@29f270d1] was not registered for synchronization because synchronization is not active
2020-09-24 20:19:24.970 [pool-3-thread-1] DEBUG DataSourceUtils() - Fetching JDBC Connection from DataSource
2020-09-24 20:19:24.971 [pool-3-thread-1] DEBUG SpringManagedTransaction() - JDBC Connection [ProxyConnection[PooledConnection[com.mysql.cj.jdbc.ConnectionImpl@3709748f]]] will not be managed by Spring
2020-09-24 20:19:24.971 [pool-3-thread-1] DEBUG findLatestUpdateUser() - ==> Preparing: select user_id as userId, sign_user_id as signUserId, app_id as appId, address, public_key as publicKey, private_key as privateKey, description, status, encrypt_type as encryptType, gmt_modify as gmtModify from tb_user where status ='0' order by gmt_modify desc limit 0,1
2020-09-24 20:19:24.971 [pool-3-thread-1] DEBUG findLatestUpdateUser() - ==> Parameters:
2020-09-24 20:19:24.972 [pool-3-thread-1] DEBUG findLatestUpdateUser() - <== Total: 0
2020-09-24 20:19:24.972 [pool-3-thread-1] DEBUG SqlSessionUtils() - Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@29f270d1]
2020-09-24 20:19:34.972 [pool-3-thread-1] DEBUG SynUsrTask() - start syncUsrCacheTask task
2020-09-24 20:19:34.972 [pool-3-thread-1] DEBUG SqlSessionUtils() - Creating a new SqlSession
2020-09-24 20:19:34.972 [pool-3-thread-1] DEBUG SqlSessionUtils() - SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3cfc776] was not registered for synchronization because synchronization is not active
2020-09-24 20:19:34.972 [pool-3-thread-1] DEBUG DataSourceUtils() - Fetching JDBC Connection from DataSource
2020-09-24 20:19:34.973 [pool-3-thread-1] DEBUG SpringManagedTransaction() - JDBC Connection [ProxyConnection[PooledConnection[com.mysql.cj.jdbc.ConnectionImpl@3709748f]]] will not be managed by Spring
2020-09-24 20:19:34.973 [pool-3-thread-1] DEBUG findLatestUpdateUser() - ==> Preparing: select user_id as userId, sign_user_id as signUserId, app_id as appId, address, public_key as publicKey, private_key as privateKey, description, status, encrypt_type as encryptType, gmt_modify as gmtModify from tb_user where status ='0' order by gmt_modify desc limit 0,1
2020-09-24 20:19:34.974 [pool-3-thread-1] DEBUG findLatestUpdateUser() - ==> Parameters:
2020-09-24 20:19:34.975 [pool-3-thread-1] DEBUG findLatestUpdateUser() - <== Total: 0
2020-09-24 20:19:34.975 [pool-3-thread-1] DEBUG SqlSessionUtils() - Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3cfc776]
2020-09-24 20:19:44.975 [pool-3-thread-1] DEBUG SynUsrTask() - start syncUsrCacheTask task
2020-09-24 20:19:44.975 [pool-3-thread-1] DEBUG SqlSessionUtils() - Creating a new SqlSession
2020-09-24 20:19:44.975 [pool-3-thread-1] DEBUG SqlSessionUtils() - SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@39ce7367] was not registered for synchronization because synchronization is not active
2020-09-24 20:19:44.975 [pool-3-thread-1] DEBUG DataSourceUtils() - Fetching JDBC Connection from DataSource
2020-09-24 20:19:44.976 [pool-3-thread-1] DEBUG SpringManagedTransaction() - JDBC Connection [ProxyConnection[PooledConnection[com.mysql.cj.jdbc.ConnectionImpl@3709748f]]] will not be managed by Spring
2020-09-24 20:19:44.976 [pool-3-thread-1] DEBUG findLatestUpdateUser() - ==> Preparing: select user_id as userId, sign_user_id as signUserId, app_id as appId, address, public_key as publicKey, private_key as privateKey, description, status, encrypt_type as encryptType, gmt_modify as gmtModify from tb_user where status ='0' order by gmt_modify desc limit 0,1
2020-09-24 20:19:44.976 [pool-3-thread-1] DEBUG findLatestUpdateUser() - ==> Parameters:
2020-09-24 20:19:44.977 [pool-3-thread-1] DEBUG findLatestUpdateUser() - <== Total: 0
2020-09-24 20:19:44.977 [pool-3-thread-1] DEBUG SqlSessionUtils() - Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@39ce7367]
2020-09-24 20:19:54.977 [pool-3-thread-1] DEBUG SynUsrTask() - start syncUsrCacheTask task
2020-09-24 20:19:54.977 [pool-3-thread-1] DEBUG SqlSessionUtils() - Creating a new SqlSession
2020-09-24 20:19:54.977 [pool-3-thread-1] DEBUG SqlSessionUtils() - SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@fada5a] was not registered for synchronization because synchronization is not active
2020-09-24 20:19:54.977 [pool-3-thread-1] DEBUG DataSourceUtils() - Fetching JDBC Connection from DataSource
2020-09-24 20:19:54.978 [pool-3-thread-1] DEBUG SpringManagedTransaction() - JDBC Connection [ProxyConnection[PooledConnection[com.mysql.cj.jdbc.ConnectionImpl@3709748f]]] will not be managed by Spring
2020-09-24 20:19:54.978 [pool-3-thread-1] DEBUG findLatestUpdateUser() - ==> Preparing: select user_id as userId, sign_user_id as signUserId, app_id as appId, address, public_key as publicKey, private_key as privateKey, description, status, encrypt_type as encryptType, gmt_modify as gmtModify from tb_user where status ='0' order by gmt_modify desc limit 0,1
2020-09-24 20:19:54.978 [pool-3-thread-1] DEBUG findLatestUpdateUser() - ==> Parameters:
2020-09-24 20:19:54.979 [pool-3-thread-1] DEBUG findLatestUpdateUser() - <== Total: 0
2020-09-24 20:19:54.979 [pool-3-thread-1] DEBUG SqlSessionUtils() - Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@fada5a]
2020-09-24 20:20:04.979 [pool-3-thread-1] DEBUG SynUsrTask() - start syncUsrCacheTask task
2020-09-24 20:20:04.979 [pool-3-thread-1] DEBUG SqlSessionUtils() - Creating a new SqlSession
2020-09-24 20:20:04.980 [pool-3-thread-1] DEBUG SqlSessionUtils() - SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@20baed4f] was not registered for synchronization because synchronization is not active
2020-09-24 20:20:04.980 [pool-3-thread-1] DEBUG DataSourceUtils() - Fetching JDBC Connection from DataSource
2020-09-24 20:20:04.980 [pool-3-thread-1] DEBUG SpringManagedTransaction() - JDBC Connection [ProxyConnection[PooledConnection[com.mysql.cj.jdbc.ConnectionImpl@3709748f]]] will not be managed by Spring
2020-09-24 20:20:04.981 [pool-3-thread-1] DEBUG findLatestUpdateUser() - ==> Preparing: select user_id as userId, sign_user_id as signUserId, app_id as appId, address, public_key as publicKey, private_key as privateKey, description, status, encrypt_type as encryptType, gmt_modify as gmtModify from tb_user where status ='0' order by gmt_modify desc limit 0,1
2020-09-24 20:20:04.981 [pool-3-thread-1] DEBUG findLatestUpdateUser() - ==> Parameters:
2020-09-24 20:20:04.982 [pool-3-thread-1] DEBUG findLatestUpdateUser() - <== Total: 0
2020-09-24 20:20:04.982 [pool-3-thread-1] DEBUG SqlSessionUtils() - Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@20baed4f]
2020-09-24 20:20:14.982 [pool-3-thread-1] DEBUG SynUsrTask() - start syncUsrCacheTask task
2020-09-24 20:20:14.982 [pool-3-thread-1] DEBUG SqlSessionUtils() - Creating a new SqlSession
2020-09-24 20:20:14.982 [pool-3-thread-1] DEBUG SqlSessionUtils() - SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3ed2928b] was not registered for synchronization because synchronization is not active
2020-09-24 20:20:14.982 [pool-3-thread-1] DEBUG DataSourceUtils() - Fetching JDBC Connection from DataSource
2020-09-24 20:20:14.983 [pool-3-thread-1] DEBUG SpringManagedTransaction() - JDBC Connection [ProxyConnection[PooledConnection[com.mysql.cj.jdbc.ConnectionImpl@3709748f]]] will not be managed by Spring
2020-09-24 20:20:14.983 [pool-3-thread-1] DEBUG findLatestUpdateUser() - ==> Preparing: select user_id as userId, sign_user_id as signUserId, app_id as appId, address, public_key as publicKey, private_key as privateKey, description, status, encrypt_type as encryptType, gmt_modify as gmtModify from tb_user where status ='0' order by gmt_modify desc limit 0,1
2020-09-24 20:20:14.983 [pool-3-thread-1] DEBUG findLatestUpdateUser() - ==> Parameters:
2020-09-24 20:20:14.984 [pool-3-thread-1] DEBUG findLatestUpdateUser() - <== Total: 0
2020-09-24 20:20:14.985 [pool-3-thread-1] DEBUG SqlSessionUtils() - Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@3ed2928b]

webase 和编辑器问题反馈

1、webase 的编辑器列表的合约比较多,有几十个合约,一旦切换到其他功能目录,再切换回来,加载很慢,大概5~9秒左右
2、webase 合约编辑内部是否有自动保存等功能,定时刷新时候,有一定几率出现空白,这个时候如果自己save会出现合约代码消失,保存为空白,解决合约编辑器稳定性问题。

deploy

$ python3 deploy.py installAll

============== WeBASE-Node-Manager start... ============== Traceback (most recent call last): File "deploy.py", line 106, in <module> do() File "deploy.py", line 25, in do commBuild.do() File "/home/vagrant/webase1.4.1/webase-deploy/comm/build.py", line 18, in do installManager() File "/home/vagrant/webase1.4.1/webase-deploy/comm/build.py", line 376, in installManager startManager() File "/home/vagrant/webase1.4.1/webase-deploy/comm/build.py", line 388, in startManager result = doCmd("bash start.sh") File "/home/vagrant/webase1.4.1/webase-deploy/comm/utils.py", line 107, in doCmd raise Exception("execute cmd error ,cmd : {}, status is {} ,output is {}".format(cmd,status, output)) Exception: execute cmd error ,cmd : bash start.sh, status is 2 ,output is start.sh: line 2: $'\r': command not found start.sh: line 9: $'\r': command not found cat: /home/vagrant/webase1.4.1/webase-deploy/webase-node-mgr/ conf /application.yml: No such file or directory start.sh: line 21: syntax error near unexpected token$'{\r''
start.sh: line 21: copyArial(){ '

all front of group 1 is stopped

返回码202002,用程序掉接口插入数据的时候过一会就这样了,stopAll然后再startAll也不行,求教

webase-node-mgr异常,加载不出验证码

[ERROR][2021-10-11 10:10:30.047][node-mgr-async-9][wsweb][2224][2224][LOG_POINT]Unexpected exception occurred invoking async method: public void com.webank.webase.node.mgr.appintegration.AppIntegrationService.appStatusCheck()
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:

Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

The error may exist in file [/home/usr/webase-deploy/webase-node-mgr/conf/mapper/AppInfoMapper.xml]

The error may involve com.webank.webase.node.mgr.appintegration.AppInfoMapper.listOfAppInfo

The error occurred while executing a query

Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection; nested exception is com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

一键部署脚本问题

webasee-deploy/comm/utils.py 中的getCommProperties(paramsKey): 在获取propertiesDir时propertiesDir =current_dir + '/' + gl.get_file()应该改为propertiesDir =current_dir + '/../' + gl.get_file().
配置文件不在当前目录,在当前目录的上一级。

新增功能需求

1、希望新增 从sdk 生成公私钥,在webase可以直接导入
2、webase导入的公私钥后,可以实现生成pem和p12等文件

一键部署WeBASE,webase-front启动后,进程有,但没有监听端口

`[root@localhost webase-deploy]# ps -ef|grep webase-front

root 7170 1 99 15:56 pts/0 00:00:19 /opt/jdk-15/bin/java -Djdk.tls.namedGroups=secp256k1 -Dfile.encoding=UTF-8 -Xmx256m -Xms256m -Xmn128m -Xss512k -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/webase-deploy/webase-front/log/heap_error.log -Djava.library.path=/home/webase-deploy/webase-front/conf -cp conf/:apps/:lib/ com.webank.webase.front.Application
root 7310 1873 0 15:56 pts/0 00:00:00 grep --color=auto webase-front

[root@localhost webase-deploy]# netstat -ano|grep 500
tcp 0 0 0.0.0.0:5000 0.0.0.0:* LISTEN off (0.00/0/0)
tcp6 0 0 :::5001 :::* LISTEN off (0.00/0/0)
tcp6 0 0 :::5004 :::* LISTEN off (0.00/0/0)`

webase-front/log/WeBASE-Front-error.log 有如下错误:
Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'serviceMap' defined in class path resource [com/webank/webase/front/base/config/Web3Config.class]: Unsatisfied dependency expressed through method 'serviceMap' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'getWeb3j' defined in class path resource [com/webank/webase/front/base/config/Web3Config.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.fisco.bcos.web3j.protocol.Web3j]: Factory method 'getWeb3j' threw exception; nested exception is java.lang.Exception: Can not connect to nodes [127.0.0.1:20200] ,groupId: 1 ,caCert: class path resource [ca.crt] ,sslKey: class path resource [node.key] ,sslCert: class path resource [node.crt] ,java version: 15-ea

webase 测试环境 合约模块无法打开显示异常

日志 显示 ### SQL: select * from tb_contract where group_id = ? and contract_bin like CONCAT(?,'%')

Cause: com.mysql.cj.jdbc.exceptions.PacketTooBigException: Packet for query is too large (2,554 > 2,048). You can change this value on the server by setting the 'max_allowed_packet' variable.

; Packet for query is too large (2,554 > 2,048). You can change this value on the server by setting the 'max_allowed_packet' variable.; nested exception is com.mysql.cj.jdbc.exceptions.PacketTooBigException: Packet for query is too large (2,554 > 2,048). You can change this value on the server by setting the 'max_allowed_packet' variable.

查找到的错误是:mysql 自动 将 max_allowed_packet 变成2048,把它改为 20M,短暂期间可以使用,但后续有出现变成2048,导致合约模块无法使用,需要排查一下

postman测试WEBASE-Front交易接口,返回"errorMessage": "user's privateKey is null"怎么解决呢?

我在用WEBASE-Front交易测试交易,合约就是官网的helloworld,我想调用set接口更改字符串,我的请求接口和数据如下:
image
返回信息如下,提示"errorMessage": "user's privateKey is null"。
image
请问是如何才能测试成功呢。

PS:我自己现在的理解是交易的过程中可能需要一个用户的签名信息,附加到头信息或者啥地方。提示用户私钥为空,也不应该直接附加私钥信息在发送头或者request请求消息里吧?

希望webase 接口提供 数据返回解析功能

目前webase front 等都提供了接口化请求访问,可以实现在内网情况下的业务接口对接上链,但是还差一些功能,当处理的合约方法是有返回值的,希望在接口中就可以解析判断,不然又要依赖sdk 的解析功能就不方便的。

用了webase的接口功能,就是想剔除sdk,如果sdk用、webase又使用那我们就别成很累赘,一定程度上功能重复太多,如果webase可以支持,以后就可以不用sdk了。

WeBase合约管理问题以及建议

一、问题
1、合约编辑界面按下Ctrl+s保存时,代码会被全选,光标定位消失,很不方便。
2、已经部署的合约没法删除,也没法更新版本。
3、编译、部署和调试需要频繁点击右上角,比较费劲。
4、交易回滚导致部署失败的合约也显示部署成功,地址为0.

二、建议
1、结合CNS服务提供IDE界面对合约的版本管理。
2、参考RemixIDE,将IDE界面右上角的操作放在右侧边面板中。

WeBASE对2.5.x版及以上的支持

文档里看到WeBASE目前有如下限制

注:目前WeBASE支持FISCO BCOS v2.4.x版本,暂未支持FISCO BCOS 2.5.x

想问下,最新的2.5.x和2.6.x新添加的功能以及修复的bug是否影响了WeBASE的后向兼容性

谢谢~

一键部署webase-front 启动不成功

请求帮助,一键部署使用Oraclejdk1.8.0_271和jdk11都报同样的错误。
报错代码:
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'abiController': Unsatisfied dependency expressed through field 'abiService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.