快速搭建webase-front并且部署合约

PS:
因为我开发时候要用到fisco和webase-front,避免官方文档粘贴,
因此直接整理下面的笔记。开发的时候,好粘贴。

1.搭建4节点联盟链

前提

curl 一种命令行工具

apt install -y openssl curl

创建操作目录, 下载安装脚本

cd ~ && mkdir -p fisco && cd fiscocurl -#LO https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/FISCO-BCOS/FISCO-BCOS/releases/v2.9.1/build_chain.sh && chmod u+x build_chain.sh

搭建4节点联盟链

bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545

其中-p选项指定起始端口,分别p2p_port,channel_port,jsonrpc_port

启动4节点联盟链

bash nodes/127.0.0.1/start_all.sh

检查操作

检查进程是否启动
ps -ef | grep -v grep | grep fisco-bcos
检查日志输出
tail -f nodes/127.0.0.1/node0/log/log* | grep connected 
检查是否存在共识
tail -f nodes/127.0.0.1/nodes0/log/log* | grep +++

2. 搭建webase-front节点前置平台

在这里插入图片描述

# 拉取代码
git clone https://gitee.com/WeBank/WeBASE-Front.git
# 编译代码
cd WeBASE-front
chmod +x ./gradlew && ./gradlew build -x test构建完成后,会在根目录WeBASE-Front下生成已编译的代码目录dist。
# 修改配置
cp -r dist/conf_template dist/conf 拷贝模版cp ~/fisco/nodes/127.0.0.1/sdk/* dist/conf/ 拷贝证书文件vim dist/conf/application.yml 修改配置
spring:datasource:url: jdbc:h2:file:./h2/webasefront;DB_CLOSE_ON_EXIT=FALSE // 默认H2库为webasefront,建议修改数据库存放路径...
server: port: 5003                    // 服务端口context-path: /WeBASE-Front
sdk: ...ip: 127.0.0.1                 // 连接节点的监听ipchannelPort: 20200            // 连接节点的链上链下端口certPath: conf                // sdk证书的目录,默认为conf  /PS
constant: keyServer: 127.0.0.1:5004     // 密钥服务的IP和端口(WeBASE-Node-Manager服务或者WeBASE-Sign服务,不同服务支持的接口不同),如果作为独立控制台使用可以不配置aesKey: EfdsW23D23d3df43          // aes加密key(16位) 如启用,各互联的子系统的加密key需保持一致transMaxWait: 30              // 交易最大等待时间monitorDisk: /                // 要监控的磁盘目录,配置节点所在目录(如:/data)monitorEnabled: true          // 是否监控数据,默认truenodePath: /fisco/nodes/127.0.0.1/node0      //配置所连节点的绝对路径,用于监控节点配置与日志 /PS
...
# 在dist目录下(下面必须进入dist目录启动)
启动: bash start.sh
停止: bash stop.sh
检查: bash status.sh
# 查看日志,启动之后生成log目录
cat log/*.log | grep run.*
# 访问控制台
示例:http://localhost:5002/WeBASE-Front

3. 部署并使用合约

我们在webase-front平台,随便选一个合约演示如何上传并部署合约文件:
找到合约管理 -> 测试用户: 创建3个测试用户,名称分别是merchant、rider、consumer。
在这里插入图片描述

在合约管理 -> 合约IDE: 新建WmTrace目录,点击文件上传按钮,将该包下面的合约文件,全部上传。
在这里插入图片描述
在这里插入图片描述

在合约IDE页面,选中Trace合约,合约参数输入上面创建的3个用户地址-> 点击部署 -> 后出现如下页面即可。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/324456.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uniapp百度地图聚合

// loadBMap.js ak 百度key export default function loadBMap(ak) {return new Promise((resolve, reject) > {//聚合API依赖基础库,因此先加载基础库再加载聚合APIasyncLoadBaiduJs(ak).then(() > {// 调用加载第三方组件js公共方法加载其他资源库// 加载聚合API// Ma…

《ESP8266通信指南》15-MQTT连接、订阅MQTT主题并打印消息(基于Lua|适合新手|非常简单)

往期 《ESP8266通信指南》14-连接WIFI(基于Lua)-CSDN博客 《ESP8266通信指南》13-Lua 简单入门(打印数据)-CSDN博客 《ESP8266通信指南》12-Lua 固件烧录-CSDN博客 《ESP8266通信指南》11-Lua开发环境配置-CSDN博客 《ESP826…

JUC下CountDownLatch详解

详细介绍 CountDownLatch是Java并发包java.util.concurrent中提供的一个同步工具类,它允许一个或多个线程等待其他线程完成操作后再继续执行。这个工具类基于一个计数器,计数器的初始值可以由构造函数设定。线程调用countDown()方法会将计数器减1&#x…

深入理解JavaScript事件循环Event Loop:宏任务与微任务的奇幻之旅

🔥 个人主页:空白诗 文章目录 🎉 引言🌟 什么是事件循环?📚 「宏任务」 vs 「微任务」「宏任务」(Macrotask)「微任务」(Microtask)实际应用中的注意事项 🔀 执行流程概览📝 代码示例…

如何在JavaScript/Vue中获取当前时间并格式化输出(精确到时分秒)

如何在JavaScript/Vue中获取当前时间并格式化输出(精确到时分秒) 不只是树,人也是一样,在不确定中生活的人,能比较经得起生活的考验,会锻炼出一颗独立自主的心。在不确定中,就能学会把很少的养分…

在uniapp中如何安装axios并解决跨域问题

目录 1、安装axios 2、导入 3、使用(发请求) 2.解决跨域问题 1.为什么要解决跨域问题? 2.前端如何解决跨域问题? 1、安装axios npm install axios 2、导入 在main.js中导入使用 import axios from axios; // 创建一个名…

智慧互联,统信UOS V20桌面专业版(1070)解锁办公新模式丨年度更新

从小屏到大屏 突破,就在方寸之间 从人机到智脑 融合,旨在新质生产力 统信UOS一直致力于将先进科技与用户场景相结合,不断提升用户的工作效率和生产力。在最新发布的统信UOS V20桌面专业版(1070)版本中,我们…

Rust 解决循环引用

导航 循环引用一、现象二、解决 循环引用 循环引用出现的一个场景就是你指向我,我指向你,导致程序崩溃 解决方式可以通过弱指针,而Rust中的弱指针就是Weak 在Rc中,可以实现,对一个变量,持有多个不可变引…

【一支射频电缆的诞生】GORE 戈尔

工具连接: https://microwave-cablebuilder.gore.com/ 控制参数: 连接器: 欣赏

Android APP读写外置SD卡无权限 java.io.IOException: Permission denied

在物联网应用里,app需要对挂载SD卡读写文件,从 Android 4.4(KitKat)版本开始,Google 引入了一项名为 "Storage Access Framework" 的新功能,该功能限制了应用对外部存储的直接读写权限,要不然就是…

【挑战30天首通《谷粒商城》】-【第一天】03、简介-分布式基础概念

文章目录 课程介绍 ( 本章了解即可,可以略过)1、微服务简而言之: 2、集群&分布式&节点2.1、定义2.2、示例 3、远程调用4、负载均衡常见的负裁均衡算法: 5、服务注册/发现&注册中心6、配置中心7、服务熔断&服务降级7.1、服务熔断7.2、服务降级 8、AP…

Appium测试之获取appPackage和appActivity

appPackage和appActivity 进行appium自动化测试非常重要的两个参数,我们所测试的APP不同,这两个参数肯定也是不一样的。那如何快速的获取这APP的这两个参数呢?我这里介绍两个方法。 import org.openqa.selenium.remote.DesiredCapabilities;i…

从零开始学AI绘画,万字Stable Diffusion终极教程(六)

【第6期】知识补充 欢迎来到SD的终极教程,这是我们的第六节课,也是最后一节课 这套课程分为六节课,会系统性的介绍sd的全部功能,让你打下坚实牢靠的基础 1.SD入门 2.关键词 3.Lora模型 4.图生图 5.controlnet 6.知识补充 …

利用生成式AI重新构想ITSM的未来

对注入 AI 的生成式 ITSM 的需求,在 2023 年 Gartner AI 炒作周期中,生成式 AI 达到预期值达到顶峰后,三分之二的企业已经将生成式 AI 集成到其流程中。 你问为什么这种追求?在预定义算法的驱动下,IT 服务交付和管理中…

PyCharm 集成 Git

目录 1、配置 Git 忽略文件 2、定位Git 3、使用pycharm本地提交 3.1、初始化本地库 3.2、添加到暂存区 3.3、提交到本地库 3.4、切换版本 4、分支操作 4.1、创建分支 4.2、切换分支 4.3、合并分支 5、解决冲突 1、配置 Git 忽略文件 作用:与项目的实际…

【redis】Redis五种常用数据类型和内部编码,以及对String字符串类型的总结

˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好,我是xiaoxie.希望你看完之后,有不足之处请多多谅解,让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN 如…

51单片机入门:蜂鸣器

蜂鸣器介绍 蜂鸣器是一种将电信号转换为声音信号的器件,常用来产生设备的按键音、报警音等提示信号。 蜂鸣器的种类 1、从结构上:压电式蜂鸣器和电磁式蜂鸣器。 压电式蜂鸣器:通过压电陶瓷的压电效应原理工作的。当加有交变电压时&#xf…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-14-主频和时钟配置

前言: 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

轮式机器人简介

迄今为止,轮子一般是移动机器人学和人造交通车辆中最流行的运动机构。它可达到很高的效率, 如图所示, 而且用比较简单的机械就可实现它的制作。 另外,在轮式机器人设计中,平衡通常不是一个研究问题。 因为在所有时间里,轮式机器人一般都被设计成在任何时间里所有轮子均与地接…

idea上如何新建git分支

当前项目在dev分支,如果想在新分支上开发代码,如何新建一个分支呢?5秒搞定~ 1、工具类选择git,点击New Branch 或者右下角点击git分支,再点击New Branch 2、在弹出的Create New Branch弹窗中,输入你的新分支…