安装

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

此时会从github上下载控制台程序。成功下载会显示

1
2
3
4
5
######################################################################## 100.0%
[INFO] Downloading console 2.10.0 from https://github.com/FISCO-BCOS/console/releases/download/v2.10.0/console.tar.gz
######################################################################## 100.0%
[INFO] Download console successfully
[INFO] unzip console successfully

配置控制台: 拷贝SDK证书

将已经安装的区块链的节点下的sdk证书拷贝到控制台

1
scp ~/fisco/192.168.201.129/sdk/* ~/fisco/console/conf

配置控制台:配置文件更新

将例子配置文件拷贝为正式的配置文件

1
cp -n ~/fisco/console/conf/config-example.toml ~/fisco/console/conf/config.toml

这个config.toml是控制台的配置文件,我们要想管理节点关键是修改下面这行

1
2
3
[network]
peers=["127.0.0.1:20200", "127.0.0.1:20201"] # The peer list to connect

这是控制台要连接的节点。如果我们的网络中已经有的节点如下

1
2
3
4
5
192.168.201.129:20200
192.168.201.129:20201
192.168.201.130:20200
192.168.201.131:20200
192.168.201.132:20200

那么可以通过下面的命令批量修改

1
sed -i 's/peers=\["127.0.0.1:20200", "127.0.0.1:20201"\]/peers=["192.168.201.129:20200", "192.168.201.129:20201", "192.168.201.130:20200", "192.168.201.131:20200","192.168.201.132:20200"]/g' ~/fisco/console/conf/config.toml

启动控制台

1
bash ~/fisco/console/start.sh

输出结果如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[fisco@localhost console]$ bash ~/fisco/console/start.sh
=============================================================================================
Welcome to FISCO BCOS console(2.10.0)!
Type 'help' or 'h' for help. Type 'quit' or 'q' to quit console.
________ ______ ______ ______ ______ _______ ______ ______ ______
| | \/ \ / \ / \ | \ / \ / \ / \
| $$$$$$$$\$$$$$| $$$$$$| $$$$$$| $$$$$$\ | $$$$$$$| $$$$$$| $$$$$$| $$$$$$\
| $$__ | $$ | $$___\$| $$ \$| $$ | $$ | $$__/ $| $$ \$| $$ | $| $$___\$$
| $$ \ | $$ \$$ \| $$ | $$ | $$ | $$ $| $$ | $$ | $$\$$ \
| $$$$$ | $$ _\$$$$$$| $$ __| $$ | $$ | $$$$$$$| $$ __| $$ | $$_\$$$$$$\
| $$ _| $$_| \__| $| $$__/ | $$__/ $$ | $$__/ $| $$__/ | $$__/ $| \__| $$
| $$ | $$ \\$$ $$\$$ $$\$$ $$ | $$ $$\$$ $$\$$ $$\$$ $$
\$$ \$$$$$$ \$$$$$$ \$$$$$$ \$$$$$$ \$$$$$$$ \$$$$$$ \$$$$$$ \$$$$$$

=============================================================================================
[group:1]>

console中支持的命令

命令 中文解释
help([-h, -help, –h, –H, –help, -H, h]) 提供帮助信息
addObserver 添加一个观察节点
addSealer 添加一个共识节点(Sealer 节点)
call 通过函数和参数调用合约
callByCNS 通过 CNS(合约名称服务),使用函数和参数调用合约
create 通过 SQL 语句创建数据表
delete 通过 SQL 语句删除记录
deploy 在区块链上部署合约
deployByCNS 通过 CNS(合约名称服务)在区块链上部署合约
desc 查看数据表的结构信息
quit([quit, q, exit]) 退出控制台
freezeAccount 冻结账户
freezeContract 冻结合约
generateGroup 为指定节点创建一个群组
generateGroupFromFile 根据指定文件的配置创建群组
getAccountStatus 获取账户的状态
getAvailableConnections 获取 SDK(软件开发工具包)已连接节点的连接信息
getBatchReceiptsByBlockHashAndRange 根据区块哈希和交易范围,批量获取交易回执
getBatchReceiptsByBlockNumberAndRange 根据区块号和交易范围,批量获取交易回执
getBlockByHash 通过区块哈希查询区块信息
getBlockByNumber 通过区块号查询区块信息
getBlockHashByNumber 通过区块号查询区块哈希
getBlockHeaderByHash 通过区块哈希查询区块头信息
getBlockHeaderByNumber 通过区块号查询区块头信息
getBlockNumber 查询最新区块的区块号
getCode 查询指定地址下的合约代码
getConsensusStatus 查询共识状态
getContractStatus 获取合约的状态
getCryptoType 获取当前使用的加密算法类型
getCurrentAccount 获取当前账户的信息
getDeployLog 查询合约部署的日志
getGroupConnections 获取 SDK 已连接的该群组节点信息
getGroupList 查询群组列表
getGroupPeers 查询该群组中共识节点(Sealer)和观察节点(Observer)的 NodeID 列表
getNodeIDList 查询所有已连接节点的 NodeID 列表
getNodeInfo 查询指定节点的详细信息
getNodeVersion 查询当前节点的版本
getObserverList 查询观察节点(Observer)的 NodeID 列表
getPbftView 查询节点的 PBFT 共识视图(仅 PBFT 共识算法适用)
getPeers 查询当前客户端已连接的节点列表
getPendingTransactions 查询待确认的交易(未上链交易)
getPendingTxSize 查询待确认交易的数量
getSealerList 查询共识节点(Sealer)的 NodeID 列表
getSyncStatus 查询节点的数据同步状态
getSystemConfigByKey 通过配置键(Key)查询系统配置值
getTotalTransactionCount 查询区块链的总交易数量
getTransactionByBlockHashAndIndex 通过区块哈希和交易在区块中的索引位置,查询交易信息
getTransactionByBlockNumberAndIndex 通过区块号和交易在区块中的索引位置,查询交易信息
getTransactionByHash 通过交易哈希查询交易信息
getTransactionByHashWithProof 通过交易哈希查询交易信息及对应的交易证明
getTransactionReceipt 通过交易哈希查询交易回执
getTransactionReceiptByHashWithProof 通过交易哈希查询交易回执及对应的交易回执证明
grantCNSManager 为指定地址授予 CNS(合约名称服务)管理权限
grantCommitteeMember 将指定账户设为委员会成员
grantContractStatusManager 为指定用户授予合约状态管理权限(如冻结/解冻合约)
grantContractWritePermission 为指定账户授予合约写入权限
grantDeployAndCreateManager 为指定地址授予合约部署和数据表创建权限
grantNodeManager 为指定地址授予节点配置管理权限(如添加/删除节点)
grantOperator 将指定账户设为操作员(拥有部分管理权限)
grantSysConfigManager 为指定地址授予系统配置管理权限
grantUserTableManager 为指定地址授予指定数据表的管理权限
insert 通过 SQL 语句插入记录
listAbi 列出合约的函数和事件信息(解析合约 ABI)
listAccount 列出当前已保存的账户列表
listCNSManager 查询拥有 CNS(合约名称服务)管理权限的地址信息
listCommitteeMembers 列出所有委员会成员
listContractStatusManager 列出拥有合约状态管理权限的用户信息
listContractWritePermission 查询拥有指定合约写入权限的账户列表
listDeployAndCreateManager 查询拥有合约部署和数据表创建权限的地址信息
listDeployContractAddress 列出指定合约已部署的所有地址
listNodeManager 查询拥有节点配置管理权限的地址信息
listOperators 列出所有操作员
listSysConfigManager 查询拥有系统配置管理权限的地址信息
listUserTableManager 查询拥有指定数据表管理权限的地址信息
loadAccount 加载账户(用于交易签名)
newAccount 创建一个新账户
queryCNS 通过合约名称和合约版本查询 CNS(合约名称服务)信息
queryCommitteeMemberWeight 查询委员会成员的权重
queryGroupStatus 查询指定节点上指定群组的状态
queryThreshold 查询操作权限的阈值(如修改配置需满足的投票阈值)
queryVotesOfMember 查询某个委员会成员的得票数
queryVotesOfThreshold 查询修改权限阈值操作的得票数
recoverGroup 恢复指定节点上的指定群组(如群组异常后恢复)
registerCNS 为指定合约注册 CNS(合约名称服务)信息
removeGroup 删除指定节点上的指定群组
removeNode 移除一个节点(从集群/群组中删除)
revokeCNSManager 撤销指定地址的 CNS(合约名称服务)管理权限
revokeCommitteeMember 将指定账户从委员会成员中移除
revokeContractStatusManager 撤销指定用户的合约状态管理权限
revokeContractWritePermission 撤销指定账户的合约写入权限
revokeDeployAndCreateManager 撤销指定地址的合约部署和数据表创建权限
revokeNodeManager 撤销指定地址的节点配置管理权限
revokeOperator 将指定账户从操作员中移除
revokeSysConfigManager 撤销指定地址的系统配置管理权限
revokeUserTableManager 撤销指定地址对指定数据表的管理权限
switch([s]) 切换到指定 ID 的群组(如从群组 1 切换到群组 2)
select 通过 SQL 语句查询记录
setSystemConfigByKey 通过配置键(Key)设置系统配置值
startGroup 启动指定节点上的指定群组
stopGroup 停止指定节点上的指定群组
unfreezeAccount 解冻账户
unfreezeContract 解冻合约
update 通过 SQL 语句更新记录
updateCommitteeMemberWeight 更新委员会成员的权重
updateThreshold 更新操作权限的阈值