Fisco Bcos区块链二(搭建使用控制台,体验Holleworld合约调用)

区块链开荒

技术文档:https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/index.html

2. 配置及使用控制台

在控制台链接FISCO BCOS节点,实现查询区块链状态、部署调用合约等功能

准备依赖

  • 安装java (推荐使用java 14).
# ubuntu系统安装java
sudo apt install -y default-jdk

此处安装时间较长。安装完成后查看java版本。

查看版本:java -version

示例:

image-20230123172618811

  • 获取控制台并回到fisco目录
cd ~/fisco 
curl -LO https://github.com/FISCO-BCOS/console/releases/download/v2.9.2/download_console.sh && bash download_console.sh

上面的速度较慢,推荐使用:

cd ~/fisco

curl -#LO https://gitee.com/FISCO-BCOS/console/raw/master-2.0/tools/download_console.sh && bash download_console.sh

示例:

扫描二维码关注公众号,回复: 14619718 查看本文章

image-20230123173439453

  • 拷贝控制台配置文件

若节点未采用默认端口,请将文件中的20200替换成节点对应的channel端口。

# 最新版本控制台使用如下命令拷贝配置文件
cp -n console/conf/config-example.toml console/conf/config.toml
  • 配置控制台证书
cp -r nodes/127.0.0.1/sdk/* console/conf/

启动并使用控制台

  • 启动
cd ~/fisco/console && bash start.sh

示例:

image-20230123174029463

  • 用控制台获取信息

    # 获取客户端版本
    [group:1]> getNodeVersion
    
    # 获取节点信息
    [group:1]> getPeers
    

示例:

image-20230123174310785

image-20230123174347323

3. 部署及调用HelloWorld合约

编写HelloWorld合约(此处不需要编写,控制台已内置)

HelloWorld合约提供两个接口,分别是get()set(),用于获取/设置合约变量name。合约内容如下:

pragma solidity ^0.4.24;

contract HelloWorld {
    string name;

    function HelloWorld() {
        name = "Hello, World!";
    }

    function get()constant returns(string) {
        return name;
    }

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

部署HelloWorld合约

为了方便用户快速体验,HelloWorld合约已经内置于控制台中,位于控制台目录下contracts/solidity/HelloWorld.sol,参考下面命令部署即可。

# 在控制台输入以下指令 部署成功则返回合约地址
[group:1]> deploy HelloWorld
transaction hash: 0xd0305411e36d2ca9c1a4df93e761c820f0a464367b8feb9e3fa40b0f68eb23fa
contract address:0xb3c223fc0bf6646959f254ac4e4a7e355b50a344

示例:

image-20230123174921618

调用HelloWorld合约

# 查看当前块高
[group:1]> getBlockNumber

# 调用get接口获取name变量 此处的合约地址是deploy指令返回的地址
[group:1]> call HelloWorld 0xb3c223fc0bf6646959f254ac4e4a7e355b50a344 get

# 查看当前块高,块高不变,因为get接口不更改账本状态
[group:1]> getBlockNumber
1

# 调用set设置name
[group:1]> call HelloWorld 0xb3c223fc0bf6646959f254ac4e4a7e355b50a344 set "Hello, FISCO BCOS"

# 再次查看当前块高,块高增加表示已出块,账本状态已更改
[group:1]> getBlockNumber
2

# 调用get接口获取name变量,检查设置是否生效
[group:1]> call HelloWorld 0xb3c223fc0bf6646959f254ac4e4a7e355b50a344 get

# 退出控制台
[group:1]> quit

示例:

image-20230123175708819

image-20230123175734968

到这你已经完成了控制台搭建和,控制台基本使用、智能合约调用。

猜你喜欢

转载自blog.csdn.net/qq_54353206/article/details/128753398