门外汉自学系列:[ 五、 cita-cli工具 ]

什么是cita_cli?

cita-cli 是一个简单的 CITA 交互工具,通过这个工具可以让您快速、便捷的查询和编辑链上数据;
cita-cli 获取和安装教程: GitHub - citahub/cita-cli: An easy-to-use CITA command line tool


cita-cli基础指令介绍

下列实例采用 cita-cli 交互界面演示,并附上 bash 指令界面;

查询结果的反馈仅是指定节点上的查询结果,并不代表其他节点的查询信息;

查询指令

查看当前访问的指定节点信息

#cita
cita>info
[ url ]: http://10.0.7.4:2337
[ pwd ]: /root
[ color ]: true
[ debug ]: false
[ json ]: true
[ encryption ]: secp256k1
[ completion_style ]: List
[ edit_style ]: Emacs
[ save_private ]: false

or

cita-cli info

查看 CITA 服务中运行的节点数量

cita>rpc peerCount

{
“jsonrpc”: “2.0”,
“result”: “0x4”,
“id”: 1
}

or

cita-cli rpc peerCount --url http://127.0.0.1:1337

Tips:
测试环境中,新增了一个普通节点,所以在查询结果中显示十六进制 0x4,加上本地节点,共5个节点;
该指令查询的结果是单个节点的回执,可参考文档普通节点增删了解更多信息;

查询区块高度

cita> rpc blockNumber

{
“jsonrpc”: “2.0”,
“result”: “0x577f”,
“id”: 1
}

or

cita-cli rpc blockNumber --url http://127.0.0.1:1337

查询账户余额

cita> rpc getBalance --address 0x6859a022d47f22a153fecb4dd91714a6f8607a2b

{
“jsonrpc”: “2.0”,
“result”: “0xffffffffffffffffffffffffff”,
“id”: 1
}

or

cita-cli rpc getBalance --address 0x6859a022d47f22a153fecb4dd91714a6f8607a2b --url http://127.0.0.1:2337

Tips:
本命令回显是查看超级管理员地址的余额,回执数据为十六进制0xffffffffffffffffffffffffff

查看当前 CITA 服务的信息

cita> rpc getMetaData
{
“id”: 1,
“jsonrpc”: “2.0”,
“result”: {
“blockInterval”: 3000,
“chainId”: 0,
“chainIdV1”: “1”,
“chainName”: “Pressure-Demo-Chain”,
“economicalModel”: 1,
“genesisTimestamp”: 1544493573320,
“operator”: “test-operator”,
“tokenAvatar”: “https://avatars1.githubusercontent.com/u/35361817”,
“tokenName”: “Nervos AppChain Test Token”,
“tokenSymbol”: “NATT”,
“validators”: [
“0x8a8b72f9cdf929605807370771bc98b0e4517e4b”,
“0xdfe4eda85b37c297da16d01faf22738d9ed795fd”,
“0x960d64b7c0fac6bf5c7e307f648178656b415d71”,
“0xdef572f4cc147526ecda02e9f85f511c51908e5b”
],
“version”: 1,
“website”: “https://www.example.com
}
}

or

cita-cli rpc getMetaData --url http://127.0.0.1:2337

编辑指令

切换指定节点

cita> switch --url http://127.0.0.1:1338
[ url ]: http://127.0.0.1:1338
[ pwd ]: /root
[ color ]: true
[ debug ]: false
[ json ]: true
[ encryption ]: secp256k1
[ completion_style ]: List
[ edit_style ]: Emacs
[ save_private ]: false
cita

or

cita-cli switch --url http://127.0.0.1:1338

创建账户

cita> key create
{
“address”: “0x416959dd0903cf216c15d83356b214a82d546aea”,
“private”: “0xf6c1cb749b75bfd59a237f587cdbffba25977a0249afa80445510281df0f3ca7”,
“public”: “0x3cde028b65e74fe2b3035606d6a193054ee87c67a4ecaa4b1d85b72cc9be994c40beadb60db6bec094429de58742d14703c76fe9b4fb054bf3d9be67261ae0b9”
}

or

cita-cli key create
Tips:
什么是账户? 在 CITA 的链上,任何工具符合 CITA 算法生成的账户信息,均可以在任意的 CITA 链上使用;

发送交易

cita> transfer --address 0x416959dd0903cf216c15d83356b214a82d546aea --private-key 0x4466f6fc6a70914775734187ff380ec7cf8fb1b115a73e180f95cedac7fedcd9 --value 66666
{
“id”: 4,
“jsonrpc”: “2.0”,
“result”: {
“hash”: “0x8a1103a30ed92a6deb023ee597ecd945fd6ab7348dfa0d6f7c201a574492388b”,
“status”: “OK”
}
}

or

cita-cli transfer --address 0x416959dd0903cf216c15d83356b214a82d546aea --private-key 0x4466f6fc6a70914775734187ff380ec7cf8fb1b115a73e180f95cedac7fedcd9 --value 66666 --url http://127.0.0.1:2337

Tips:
超级管理员账户在初始化就已经定义,所以可以直接从超级管理员账户转账到创建的新账户;上述指令演示了如何转账一笔数量为66666到 0x416959dd0903cf216c15d83356b214a82d546aea 账户;


:grinning: 很感谢您能够看到这里,如果文中的内容有描述不当,请您在本章节下方指出,我会尽快修改;