官网文档https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/installation.html#
配置及使用控制台
第一步. 准备依赖
安装java (推荐使用java 14)
# ubuntu系统安装java
sudo apt install -y default-jdk
#centos系统安装java
sudo yum install -y java java-devel
【拓展,java设置环境变量,便于后面的应用】
官方文档https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/sdk/java_sdk/quick_start.html
经过上一步我们已经安装好了java,接下来修改环境变量
# 确认您当前的java版本
$ java -version
# 查看jdk版本号
添加java环境路径
$sudo vim /etc/profile
文件最后添加
export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64 # 此处为自己的jdk版本号
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH:::
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
i键 改成插入模式,Esc键退出插入模式,:wq保存退出
设置环境生效
source /etc/profile
=============================================================================
获取控制台并回到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
具体而言,cd ~/fisco 命令将当前工作目录更改为 ~/fisco 目录,其中 ~ 表示用户的 home 目录。如果该目录不存在,则会创建它。
然后,curl -LO https://github.com/FISCO-BCOS/console/releases/download/v2.9.2/download_console.sh 命令使用 curl 工具从指定的 URL 下载控制台脚本,并保存在当前目录中。-LO 选项表示保持原始文件名,并将其保存到当前目录。
最后,bash download_console.sh 命令用于执行下载的脚本进行安装。该脚本将会自动下载并设置控制台所需的依赖项和配置文件。
通过执行上述命令,你将下载并安装 FISCO BCOS 控制台。该控制台可用于管理和操作 FISCO BCOS 区块链网络,并提供了一套丰富的命令行工具和图形界面。请注意,该命令的执行结果取决于当前所在的目录和用户的权限设置。
拷贝控制台配置文件
若节点未采用默认端口,请将文件中的20200替换成节点对应的channel端口。
# 最新版本控制台使用如下命令拷贝配置文件
cp -n console/conf/config-example.toml console/conf/config.toml
具体而言,cp 命令用于复制文件或目录。在这个指令中,-n 选项表示只在目标文件不存在时才执行复制操作,以避免覆盖已存在的文件。
指令中的第一个参数 console/conf/config-example.toml 是源文件的路径,它是控制台提供的示例配置文件。第二个参数 console/conf/config.toml 是目标文件的路径,它是你要创建的配置文件。
通过执行上述指令,将会复制示例配置文件 config-example.toml 到 config.toml,如果 config.toml 文件已经存在,则不会执行复制操作。
你可以在所需的位置创建配置文件,并根据需要进行相应的修改和自定义。在 FISCO BCOS 控制台中,配置文件 config.toml 用于指定控制台的各种设置,例如连接的区块链网络节点、账户信息、日志等配置项。
配置控制台证书
cp -r nodes/127.0.0.1/sdk/* console/conf/
第二步. 启动并使用控制台
启动
cd ~/fisco/console && bash start.sh
是一个命令行指令,用于在指定目录下执行 start.sh 脚本。
具体而言,指令中的 cd ~/fisco/console 表示切换到 ~/fisco/console 目录,其中 ~ 表示当前用户的主目录(home directory)。这个目录是你要进入的工作目录。
接着,&& 运算符用于将两个命令连接起来,确保只有前一个命令成功执行才会执行后续的命令。
最后,bash start.sh 表示在当前目录下执行名为 start.sh 的脚本文件。这个脚本文件可能包含一系列的命令和操作,用于启动相关的应用程序或服务。
若1.x控制台启动失败,参考 Web3SDK启动失败场景https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/faq/connect.html
用控制台获取信息
# 获取客户端版本
[group:1]> getNodeVersion
ClientVersion{
version='2.6.0',
supportedVersion='2.6.0',
chainId='1',
buildTime='20200819 15:47:59',
buildType='Darwin/appleclang/RelWithDebInfo',
gitBranch='HEAD',
gitCommitHash='e4a5ef2ef64d1943fccc4ebc61467a91779fb1c0'
}
# 获取节点信息
[group:1]> getPeers
[
PeerInfo{
nodeID='c1bd77e188cd0783256ee06838020f24a697f9af785438403d3620967a4a3612e3abc4bbe986d1e9dddf62d4236bff0b7d19a935a3cd44889f681409d5bf8692',
ipAndPort='127.0.0.1:30302',
agency='agency',
topic=[
],
node='node2'
},
PeerInfo{
nodeID='7f27f5d67f104eacf689790f09313e4343e7887a1a7b79c31cd151be33c7c8dd57c895a66086c3c8e0b54d2fa493407e0d9646b2bd9fc29a94fd3663a5332e6a',
ipAndPort='127.0.0.1:57266',
agency='agency',
topic=[
_block_notify_1
],
node='node1'
},
PeerInfo{
nodeID='862f26d9681ed4c12681bf81a50d0b8c66dd5b6ee7b0b42a4af12bb37b1ad2442f7dcfe8dac4e737ce9fa46aa94d904e8c474659eabf575d6715995553245be5',
ipAndPort='127.0.0.1:30303',
agency='agency',
topic=[
],
node='node3'
}
]
[group:1]>
- 部署及调用HelloWorld合约,这个合约系统自带了,在控制台目录下contracts/solidity/HelloWorld.sol
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合约
在控制台输入以下指令 部署成功则返回合约地址
[group:1]> deploy HelloWorld
第三步. 调用HelloWorld合约
# 查看当前块高
[group:1]> getBlockNumber
1
# 调用get接口获取name变量 此处的合约地址是deploy指令返回的地址
[group:1]> call HelloWorld 0xb3c223fc0bf6646959f254ac4e4a7e355b50a344 get
---------------------------------------------------------------------------------------------
Return code: 0
description: transaction executed successfully
Return message: Success
---------------------------------------------------------------------------------------------
Return values:
[
"Hello,World!"
]
---------------------------------------------------------------------------------------------
# 查看当前块高,块高不变,因为get接口不更改账本状态
[group:1]> getBlockNumber
1
# 调用set设置name
[group:1]> call HelloWorld 0xb3c223fc0bf6646959f254ac4e4a7e355b50a344 set "Hello, FISCO BCOS"
transaction hash: 0x7e742c44091e0d6e4e1df666d957d123116622ab90b718699ce50f54ed791f6e
---------------------------------------------------------------------------------------------
transaction status: 0x0
description: transaction executed successfully
---------------------------------------------------------------------------------------------
Output
Receipt message: Success
Return message: Success
---------------------------------------------------------------------------------------------
Event logs
Event: {}
# 再次查看当前块高,块高增加表示已出块,账本状态已更改
[group:1]> getBlockNumber
2
# 调用get接口获取name变量,检查设置是否生效
[group:1]> call HelloWorld 0xb3c223fc0bf6646959f254ac4e4a7e355b50a344 get
---------------------------------------------------------------------------------------------
Return code: 0
description: transaction executed successfully
Return message: Success
---------------------------------------------------------------------------------------------
Return values:
[
"Hello,FISCO BCOS"
]
---------------------------------------------------------------------------------------------
# 退出控制台
[group:1]> quit
quit 退出