控制台安装与使用全攻略
在上一讲中,我们谈到了 FISCO BCOS 节点的安装。现在,只要再安装控制台,我们就能开始 FISCO BCOS 区块链应用的开发了。
控制台:命令行交互控制台 (简称“控制台”) 是FISCO BCOS 2.0重要的交互式客户端工具,它通过 Java SDK 与区块链节点建立连接,实现对区块链节点数据的读写访问请求。控制台拥有丰富的命令,包括查询区块链状态、管理区块链节点、部署并调用合约等。此外,控制台提供一个合约编译工具,用户可以方便快捷的将Solidity合约文件编译为Java合约文件。
安装很简单,官方文档地址如下:
https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/console/console_of_java_sdk.html
这里推荐通过 Gitee 的方法获取:
curl -#LO https://gitee.com/FISCO-BCOS/console/raw/master/tools/download_console.sh && bash download_console.sh
将conf
目录下的config-example.toml
文件重命名为config.toml
文件。
# 确保在 fisco 目录下,也即 console 与 nodes 的上级目录
mv console/conf/config_example.toml console/conf/config.toml
将节点sdk目录下的ca.crt
、sdk.crt
和sdk.key
文件拷贝到conf
目录下。
# 确保在 fisco 目录下,也即 console 与 nodes 的上级目录
cp nodes/127.0.0.1/sdk/* console/conf
多个环境下的控制台配置
如果控制台需要应对多个区块链网络的话(例如测试环境网络和正式环境网络),那么我们可以通过软链接的方式复制配置文件。
首先我们把多个环境下的conf
文件夹放在console目录下,命名为conf_*
,如conf_main
、conf_test
。
创建软链接:
ln -s conf_* conf
要切换环境时,更新软链接即可:
ln -snf conf_* conf
先确保所有脚本权限足够:
chmod u+x *.sh
执行start.sh
:
./start.sh
出现这个页面,就说明你控制台安装成功了!
具体的命令列表查看:
https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/console/console_of_java_sdk.html
这里枚举一些最常见的命令:
1 查看帮助
h
2 数据查看类操作
查看区块高度
getBlockNumber
根据高度/哈希查看区块/根据高度查哈希
根据哈希查看区块:
getBlockByHash [Hash]
根据高度查看区块:
getBlockByNumber [Num]
根据高度获取对应哈希:
getBlockHashByNumber [Num]
根据哈希查看交易
小Tips:区块中的交易可通过查看区块看到
getTransactionByHash [Hash]
3 账户类操作
新建账户
newAccount
列出账户
listAccount
切换账户
loadAccount [addr]
4 智能合约类操作
合约存放目录为:console/contracts/solidity
4.1 查看ABI
ABI 内包含函数(Method)接口描述与事件(Event)接口描述。
```
listAbi [ContractName]
```
如:
```
listAbi HelloWorld
```
Method List:
其中,name 是函数名,constant 标识该函数是否会改写区块链状态,methodId 是函数 id,Signature 是该函数的用法。
Event List:
同理,name 是事件名,topic 是 Event Signature(即后一个字段 Signature) 的哈希(数字指纹),Signature 是该事件的用法。
4.2 合约部署
包含普通部署/CNS部署两种部署方式。
a)普通部署
deploy [contractName or contractPath]
例子:
deploy HelloWorld
会返回交易地址与合约哈希。
b)CNS部署
CNS(Contract Name Service)通过提供链上合约名称与合约地址映射关系的记录及相应的查询功能,方便调用者通过记忆简单的合约名来实现对链上合约的调用。
deployByCNS contractNameOrPath contractVersion
例子:
deployByCNS HelloWorld 1.0
4.3 合约调用
a)通过普通方式调用
对应普通方式部署:
call [contractNameOrPath] [contractAddress] [function] [parameters]
例子:
call HelloWorld 0xbad9906c55e8762fe5c18e2beb37d7d8db177578 set "HappyNewYear!"
b)通过CNS方式调用
对应CNS方式部署:
callByCNS contractNameOrPath:contractVersion function parameters
例子:
callByCNS HelloWorld:1.0 set "HappyNewYear!"
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!