实验环境

两台centos7机器(虚拟机和远程服务器都可以)

  • 192.168.80.144

  • 192.168.80.145

java1.8

搭建多机多群FISCO BCOS链

剧情回放:我们搭建了两个机构A和B,一个机构4节点一个机构5节点,一共两个群组,A和B均在这两个群组里,呈现一种嵌套的结构。

我将192.168.80.144 作为机构A, 192.168.80.145机器作为机构B

如图,这是我们的拓扑图(嵌套结构)

在这里插入图片描述
https://blog.csdn.net/qq_19381989/article/details/112228673

搭建webase-front

文档链接:https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE-Install/developer.html

下载安装包

cd ~
wget https://osp-1257653870.cos.ap-guangzhou.myqcloud.com/WeBASE/releases/download/v1.4.2/webase-front.zip

解压

unzip webase-front.zip cd webase-front

拷贝sdk证书文件
在这里插入图片描述

将各个机构 ${ip}/sdk 目录下的所有文件(ca.crt、node.crt和node.key文件)拷贝到webase-front/conf 目录下。

cp -r sdk/* ~/webase-front/conf

在这里插入图片描述
在这里插入图片描述

启动webase-front服务

./start.sh # 启动服务
./status.sh # 检查状态服务
netstat -tunpl | grep 5002 # webase-front默认的服务端口是5002,检测5002端口下是否有服务启动了

在这里插入图片描述
访问webase-front web服务

url为 http://${ip}:5002/WeBASE-Front/
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

自此webase-front搭建成功

部署合约示例(“废话”HelloWorld篇)

通过webase-front部署HelloWorld.sol

url: http://192.168.80.145:5002/WeBASE-Front/#/contract

HelloWorld.sol 合约内容:

pragma solidity>=0.4.24 <0.6.11;

contract HelloWorld {
    string name;

    constructor() public {
        name = "Hello, World!";
    }

    function get() public view returns (string memory) {
        return name;
    }

    function set(string memory n) public {
        name = n;
    }
}

1. 创建测试用户

在这里插入图片描述

2. 新建工作文件夹(fengfeng)

在这里插入图片描述
在这里插入图片描述
3. 在工作文件夹下创建HelloWorld.sol文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. 编译合约
在这里插入图片描述
在这里插入图片描述
5. 部署合约
在这里插入图片描述

选择用户部署合约,(选择部署时,会自动编译合约)

在这里插入图片描述

6. 调用合约接口

在这里插入图片描述

在这里插入图片描述

共两个方法,一个get,一个set,其中get是在访问name的值,set是在修改name是值。所以我们调用get的时候不会增加区块的数目,set的时候会增加一个区块。

调用get方法
调用get方法之前,我们先查看一下区块的数量。
在这里插入图片描述

可见区块数量为1,这个1是因为我们部署了HelloWorld.sol。
在这里插入图片描述

调用之后,区块数量不会改变。

在这里插入图片描述

调用set方法
在这里插入图片描述

在这里插入图片描述
在交易回执里的message字段也了我们“success”的提示,但是为了更直接的检查,这个数据是否改变以及交易是否进行过,我们可以重新调用一下get方法以及查看一下区块数量或者交易数量。

首先通过get方法可以查看到数据确实是有被修改。

在这里插入图片描述
随后查看区块数量
在这里插入图片描述

调用set之后,因为产生了交易,所以区块的数量也增加了一个。

总结

内存分配问题

节点搭建成功了,但是异常退出 或者 webase-front提示搭建成功了,但是启动失败了,这些却在log文件里找不到报警内容的时候,这个情况就很有可能是内存太小导致的原因。

推荐内存配置 javaWeb/500mb 节点数/1G
在这里插入图片描述

更多总结。。。

参考链接

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

https://webasedoc.readthedocs.io/zh_CN/latest/docs/WeBASE-Install/developer.html

https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/design/consensus/index.html

关于作者

作者的联系方式:

微信:thf056
qq:1290017556
邮箱:1290017556@qq.com

你也可以通过 github | csdn | @新浪微博 关注我的动态

我们的公众号平台 — (湖师区块人)

欢迎各位大大关注我们湖州师范区块链协会的公众号(湖师区块人),我们会在这里不定期推送区块链相关的“精神食粮”。
在这里插入图片描述

欢迎评论关注+点赞啊!
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐