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

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

环境:Ubuntu16

1.搭建4节点联盟链

前提

curl 一种命令行工具

apt install -y openssl curl

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

cd ~ && mkdir -p fisco && cd fisco

curl -#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节点前置平台

PS:换教程,下面编译代码可能因为网络原因有问题,因此改成以下教程
快速搭建webase-front节点前置平台搭建参考:https://www.bookstack.cn/read/WeBASE-1.4.1-zh/1ba97f26c32a6bd9.md

在这里插入图片描述

# 拉取代码
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                 // 连接节点的监听ip
  channelPort: 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          // 是否监控数据,默认true
  nodePath: /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个用户地址-> 点击部署 -> 后出现如下页面即可。

在这里插入图片描述

部署非国密版本的WeBASE-front版控制台通常涉及以下几个步骤: 1. **下载依赖**:首先,你需要从官方仓库下载WeBASE-front的非国密版本,这可能需要使用Git克隆或者直接下载压缩包。 2. **环境配置**:安装所需的Node.js环境,并确保已配置好网络连接,因为非国密版本可能需要访问特定的区块链网络服务。 3. **初始化项目**:进入下载后的目录,运行`npm install` 或者 `yarn install` 来安装必要的依赖项。 4. **配置合约**:创建一个新的智能合约文件(例如`.sol`),编写HelloWorld合约,包括set和get函数。示例代码可能会像这样: ```solidity contract HelloWorld { string public message = "FISCO-BCOS"; function setMessage(string memory _message) public { message = _message; } function getMessage() public view returns (string memory) { return message; } } ``` 5. **部署合约**:使用WeBASE-front提供的工具或Web3.js库将合约编译并部署到目标区块链上。比如在本地测试网或主网上运行类似`truffle migrate`的命令。 6. **调用合约函数**:在前端代码中,创建WeBASE-front的实例,连接到链上,然后通过API调用set函数设置消息,再调用get函数获取消息。示例JavaScript代码可能是这样的: ```javascript const web3 = new Web3(); // 设置节点地址 const contractAddress = '...'; const contractInstance = new web3.eth.Contract(HelloWorld.abi, contractAddress); async function callSetFunction(message) { await contractInstance.methods.setMessage(message).send(); } async function callGetFunction() { const result = await contractInstance.methods.getMessage().call(); console.log(result); // 应该会输出"FISCO-BCOS" } ``` 7. **测试功能**:运行上述代码,确认set函数成功更新了消息,然后get函数返回预期结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

本郡主是喵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值