第五章 cluos
cluos简介
cluos是一个命令行工具,它可以调用noduos公开的API接口。使用cluos,您需要有一个noduos的节点(IP地址和端口号),并配置noduos加载插件'uosio::chain_api_plugin'。cluos包含其所有命令的文档。查看所有cluos相关命令的列表,只需运行它不带参数:
返回如下:
要获得有关任何特定子命令的帮助,请不带任何参数运行其子命令:
返回如下:
继续查看下一级子目录的帮助:
返回如下:
设置uosio.code权限
uosio.code权限:
在编写合约时,您可能要求您的合约能够广播内联action。要使您的合约具备此能力,您需要使用合约的active权限。但是,出于安全目的,合约不能主动使用active权限签署交易,除非合约的帐户已配置为执行此操作。uosio.code是授予合约active权限的伪权限。以前,需要一个复杂且具有潜在风险的cluos命令来添加YOURCONTRACT@uosio.code到active权限,使用uosio.code帮助程序可以大大简化这一点。
将uosio.code添加到合约的active权限中
当然,其他账户也可以附加或移除本合约的uosio.code权限。
cluos RPC命令
1 version
查看cluos的版本信息。
子命令:
client 检索客户端的版本信息
1.1 version client
检索客户端的版本信息
参数:
无
2 convert
事务或action格式转换。
子命令:
pack_transaction 封装json格式的事务
unpack_transaction 解封json格式的事务
pack_action_data 封装json格式的action
unpack_action_data 解封json格式的action
2.1 pack_transaction
将json格式的事务转换为封装(json)格式。
参数:
transaction TEXT string类型,必填,json格式的已签名事务
2.2 unpack_transaction
将json格式的封装事务还原为未封装格式。
参数:
transaction TEXT string类型,必填,已封装的json格式事务(包含封装好的事务和压缩选项)
2.3 pack_action_data
将json格式的action转化为压缩格式。
参数:
account TEXT string类型,必填,合约账户
name TEXT string类型,必填,action名称
unpacked_action_data TEXT string类型,必填,json形式的action数据
2.4 unpack_action_data
将压缩格式的action转化为json格式。
参数:
account TEXT string类型,必填,合约账户
name TEXT string类型,必填,action名称
packed_action_data TEXT hex string类型,必填,封装的action数据
3 create
创建各种名目,无论是否连接到链上。
子命令:
key 创建并打印新的公私钥对
account 在区块链上新建一个账户(假设系统合约没有限制RAM的使用)
3.1 create key
创建公私钥对。
参数:
无
3.2 create account
创建账户。
参数:
creator TEXT string类型,必填,创建者账户名
name TEXT string类型,必填,新建账户名
OwnerKey TEXT string类型,必填,新账户owner权限的公钥
ActiveKey TEXT string类型,新账户active权限的公钥
4 get
从链上获取各种信息。
子命令:
info 获取链的实时信息
block 检索链上某个区块
account 检索链上某个账户
code 检索某个账户的合约和ABI
abi 检索某个账户的ABI
table 检索数据库表格的内容
scope 检索某个合约的scopes和tables列表
currency 检索相关的标准代币信息
accounts 检索与给定公钥相关联的所有账户
servants 检索服务于给定账户的所有账户
transaction 检索链上某个事务
actions 检索与给定账户相关的所有action
schedule 检索生产者一览表
transaction_id 获取给定事务对象的事务id
4.1 get info
获取区块链实时信息。
参数:
无
4.2 get block
获取区块信息。
参数:
block TEXT string类型,必填,要检索的区块高度或区块id
4.3 get account
获取账户信息。
参数:
name TEXT string类型,必填,将检索的账户名
core-symbol TEXT string类型,选填,所要查询的代币,预设为链的核心代币
4.4 get code
获取合约信息。
参数:
name TEXT string类型,必填,将检索合约的账户名
4.5 get abi
获取合约的abi。
参数:
name TEXT string类型,必填,将检索的账户名
4.6 get table
检索表格。
参数:
account TEXT string类型,必填,表格拥有者账户名(required)
scope TEXT string类型,必填,指定表的范围
table TEXT string类型,必填,合约abi中指定的表格名称
4.7 get scope
检索表格区域。
参数:
contract TEXT string类型,必填,合约名称
4.8 get currency
查询账户余额与代币状态。
子命令:
balance 检索账户下指定代币的余额
stats 检索指定代币的状态信息
4.8.1 get currency balance
查询账户余额。
参数:
contract TEXT string类型,必填,该代币的合约
account TEXT string类型,必填,查询余额的账户
symbol TEXT string类型,如果合约有多种代币,可指定代币名
4.8.2 get currency stats
查询代币状态。
参数:
contract TEXT string类型,必填,该代币的合约
symbol TEXT string类型,必填,如果合约有多种代币,可指定代币名
4.9 get accounts
查询与公钥关联的所有账户。
参数:
public_key TEXT string类型,必填,检索的公钥
4.10 get servants
返回可控账户信息。
参数:
account TEXT string类型,必填,控制的账户名
4.11 get transaction
查询一个区块链事务。
参数:
id TEXT string类型,必填,将检索的事务ID
4.12 get actions
查询账户所有操作。
参数:
account_name TEXT string类型,必填,将查询的账户名
pos INT 整型,起始位置
offset INT 整型,偏移量,正数返回[pos,pos+offset],负数返回[pos-offset,pos)
4.13 get schedule
获取生产者信息。
参数:
无
4.14 get transaction_id
通过交易内容获取交易ID。
参数:
transaction TEXT string类型,必填,事务的json字符串或包含事务的文件名。
5 set
设置或更新区块链状态。
子命令:
code 设置wast或wasm路径
abi 创建或更新abi
contract 创建或更新账户合约
account 设置权限
action 设置操作权限
5.1 set code
设置wast或wasm路径。
参数:
account TEXT string类型,必填,部署合约代码的账户名
code-file TEXT 包含WASM文件的完整路径
5.2 set abi
创建或更新abi。
参数:
account TEXT string类型,必填,部署合约abi的账户名
abi-file TEXT 包含ABI文件的完整路径
5.3 set contract
创建或更新账户合约。
参数:
account TEXT string类型,必填,部署合约的账户
contract-dir TEXT 包含wasm和abi的路径
wasm-file TEXT 包含WASM文件的相对于contract-dir的路径
abi-file TEXT 包含ABI文件的相对于contract-dir的路径
5.4 set account
设置权限。
子命令:
permission 设置处理帐户权限的参数
5.4.1 set account permission
设置处理帐户权限的参数
参数:
account TEXT string类型,必填,设置权限的账户
permission TEXT string类型,必填,设置或删除的权限名
authority TEXT string类型,必填,设置该权限的公钥或控制权限,json字符串或文件,NULL表示删除该权限
parent TEXT 父权限,默认为active权限
5.5 set action
设置操作权限。
子命令:
permission 设置处理帐户权限的参数
5.5.1 set action permission
设置处理帐户权限的参数
参数:
account TEXT string类型,必填,设置权限的账户
code TEXT string类型,必填合约拥有者
type TEXT string类型,必填,action名称
requirement TEXT string类型,必填,设置执行该action的权限名,NULL表示删除
6 transfer
代币转账。
参数:
sender TEXT string类型,必填,发送账户
recipient TEXT string类型,必填,接收账户
amount TEXT string类型,必填,发送的代币数量
memo TEXT 备注
7 net
与p2p网络进行交互。
子命令:
connect 开始一个新的连接
disconnect 关闭一个已经存在的连接
status 一个已连接节点的状态
peers 所有连接节点状态
7.1 net connect
点对点连接。
参数:
host TEXT string类型,必填,主机名:端口形式
7.2 net disconnect
断开点对点连接。
参数:
host TEXT string类型,必填,主机名:端口形式
7.3 net status
返回指定URL节点状态。
参数:
host TEXT string类型,必填,主机名:端口形式
7.4 net peers
返回所有连接节点。
参数:
无
8 wallet
与钱包进行交互。
子命令:
create 创建新的钱包
open 打开钱包
lock 锁定钱包
lock_all 锁定所有钱包
unlock 解锁钱包
import 向钱包导入私钥
remove_key 从钱包移除公私钥对
create_key 在钱包中创建公私钥对
list 列出已打开的钱包, * 表示已解锁
keys 列出所有解锁钱包中的公钥
private_keys 列出已解锁钱包中的私钥
stop 停止kuosd进程
8.1 create
创建新的钱包。
参数:
无
8.2 open
打开钱包。
参数:
无
8.3 lock
锁定钱包。
参数:
无
8.4 lock_all
锁定所有钱包。
参数:
无
8.5 unlock
解锁钱包。
参数:
无
8.6 import
向钱包导入私钥。
参数:
无
8.7 remove_key
移除公私钥对。
参数:
key TEXT string类型,必填,公钥
8.8 create_key
生成公私钥对。
参数:
key_type K1/R1 公钥类型(K1/R1)
8.9 list
列出所有钱包。
参数:
无
8.10 keys
列出钱包中所有公钥。
参数:
无
8.11 private_keys
列出钱包中所有私钥。
参数:
无
8.12 stop
停止钱包进程。
参数:
无
9 sign
事务签名。
参数:
transaction TEXT string类型,必填,事务的json字符串,或定义事务的文件
10 push
推送事务上链。
子命令:
action 推送单操作事务
transaction 推送任意事务(单操作或多操作)
transactions 推送多个任意事务
10.1 push action
推送单操作事务。
参数:
account TEXT string类型,必填,合约账户
action TEXT string类型,必填,action的json字符串或文件
data TEXT 操作的参数
10.2 push transaction
推送任意事务(单操作或多操作)。
参数:
transaction TEXT string类型,必填,事务的json字符串或文件
10.3 push transactions
推送多个任意事务。
参数:
transactions TEXT string类型,必填,事务的json字符串或文件
11 multisig
提案相关操作。
子命令:
propose 发起单action提案
propose_trx 发起事务(任意数量action)提案
review 提案预览
approve 支持提案
unapprove 取消对提案支持
invalidate 取消对所有的未执行提案的支持
cancel 取消提案
exec 执行提案
11.1 multisig propose
发起提案(action)。
参数:
proposal_name TEXT string类型,必填,提案名称
requested_permissions TEXT string类型,必填,定义所需权限的json字符串或文件
trx_permissions TEXT string类型,必填,定义事务所需权限的json字符串或文件
contract TEXT string类型,必填,合约名
action TEXT string类型,必填,调用的action
data TEXT string类型,必填,定义action的json字符串或文件
proposer TEXT string类型,提案发起者
proposal_expiration 提案过期时间
11.2 multisig propose_trx
发起提案(transaction)
参数:
proposal_name TEXT string类型,必填,提案名称
requested_permissions TEXT string类型,必填,定义所需权限的json字符串或文件
transaction TEXT string类型,必填,定义事务的json字符串或文件
proposer TEXT string类型,提案发起者
11.3 multisig review
提案预览。
参数:
proposer TEXT string类型,必填,提案发起者
proposal_name TEXT string类型,必填,提案名称
11.4 multisig approve
提案投票。
参数:
proposer TEXT string类型,必填,提案发起者
proposal_name TEXT string类型,必填,提案名称
permissions TEXT string类型,必填,定义投票权限的json字符串或文件
proposal_hash TEXT 提案哈希(即事务ID)
11.5 multisig unapprove
取消投票。
参数:
proposer TEXT string类型,必填,提案发起者
proposal_name TEXT string类型,必填,提案名称
permissions TEXT string类型,必填,定义权限的json字符串或文件
11.6 multisig invalidate
撤回对之前所有该账户通过、但未被最终执行的提案的投票。
参数:
invalidator TEXT string类型,必填,取消投票的账户名
11.7 multisig cancel
取消提案。
参数:
proposer TEXT string类型,必填,提案发起者
proposal_name TEXT string类型,必填,提案名称
canceler TEXT string类型,取消投票人
11.8 multisig exec
执行提案。
参数:
proposer TEXT string类型,必填,提案发起者
proposal_name TEXT string类型,必填,提案名称
executer TEXT string类型,提案执行者
12 system
系统合约相关操作。
子命令:
newaccount 新建账户
regproducer 注册成为生产者
unregprod 取消注册生产者
voteproducer 对生产者投票
cancelvote 取消对生产者投票
listproducers 列出所有生产者
delegatebw 抵押带宽
undelegatebw 赎回抵押资金
listbw 列出抵押资金
bidname 账户竞拍
bidnameinfo 获取竞拍信息
buyram 购买RAM
sellram 出售RAM
claimrewards 领取生产者奖励
canceldelay 取消延迟交易
12.1 system newaccount
新建账户。
参数:
creator TEXT string类型,必填,创建者
name TEXT string类型,必填,将创建的新账户
OwnerKey TEXT string类型,必填,新账户的owner公钥
ActiveKey TEXT string类型,新账户的activer公钥
12.2 system regproducer
注册成为生产者。
参数:
account TEXT string类型,必填,注册成为生产者的账户
producer_key TEXT string类型,生产者公钥
url TEXT 生产者信息URL
ulord_addr TEXT ulord地址
12.3 system unregprod
取消注册生产者。
参数:
account TEXT string类型,必填,取消注册的账户名
12.4 system voteproducer
对生产者投票。
子命令:
prods 对一个或多个生产者投票
approve 新增一个生产者到投票队列
unapprove 从投票队列中移除一个生产者
12.4.1 system voteproducer prods
对一个或多个生产者投票。
参数:
voter TEXT string类型,必填,投票者
quantity TEXT string类型,必填,投票金额
producers TEXT ... string类型,一个或多个生产者
12.4.2 system voteproducer approve
新增一个生产者到投票队列。
参数:
voter TEXT string类型,必填,投票者
producer TEXT string类型,必填,新增的生产者
12.4.3 system voteproducer unapprove
从投票队列中移除一个生产者。
参数:
voter TEXT string类型,必填,投票者
producer TEXT string类型,必填,移除的生产者
12.5 system cancelvote
取消投票。
参数:
voter TEXT string类型,必填,投票者
quantity TEXT string类型,必填,取消票数
producers TEXT ... string类型,必填,生成者(一个或多个)
12.6 system listproducers
列出所有生产者。
参数:
无
12.7 system delegatebw
抵押CPU和NET。
参数:
from TEXT string类型,必填,抵押付费账户名
receiver TEXT string类型,必填,资源接收者
stake_net_quantity TEXT string类型,必填,抵押的NET带宽
stake_cpu_quantity TEXT string类型,必填,抵押的CPU带宽
12.8 system undelegatebw
取消抵押。
参数:
from TEXT string类型,必填,取消抵押的账户名
receiver TEXT string类型,必填,接收赎回资金的账户
unstake_net_quantity TEXT string类型,必填,取消抵押的网络带宽
unstake_cpu_quantity TEXT string类型,必填,取消抵押的CPU带宽
12.9 system listbw
列出账户抵押金额。
参数:
account TEXT string类型,必填,查询的账户名
12.10 system bidname
账户竞拍。
参数:
bidder TEXT string类型,必填,竞拍者
newname TEXT string类型,必填,被竞拍账户
bid TEXT string类型,必填,竞拍价格
12.11 system bidnameinfo
列出账户的竞拍信息。
参数:
newname TEXT string类型,必填,被竞拍账户名
12.12 system buyram
购买内存。
参数:
payer TEXT string类型,必填,付费账户
receiver TEXT string类型,必填,接收账户
amount TEXT string类型,必填,购买RAM的代币数量,或使用--bytes/--kbytes,以字节为单位衡量
12.13 system sellram
出售内存。
参数:
account TEXT string类型,必填,接收代币的账户
bytes UINT 无符号整型,必填,卖出的RAM数量
12.14 system claimrewards
BP领取奖励。
参数:
owner TEXT string类型,领取奖励的账户名
12.15 system canceldelay
取消延迟交易。
参数:
canceling_account TEXT string类型,必填,原始事务的授权账户
canceling_permission TEXT string类型,必填,原始事务的授权权限
trx_id TEXT string类型,必填,原始事务的ID
Last updated