6

2. 控制台的安装与使用

 3 years ago
source link: https://learnblockchain.cn/article/1959
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

控制台安装与使用全攻略

在上一讲中,我们谈到了 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

  1. 获取控制台

这里推荐通过 Gitee 的方法获取:

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

  1. 配置控制台
  • conf 目录下的 config-example.toml 文件重命名为 config.toml 文件。

    # 确保在 fisco 目录下,也即 console 与 nodes 的上级目录
    mv console/conf/config_example.toml console/conf/config.toml
    
  • 将节点 sdk 目录下的 ca.crtsdk.crtsdk.key 文件拷贝到 conf 目录下。

    # 确保在 fisco 目录下,也即 console 与 nodes 的上级目录
    cp nodes/127.0.0.1/sdk/* console/conf
    
  • 多个环境下的控制台配置

    如果控制台需要应对多个区块链网络的话(例如测试环境网络和正式环境网络),那么我们可以通过软链接的方式复制配置文件。

    首先我们把多个环境下的 conf 文件夹放在 console 目录下,命名为 conf_*,如 conf_mainconf_test

    创建软链接:

    ln -s conf_* conf
    

image20210101170800878.png

要切换环境时,更新软链接即可:

ln -snf conf_* conf
  1. 运行控制台

先确保所有脚本权限足够:

chmod u+x *.sh

执行 start.sh

./start.sh

image20210101170835219.png

出现这个页面,就说明你控制台安装成功了!

控制台的使用

具体的命令列表查看:

https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/console/console_of_java_sdk.html

这里枚举一些最常见的命令:

  • 查看帮助

    h
    
  • 数据查看类操作

    • 查看区块高度

      getBlockNumber
      
    • 根据高度/哈希查看区块/根据高度查哈希

      根据哈希查看区块:
      getBlockByHash [Hash] 
      根据高度查看区块:
      getBlockByNumber [Num]
      根据高度获取对应哈希:
      getBlockHashByNumber [Num]
      
    • 根据哈希查看交易

      小 Tips:区块中的交易可通过查看区块看到

      getTransactionByHash [Hash]
      
  • 账户类操作

    • 新建账户

      newAccount
      
    • 列出账户

      listAccount
      
    • 切换账户

      loadAccount [addr]
      
  • 智能合约类操作

    合约存放目录为:console/contracts/solidity

    • 查看 ABI

      ABI 内包含函数(Method)接口描述与事件(Event)接口描述。

      listAbi [ContractName]
      
      listAbi HelloWorld
      

    image20210102152743837.png

    Method List:

    其中,name 是函数名,constant 标识该函数是否会改写区块链状态,methodId 是函数 id,Signature 是该函数的用法。

    Event List:

    同理,name 是事件名,topic 是 Event Signature(即后一个字段 Signature) 的哈希(数字指纹),Signature 是该事件的用法。

    • 合约部署

      包含普通部署/CNS 部署两种部署方式。

      a)普通部署

      deploy [contractName or contractPath]
      
      deploy HelloWorld
      

      会返回交易地址与合约哈希。

image20210102153753050.png

**b)CNS部署**

> **CNS**(Contract Name Service)通过提供链上合约名称与合约地址映射关系的记录及相应的查询功能,方便调用者通过记忆简单的合约名来实现对链上合约的调用。

```
deployByCNS contractNameOrPath contractVersion
```

例子:

```
deployByCNS HelloWorld 1.0
```
  • 合约调用

    a)通过普通方式调用

    对应普通方式部署:

    call [contractNameOrPath] [contractAddress] [function] [parameters]
    
     call HelloWorld 0xbad9906c55e8762fe5c18e2beb37d7d8db177578 set "HappyNewYear!"
    

image20210102154848770.png

**b)通过CNS方式调用**

对应CNS方式部署:

```
callByCNS contractNameOrPath:contractVersion function parameters
```

例子:

```
 callByCNS HelloWorld:1.0 set "HappyNewYear!"
```

image20210102155025857.png

本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK