EOS常用API介绍

目录

version

create

get

set

transfer

net

history

net

producer

kuosd

wallet

sign

push

json


version

cleos:返回 cleos 子命令和可选参数

# cleos

运行结果:

参数说明:

-h,--help    //获得帮助信息,使用 -h 或者 --help

-H,--host TEXT=localhost    //运行节点主机地址,例如 localhost,则写为 -H localhost 或者 --host localhost

-p,--port UINT=8888    //运行节点端口,例如8888,则写为 -p 8888 或者 --port 8888

--wallet-host TEXT=localhost    //钱包运行地址

--wallet-port UINT=8888    //钱包运行端口

-v,--verbose    //输出详细错误操作信息

子命令说明:

version    //返回版本信息

create    //创建多个项目,基于或非基于区块链的

get    //从区块链返回多个项目和信息

set    //设置或者更新区块链状态

transfer    //账户间转移EOS

net    //与本地 P2P 网络进行交互

wallet    //与本地钱包进行交互

sign    //对事务进行签名

push    //向区块链推送任意事务

 

cleos version:返回 cleos version 子命令

# cleos version

运行结果:

子命令说明:

client    //返回客户端版本号

 

cleos version client:返回客户端版本号

# cleos version clinet

运行结果:

 

create

cleos create:返回 cleos create 子命令

# cleos create

运行结果:

子命令说明:

key    //创建新钥对(公钥和私钥)并打印

account    //创建基于区块链的新账户

 

cleos create key:创建新公/私钥对

# cleos create key

运行结果:

 

cleos create account:返回 cleos create account 顺位项和可选参数

# cleos create account

运行结果:

顺位项说明:

creator TEXT    //新账户创建者,例如 eosio

name    TEXT    //新账户名,例如 wengyingfeng

OwnerKey TEXT    //新账户 owner 权限公钥

ActiveKey TEXT    //新账户 active 权限公钥

可选参数说明:

-x,--expiration    //设置事务失效时间(秒),默认为 30 秒

-f,--force-unqiue    //确保事务唯一。该操作会消耗额外的带宽并移除保护以防同样的交易被执行。

-s,--skip-sign    //指定事务是否需要签名

-j,--json    //以JSON格式打印结果

-d,--dont-broadcast    //不向网络广播事务(仅打印标准输出)

-p,--permission TEXT ...    //账户和权限授权,格式如 account@permission (默认为 creator@active)

--max-cpu-usage UINT    //设置 CPU 上限,以消耗指令为单位,用于执行事务(默认为 0 即无限制)

--max-net-usage UINT    //设置网络上限,以字节为单位,用于事务(默认为 0 即无限制)

 

cleos create account creator name OwnerKey ActiveKey:创建账户

# cleos create account -j eosio wengyingfeng EOS5KLqLjzDkZZQpAsg7SD7vta5PNjfcd7RQM8axnNjGJTuKwTsVL EOS5upULfQVEdUctCe3cCrAjAZ6iG8BFFH5cV8wZTKzrHuGRbfsvw

运行结果:

 

get

cleos get:返回 cleos get 子命令

# cleos get

运行结果:

子命令说明:

info    //获得当前区块链信息

block    //返回块信息

account    //返回账户信息

code    //返回账户代码和 ABI 接口

table    //返回数据库表内容

currency    //返回货币信息

accounts    //返回指定公钥关联的账户

servants    //返回指定账户下属账户

transaction    //返回一条事务信息

transcations    //返回指定账户所属全部事务信息

 

cleos get info:获得当前区块链信息

# cleos get info

运行结果:

 

cleos get block:返回 cleos get block 顺位项

# cleos get block

运行结果:

顺位项说明:

block TEXT    //指定返回信息的块号(block_num)或者块编号(id)

 

cleos get block num:依据块号(block_num)返回块信息

# cleos get block 1117

运行结果:

 

cleos get block id:依据块编号(id)返回块信息

# cleos get block 0000045d3adcb70c0dd0ef18cb6135dc8de121ba61e632cc336a0e66667df287

运行结果:

备注:按块编号(id)搜索因为 lower_bound() 函数原因(靠近下限取值),返回信息未必为所需块信息,建议对返回块 id 进行校验。

 

cleos get account:返回 cleos get account 顺位项

# cleos get account

运行结果:

顺位项说明:

name TEXT    //指定返回信息的账户名

 

cleos get account name:返回指定账户名的账户信息

# cleos get account wengyingfeng

运行结果:

 

cleos get code:返回 cleos get code 顺位项和可选参数

# cleos get code

运行结果:

顺位项说明:

name TEXT    //指定需要返回代码的账户名

可选参数说明:

-c,--code TEXT    //保存 .wast 文件并命名

-a,--abi TEXT    //保存 .abi 文件并命名

 

cleos get code name:返回指定账户名的代码信息

# cleos get code eosio

运行结果:

 

cleos get table:返回 cleos get table 顺位项和可选参数

# cleos get table

运行结果:

顺位项说明:

contract TEXT    //拥有数据表的合约名称

scope TEXT    //目标表相关合约作用域

table    TEXT    //合约 ABI 文件指定的表名称

可选参数说明:

-b,--binary UINT    //将值以二进制形式返回

-l,--limit UINT    //设置最大返回行数

-k,--key TEXT    // ABI 定义的索引键,默认为主键

-L,--lower TEXT    //键值靠近下限,默认至起首

-U,--upper TEXT    //键值靠近上限,默认至结尾

 

cleos get table contract scope table:返回指定表信息

# cleos get table eosio.token user account

运行结果:

备注:返回结果与官方文档不一致,未知是程序原因还是测试原因,需进一步验证。

 

cleos get currency:返回 cleos get currency 可选参数和子命令

# cleos get currency

运行结果:

可选参数说明:

-h,--help    //打印帮助信息

子命令说明:

balance    //返回账户内指定货币的余额

stats    //返回指定货币的统计信息

 

cleos get currency balance:返回 cleos get currency 顺位项

# cleos get currency balance

运行结果:

顺位项说明:

contract TEXT    //货币合约名称

account TEXT    //查询账户

symbol TEXT    //指定货币符号,例如 EOS ,此项非必须

 

cleos get currency balance contract account:返回指定账户货币余额

# cleos get currency balance eosio.token wengyingfeng

运行结果:

 

cleos get currency balance contract account symbol:返回指定账户指定货币余额

# cleos get currency balance eosio.token wengyingfeng EOS

运行结果:

备注:此命令存在 BUG,无论搜索何种货币都返回排序第一的货币余额。

 

cleos get currency stats:返回 cleos get currency stats 顺位项

# cleos get currency stats

运行结果:

顺位项说明:

contract TEXT    //货币合约名称

symbol TEXT    //指定货币符号,例如 EOS ,此项非必须

 

cleos get currency stats contract:返回指定货币合约统计信息

# cleos get currency stats eosio.token

运行结果:

备注:该命令未返回任何数据,可能存在问题。

 

cleos get currency stats contract symbol:返回指定货币合约内指定货币的统计信息

# cleos get currency stats eosio.token EOS

运行结果:

备注:此命令当前版本会出错,显示未找到指定货币关键字。

 

cleos get accounts:返回 cleos get accounts 顺序项

# cleos get accounts

运行结果:

顺序项说明:

public_key TEXT    //指定想返回其关联账户的公钥

 

cleos get accounts public_key:返回指定公钥关联的账户

# cleos get accounts EOS5KLqLjzDkZZQpAsg7SD7vta5PNjfcd7RQM8axnNjGJTuKwTsVL

运行结果:

 

cleos get servants:返回 cleos get servants 顺位项

# cleos get servants

运行结果:

顺位项说明:

account TEXT    //指定想返回其控制账户的账户名

 

cleos get servants account:返回指定账户的控制账户

# cleos get servants eosio

运行结果:

 

cleos get transaction:返回 cleos get transaction 顺位项

# cleos get transaction

运行结果:

顺位项说明:

id TEXT    //指定需要返回信息的事务编号

 

cleos get transaction id:返回指定编号的事务信息

# cleos get transaction 6979d9c5f0e97df49d9dd441edf462f7bcd355106ed310518b16702db5c38342

运行结果:

 

cleos get transactions:返回 cleos get transactions 顺位项和可选参数

# cleos get transactions

运行结果:

顺位项说明:

account_name TEXT    //目标账户名

skip_seq TEXT    //事务起始号,例如想从第 3 条事务开始返回信息,就填 3 (事务起始 seq_num 为 0),此项非必须

num_seq TEXT    //返回事务条数,例如想返回 3 条事务,就填 3,此项非必须

可选参数说明:

-j,--json    //打印完整 JSON 数据

 

cleos get transactions -j account_name:返回指定账户全部事务信息

# cleos get transactions -j eosio.token

运行结果:

备注:当前版本执行此命令请加上参数 -j 或者 --json ,不然系统会报错。

 

cleos get transactions account_name skip_seq:返回指定账户,起始号事务信息

# cleos get transactions -j eosio.token 3

运行结果:

 

cleos get transactions -j account_name skip_seq num_seq:返回指定账户、起始号及条数事务信息

# cleos get transactions -j eosio.token 3 1

运行结果:

 

set

cleos set:返回 cleos set 可选参数和子命令

# cleos set

运行结果:

可选参数说明:

-h,--help    //打印帮助信息

子命令说明:

contract    //基于账户创建或更新合约

account    //设置或更新区块链账户状况

action    //设置或更新区块链操作状况

 

cleos set contract:返回 cleos set contract 顺位项和可选参数

# cleos set contract

运行结果:

顺位项说明:

account TEXT    //发行合约的账户

contract-dir TEXT    //.wast 和 .abi 文件路径

wast-file TEXT    //相对于合约文件夹, WAST 文件路径,此项非必须

abi-file TEXT    //相对于合约文件夹, ABI 文件路径,此项非必须

可选参数说明:

-h,--help    //打印帮助信息

-a,--abi TEXT    //相对于合约文件夹, ABI 文件路径

-x,--expiration    //设置事务失效时间(秒),默认为 30 秒

-f,--force-unqiue    //确保事务唯一。该操作会消耗额外的带宽并移除保护以防同样的交易被执行。

-s,--skip-sign    //指定事务是否需要签名

-j,--json    //以JSON格式打印结果

-d,--dont-broadcast    //不向网络广播事务(仅打印标准输出)

-p,--permission TEXT ...    //账户和权限授权,格式如 account@permission (默认为 creator@active)

--max-cpu-usage UINT    //设置 CPU 上限,以消耗指令为单位,用于执行事务(默认为 0 即无限制)

--max-net-usage UINT    //设置网络上限,以字节为单位,用于事务(默认为 0 即无限制)

 

cleos set contract account contract-dir:设置指定合约

# cleos set contract eosio build/contracts/eosio.bios -j -p eosio

运行结果:

 

cleos set account:返回 cleos set account 可选参数和子命令

# cleos set account

运行结果:

可选参数说明:

-h,--help    //打印帮助信息

子命令说明:

permission    //通过参数处理账户权限

 

cleos set account permission:返回 cleos set account permission 顺位项和可选参数

# cleos set account permission

运行结果:

顺位项说明:

account TEXT    //设置或删除权限的账户

permission TEXT    //设置或删除权限的名称

authority TEXT    //具体权限设置,JSON格式

parent TEXT    //上级父权限(默认为 Active ),此项非必须

可选参数说明:

-h,--help    //打印帮助信息

-x,--expiration    //设置事务失效时间(秒),默认为 30 秒

-f,--force-unqiue    //确保事务唯一。该操作会消耗额外的带宽并移除保护以防同样的交易被执行。

-s,--skip-sign    //指定事务是否需要签名

-j,--json    //以JSON格式打印结果

-d,--dont-broadcast    //不向网络广播事务(仅打印标准输出)

-p,--permission TEXT ...    //账户和权限授权,格式如 account@permission (默认为 creator@active)

--max-cpu-usage UINT    //设置 CPU 上限,以消耗指令为单位,用于执行事务(默认为 0 即无限制)

--max-net-usage UINT    //设置网络上限,以字节为单位,用于事务(默认为 0 即无限制)

 


 

cleos set account permission account permission authority:设置或删除权限,默认父节点

# cleos set account permission -j wengyingfeng test '{"threshold":"1", "keys":[{ "key":"EOS5upULfQVEdUctCe3cCrAjAZ6iG8BFFH5cV8wZTKzrHuGRbfsvw", "weight":"1" }], "accounts":[]}'

运行结果:

备注: authority JSON 格式参见 https://www.jianshu.com/p/7cc4736ac6da

 

cleos set account permission account permission authority parent:设置或删除权限,指定父节点

# cleos set account permission -j wengyingfeng blog '{"threshold":"1", "keys":[{ "key":"EOS5upULfQVEdUctCe3cCrAjAZ6iG8BFFH5cV8wZTKzrHuGRbfsvw", "weight":"1" }], "accounts":[]}' test

运行结果:

 

cleos set account permission account permission NULL:删除指定权限

# cleos set account permission -j wengyingfeng blog NULL

运行结果:

备注:如果删除权限有子节点,需要先删除子节点。

 

cleos set action:返回 cleos set action 可选参数和子命令

# cleos set action

运行结果:

可选参数说明:

-h,--help    //打印帮助信息

子命令说明:

permission    //通过参数处理账户权限

 

cleos set action permission:返回 cleos set action permission 顺位项和可选参数

# cleos set action permission

运行结果:

顺位项说明:

account TEXT    //设置或删除权限的账户

code TEXT    //拥有操作事务代码的账户

type TEXT    //操作类型

requirement TEXT    //执行指定操作所需权限

可选参数说明:

-h,--help    //打印帮助信息

-x,--expiration    //设置事务失效时间(秒),默认为 30 秒

-f,--force-unqiue    //确保事务唯一。该操作会消耗额外的带宽并移除保护以防同样的交易被执行。

-s,--skip-sign    //指定事务是否需要签名

-j,--json    //以JSON格式打印结果

-d,--dont-broadcast    //不向网络广播事务(仅打印标准输出)

-p,--permission TEXT ...    //账户和权限授权,格式如 account@permission (默认为 creator@active)

--max-cpu-usage UINT    //设置 CPU 上限,以消耗指令为单位,用于执行事务(默认为 0 即无限制)

--max-net-usage UINT    //设置网络上限,以字节为单位,用于事务(默认为 0 即无限制)

 

cleos set action permission account code type requirement:设置参数处理账户权限

# cleos set action permission -j wengyingfeng wengyingfeng create active

运行结果:

 

cleos set action permission  account code type NULL:删除操作权限

# cleos set action permission -j wengyingfeng wengyingfeng create NULL

运行结果:

 

transfer

cleos transfer:返回 cleos transfer 顺位项和可选参数

# cleos transfer

运行结果:

顺位项说明:

sender TEXT    //发送 EOS 账户

recipient TEXT    //接收 EOS 账户

amount UINT    // EOS 数量

memo TEXT    //备注,此项非必须

可选参数说明:

-x,--expiration    //设置事务失效时间(秒),默认为 30 秒

-f,--force-unqiue    //确保事务唯一。该操作会消耗额外的带宽并移除保护以防同样的交易被执行。

-s,--skip-sign    //指定事务是否需要签名

-j,--json    //以JSON格式打印结果

-d,--dont-broadcast    //不向网络广播事务(仅打印标准输出)

-p,--permission TEXT ...    //账户和权限授权,格式如 account@permission (默认为 creator@active)

--max-cpu-usage UINT    //设置 CPU 上限,以消耗指令为单位,用于执行事务(默认为 0 即无限制)

--max-net-usage UINT    //设置网络上限,以字节为单位,用于事务(默认为 0 即无限制)

备注:本命令默认调用账户 eosio 上的货币合约,请保证货币合约已经在 eosio 上部署并正常运转,否则此命令会报错。

 

cleos transfer sender recipient amount:转账不带备注

# cleos transfer user tester 500000

运行结果:

 

cleos transfer sender recipient amount memo:转账带备注

# cleos transfer user tester 500000 Candy

运行结果:

 

net

1.get_info

返回包含区块链的各种详细信息的对象。

https://rpc.eosio.org/v1/chain/get_info

示例:

curl --request POST --url https://rpc.eosio.org/v1/chain/get_info

 

2.get_block

返回一个对象,其中包含有关区块链上特定块的各种详细信息。

https://rpc.eosio.org/v1/chain/get_block

参数:

block_num_or_id : string类型,区块高度或区块ID

示例:

curl --request POST --url https://rpc.eosio.org /v1/chain/get_block --data '{"block_num_or_id":"10000"}'

 

3.get_account

返回一个对象,其中包含有关区块链上特定帐户的各种详细信息。

https://rpc.eosio.org/v1/chain/get_account

参数:

account_name:string类型,账户名

示例:

curl --request POST --url https://rpc.eosio.org/v1/chain/get_account --data '{"account_name":"eosio"}'

 

4.get_abi

返回某个账户下的智能合约abi信息。

https://rpc.eosio.org/v1/chain/get_abi

参数:

account_name:string类型,账户名

示例:

curl --request POST --url https://rpc.eosio.org/v1/chain/get_abi --data '{"account_name":"eosio"}'

 

5.get_code

返回一个对象,其中包含区块链上特定智能合约的各种详细信息。

https://rpc.eosio.org/v1/chain/get_code

参数:

account_name:string类型,账户名示例:

curl --request POST --url https://rpc.eosio.org/v1/chain/get_code --data '{"account_name":"eosio","code_as_wasm":true}'

6.get_raw_code_and_abi

返回一个对象,其中包含区块链上特定智能合约的各种详细信息及abi。

https://rpc.eosio.org/v1/chain/get_raw_code_and_abi

参数:

account_name:string类型,账户名

示例:

curl --request POST --url https://rpc.eosio.org/v1/chain/get_raw_code_and_abi --data '{"account_name":"eosio"}'

 

7.get_table_rows

返回一个对象,该对象为指定表中的行。

https://rpc.eosio.org/v1/chain/get_table_rows

参数:

scope : string类型,区域名称

code: string类型,帐户名称

table : string类型,表名称

json : boolean类型

lower_bound : string类型,可选,索引下限

upper_bound : string类型,可选,索引上限

limit : int32类型,可选,限制返回数据条数,默认为10

index_position:string类型,要使用的索引序号,例如,主键索引为1或primary,次级(二级)索引为2或secondary,三级索引为3,默认值:1

key_type:string类型,索引键类型,例如i64或name

encode_type:string类型,编码类型,dec或hex,默认值:dec

reverse:boolean类型,根据索引逆序输出,默认false

示例:

curl --request POST --url https://rpc.eosio.org/v1/chain/get_table_rows --data '{"scope":"eosio.token","code":"eosio.token","table":"accounts","json":"false","lower_bound":0,"upper_bound":100,"limit":10}'

 

8.get_currency_balance

获取指定账户下货币余额。

https://rpc.eosio.org/v1/chain/get_currency_balance

参数:

code : string类型,合约账户

account_name:string类型,所要查询的账户

symbol :string类型,可选,要查询的货币符号(不写则列出所有)示例:

curl --request POST --url https://rpc.eosio.org/v1/chain/get_currency_balance --data '{"code":"eosio.token","account":"testaccount1","smybol": "EOS"}'

9.get_currency_stats

返回指定货币的数据统计结果。

https://rpc.eosio.org/v1/chain/get_currency_stats

参数:

code : string参数,合约名称

symbol : string类型,统计数据的货币符号

示例:

curl --request POST --url https://rpc.eosio.org/v1/chain/get_currency_stats --data '{"code":"eosio.token","symbol":"EOS"}'

 

10.get_producers

返回生产节点信息。

https://rpc.eosio.org/v1/chain/get_producers

参数:

limit : uint32类型,返回数量限制

lower_bound : string类型,下限

json : boolean类型,以JSON格式返回结果示例:

curl --request POST --url https://rpc.eosio.org/v1/chain/get_producers --data '{"limit":20,"lower_bound":"testaccout1","json":"false"}'

 

11.abi_json_to_bin

将json格式内容转换成十六进制字符串

https://rpc.eosio.org/v1/chain/abi_json_to_bin

参数:

code : string类型,合约名称

action : string类型,action名称

args : json类型,action参数示例:

curl --request POST --url https://rpc.eosio.org/v1/chain/abi_json_to_bin --data '{"code":"eosio","action":"delegatebw","args": {"from":"testaccount1","receiver":"testaccount2","stake_net_quantity":"100.0000 EOS","stake_cpu_quantity":"100.0000 EOS","transfer":0}}'

 

12.abi_bin_to_json

将十六进制字符串转换为json格式。

https://rpc.eosio.org/v1/chain/abi_bin_to_json

参数:

code : string类型,合约名称

action : string类型,action名称

binargs : string类型,action的十六进制格式

示例:

curl --request POST --url https://rpc.eosio.org/v1/chain/abi_bin_to_json --data '{"code":"eosio","action":"delegatebw","binargs":"10f2d4142193b1ca20f2d4142193b1ca40420f000000000004454f530000000040420f000000000004454f530000000000"}'

 

13.push_transaction

向链上推送事务。

https://rpc.eosio.org/v1/chain/push_transaction

参数:

compression : string类型,是否压缩

transaction : json类型,事务

signatures : string类型,签名集合

示例:

curl --request POST --url https://rpc.eosio.org/v1/chain/push_transaction --data '{"compression":"none","transaction":{"expiration":"2018-12-28T04:38:28","ref_block_num":1872,"ref_block_prefix":1884381553,"context_free_actions":[],"actions":[{"account":"eosio","name":"delegatebw","authorization":[{"actor":"tobetioadmax","permission":"active"}],"data":"d08d4c86baac0ecd20f2d4142193b1ca40420f000000000004554f530000000040420f000000000004554f530000000000"}],"transaction_extensions":[]},"signatures":["SIG_K1_KZxLe83ERHU1QLBJeSuii4dZtpYdNnp3HTrN6CgnWnU7R54f3eQNoX1EM19ekY7Nk2isVR47Qbi1yro5EaeE7kzB53c8L5"]}'

history

14.get_actions

返回action详情。

https://rpc.eosio.org/v1/history/get_actions

参数:

pos : int32类型,起始位置

offset : int32类型,偏移量

account_name : string类型,账户名

示例:

curl --request POST --url https://rpc.eosio.org/v1/history/get_actions --data '{"pos":0,"offset":100,"account_name":"eosio"}'

 

15.get_transaction

返回事务详情。

https://rpc.eosio.org/v1/history/get_transaction

参数:

id : string类型,事务ID

需要参数列表中的block_num_hint。

示例:

curl --request POST --url https://rpc.eosio.org/v1/history/get_transaction --data '{"id":"c7e8abec0d7c12622d59bcb11b8df0e08173f1e40ad0dfd741805f3aee320402"}'

 

16.get_key_accounts

返回给定某个公钥下的所有账户。

https://rpc.eosio.org/v1/history/get_key_accounts

参数:

public_key : string类型,公钥

示例:

curl --request POST --url https://rpc.eosio.org/v1/history/get_key_accounts --data '{"public_key":"EOS8VrEtzikkqQBokT5ECirQQZ4Qpkh1p31spGSgTCHX95T86tU7Y"}'

 

17.get_controlled_accounts

返回控制的账户。

https://rpc.eosio.org/v1/history/get_controlled_accounts

参数:

controlling_account : string类型,账户名

示例:

curl --request POST --url https://rpc.eosio.org/v1/history/get_controlled_accounts --data '{"controlling_account":"eosio"}'

net

18.connect

连接某个节点。

https://rpc.eosio.org/v1/net/connect

参数:

string类型,节点地址

示例:

curl --request POST --url https://rpc.eosio.org/v1/net/connect --data '"https://rpc2.eosio.org"'

 

19.disconnect

断开与某个节点的连接。

https://rpc.eosio.org/v1/net/disconnect

参数:

string类型,节点地址

示例:curl --request POST --url https://rpc.eosio.org/v1/net/disconnect --data '"https://rpc2.eosio.org"'

 

20.status

返回与某个节点的连接状态。

https://rpc.eosio.org/v1/net/status

参数:

string类型,节点地址

示例:curl --request POST --url https://rpc.eosio.org/v1/net/status --data '"https://rpc2.eosio.org"'

 

21.connections

返回所有的连接节点的信息。

https://rpc.eosio.org/v1/net/status

示例:curl --request POST --url https://rpc.eosio.org/v1/net/connections

 

producer

22.pause

暂停。

https://rpc.eosio.org/v1/producer/pause

示例:curl --request POST --url https://rpc.eosio.org/v1/producer/pause

 

23.resume

重新提交。

https://rpc.eosio.org/v1/producer/resume

示例:curl --request POST --url https://rpc.eosio.org/v1/producer/resume

 

24.paused

返回暂停的生产节点。

https://rpc.eosio.org/v1/producer/paused

示例:curl --request POST --url https://rpc.eosio.org/v1/producer/paused

 

25.get_runtime_options

获取运行时选项。

https://rpc.eosio.org/v1/producer/get_runtime_options

示例:curl --request POST --url https://rpc.eosio.org/v1/producer/get_runtime_options

 

26.get_greylist

返回生产节点灰名单

https://rpc.eosio.org/v1/producer/get_greylist

示例:curl --request POST --url https://rpc.eosio.org/v1/producer/get_greylist

 

27.add_greylist_accounts

将账户添加到灰名单。

https://rpc.eosio.org/v1/producer/add_greylist_accounts

参数:

account_name:string数组类型,帐户名数组

示例:curl --request POST --url https://rpc.eosio.org/v1/producer/add_greylist_accounts --data '{"accounts":["testaccount1"]}'

 

28.remove_greylist_accounts

将账户从灰名单移除。

https://rpc.eosio.org/v1/producer/remove_greylist_accounts

参数:

account_name:string数组类型,帐户名数组

示例:curl --request POST --url https://rpc.eosio.org/v1/producer/remove_greylist_accounts --data '{"accounts":["testaccount1"]}'

 

29.get_whitelist_blacklist

返回生产节点白名单和黑名单。

https://rpc.eosio.org/v1/producer/get_whitelist_blacklist

示例:curl --request POST --url https://rpc.eosio.org/v1/producer/get_whitelist_blacklist

 

30.set_whitelist_blacklist

设置生产节点白名单和黑名单。

https://rpc.eosio.org/v1/producer/get_whitelist_blacklist

参数:

actor_whitelist:string[]类型,账户名

actor_blacklist:string[]类型,账户名

contract_whitelist:string[]类型,合约名称

contract_blacklist:string[]类型,合约名称

action_blacklist:string[]类型,action名称

key_blacklist:string[]类型,公钥

示例:curl --request POST --url https://rpc.eosio.org/v1/producer/get_whitelist_blacklist --data '{"actor_whitelist":["testaccount1"],"actor_blacklist":[],"contract_whitelist":[],"contract_blacklist":[],"action_blacklist":[],"key_blacklist":[]}'

 

kuosd

1.create

创建具有给定名称的新钱包。

https://rpc.eosio.org/v1/wallet/create

参数:

string类型,钱包名

示例:curl --request POST --url https://rpc.eosio.org/v1/wallet/create --data '"default"'

 

2.open

打开给定名称的现有钱包。

https://rpc.eosio.org/v1/wallet/open

参数:

string类型,钱包名

示例:curl --request POST --url https://rpc.eosio.org/v1/wallet/open --data '"default"'

 

3.lock

锁定给定名称的现有钱包。

https://rpc.eosio.org/v1/wallet/lock

参数:

string类型,钱包名

示例:curl --request POST --url https://rpc.eosio.org/v1/wallet/lock --data '"default"'

 

4.lock_all

锁定所有现有钱包。

https://rpc.eosio.org/v1/wallet/lock_all

示例:curl --request POST --url https://rpc.eosio.org/v1/wallet/lock_all

 

5.unlock

使用给定的名称和密码解锁钱包。

https://rpc.eosio.org/v1/wallet/unlock

参数:

string类型,钱包名

string类型,钱包秘钥

示例:curl --request POST --url https://rpc.eosio.org/v1/wallet/unlock --data '["default","PW5HuyuuNftajiTPPvABkXamRG2AyrFpx3W3cgMmeBmZYXK6Q5KEQ"]'

 

6.import_key

将私钥导入给定名称的钱包。

https://rpc.eosio.org/v1/wallet/import_key

参数:

string类型,钱包名

string类型,私钥

示例:curl --request POST --url https://rpc.eosio.org/v1/wallet/import_key --data '["default","5J5T3cfraaYYnHTRpKdEwu23SwFLiyNykAXK4FZnMxvQREseqah"]'

 

7.list_wallets

列出所有钱包。

https://rpc.eosio.org/v1/wallet/list_wallets

示例:curl --request POST --url https://rpc.eosio.org/v1/wallet/list_wallets

 

8.get_public_keys

列出所有钱包中的所有公钥。

https://rpc.eosio.org/v1/wallet/get_public_keys

示例:curl --request POST --url https://rpc.eosio.org/v1/wallet/get_public_keys

 

9.set_timeout

设置钱包超时自动锁定(以秒为单位)。

https://rpc.eosio.org/v1/wallet/set_timeout

参数:

int64类型,超时阈值

示例:curl --request POST --url https://rpc.eosio.org/v1/wallet/set_timeout --data 2000

 

10.sign_transaction

签署事务。

https://rpc.eosio.org/v1/wallet/sign_transaction

参数:

txn : string类型,事务

signatures : string类型,签名

id : string类型,链的ID

示例:curl --request POST --url https://rpc.eosio.org/v1/wallet/sign_transaction --data '[{"ref_block_num":919376,"ref_block_prefix":1884381553,"expiration":"2018-12-28T04:38:28.000","actions":[{"account":"eosio","name":"delegatebw","authorization":[{"actor":"testaccount1","permission":"active"}],"data":"10f2d4142193b1ca20f2d4142193b1ca40420f000000000004454f530000000040420f000000000004454f530000000000"}],"signatures":[]},["EOS7kczHUPM1R4WPgzazYXSm9LPbKygngeFYxqQjVMQB9TojXdJqL"],"24c2ffcaeef8f222cf658e7d66dd6df9b25da829c006bff00e4c33c3d02df1c5"]'

 

wallet

cleos wallet:返回 cleos wallet 子命令

# cleos wallet

运行结果:

子命令说明:

create    //创建本地新钱包

open    //加载已存在钱包

lock    //锁定钱包

lock_all    //锁定所有钱包

unlock    //解锁钱包

import    //将私钥导入钱包

list    //已加载钱包列表,钱包名后带有 * 代表此钱包未锁定

keys    //未锁定钱包含有的公/私钥对

 

cleos wallet create:创建默认钱包 default

# cleos wallet create

运行结果:

备注:请妥善保存钱包密码,该密码无法找回。

 

cleos wallet create name:返回创建自定义钱包命令格式

# cleos wallet create wengyingfeng

运行结果:

选项说明:

-n,--name TEXT=default    //新钱包名

 

cleos wallet create -n name:创建自定义钱包

# cleos wallet create -n wengyingfeng

运行结果:

 

cleos wallet open:加载默认钱包 default

# cleos wallet open

运行结果:

 

cleos wallet open -n name:加载指定钱包

# cleos wallet open wengyingfeng

运行结果:

 

cleos wallet lock:锁定默认钱包 default

# cleos wallet lock

运行结果:

 

cleos wallet lock -n name:锁定指定钱包

# cleos wallet lock -n wengyingfeng

运行结果:

 

cleos wallet lock_all:锁定所有钱包

# cleos wallet lock_all

运行结果:

 

cleos wallet unlock:解锁默认钱包 default 不带密码

# cleos wallet unlock

运行结果:

备注:此命令没有带密码参数,需分步执行。输入命令后系统会提示输入密码,密码不会明文显示,较为安全,实际操作建议使用此方法。

 

cleos wallet unlock --password password:解锁默认钱包 default 带密码

# cleos wallet unlock --password PW5J21q9EPty3dGWD9668QJpyRKGkWz5ftdBBuNXupXmWw4ibf8Tb

运行结果:

备注:此命令带密码,一步执行。密码会在控制台明文显示,不建议使用此种方法。

 

cleos wallet unlock -n name:解锁指定钱包不带密码

# cleos wallet unlock -n wengyingfeng

运行结果:

 

cleos wallet unlock -n name --password password:解锁指定钱包带密码

# cleos wallet unlock -n wengyingfeng --password PW5J9JmRmCWndr2eYtRfFv3MAwPMimDmoHdZMjTCpiA3Yv9HBrAmX

运行结果:

 

cleos wallet import:返回 cleos wallet import 顺位项和可选参数

# cleos wallet import

运行结果:

顺位项说明:

key TEXT    //需要导入的私钥

选项说明:

-n,--name    TEXT    //指定钱包名

 

cleos wallet import key:将私钥导入默认钱包 default

# cleos wallet import 5KWFL7rJ4kxfSC7MhdsRdqiocbciVKyGth4DVBeambuQtgVuRps

运行结果:

 

cleos wallet import -n name key:将私钥导入指定钱包

# cleos wallet import -n wengyingfeng 5KWFL7rJ4kxfSC7MhdsRdqiocbciVKyGth4DVBeambuQtgVuRps

运行结果:

 


 

cleos wallet list:返回已加载钱包列表,其中有 * 号的代表此钱包处于解锁状态

# cleos wallet list

运行结果:

 

cleos wallet keys:返回所有解锁钱包含有的公/私钥对

# cleos wallet keys

运行结果:

 

sign

cleos sign:返回 cleos sign 顺位项和可选参数

# cleos sign

运行结果:

顺位项说明:

transaction TEXT    //需要签名的事务, JSON 格式

可选参数:

-k,--private-key TEXT    //用于签名的私钥

-p,--push-transaction    //签名后推送事务

 

cleos sign transaction:签署事务不带私钥

# cleos sign '{"transaction_id": "f6e43207694bb65eef053f39acef86f42a4b606d3bd832f0faaa768269126676", "processed": {"status": "executed", "kcpu_usage": 105, "net_usage_words": 32, "id": "f6e43207694bb65eef053f39acef86f42a4b606d3bd832f0faaa768269126676", "action_traces": [{"receiver": "eosio.token", "context_free": false, "cpu_usage": 5570, "act": {"account": "eosio.token", "name": "issue", "authorization": [{"actor": "wengyingfeng", "permission": "active"}], "data": {"to": "wengyingfeng", "quantity": "300000000.0000 WYF", "memo": "issue WYF"}, "hex_data": "c0a65a6c3acfa6e20030ef7dba020000045759460000000009697373756520575946"}, "console": "issue", "data_access": [{ "type": "write", "code": "eosio.token", "scope": "........ctgpb", "sequence": 1},{"type": "write", "code": "eosio.token", "scope": "wengyingfeng", "sequence": 0}], "_profiling_us": 299}], "deferred_transaction_requests": [], "read_locks": [], "write_locks": [{"account": "eosio.token", "scope": "........ctgpb"},{"account": "eosio.token", "scope": "wengyingfeng"}], "cpu_usage": 107520, "net_usage": 256, "packed_trx_digest": "5cb966eaac2c81b7da4664214db7322be7eff0bae1da973cba4f608f4137ad47", "region_id": 0, "cycle_index": 1, "shard_index": 0, "_profiling_us": 352, "_setup_profiling_us": 126}}'

运行结果:

备注:此命令没有带私钥参数,需分步执行。输入命令后系统会提示输入私钥,私钥不会明文显示,较为安全,实际操作建议使用此方法。

 

cleos sign transaction -k privateKey:签署事务带私钥

cleos sign '{"transaction_id": "f6e43207694bb65eef053f39acef86f42a4b606d3bd832f0faaa768269126676", "processed": {"status": "executed", "kcpu_usage": 105, "net_usage_words": 32, "id": "f6e43207694bb65eef053f39acef86f42a4b606d3bd832f0faaa768269126676", "action_traces": [{"receiver": "eosio.token", "context_free": false, "cpu_usage": 5570, "act": {"account": "eosio.token", "name": "issue", "authorization": [{"actor": "wengyingfeng", "permission": "active"}], "data": {"to": "wengyingfeng", "quantity": "300000000.0000 WYF", "memo": "issue WYF"}, "hex_data": "c0a65a6c3acfa6e20030ef7dba020000045759460000000009697373756520575946"}, "console": "issue", "data_access": [{ "type": "write", "code": "eosio.token", "scope": "........ctgpb", "sequence": 1},{"type": "write", "code": "eosio.token", "scope": "wengyingfeng", "sequence": 0}], "_profiling_us": 299}], "deferred_transaction_requests": [], "read_locks": [], "write_locks": [{"account": "eosio.token", "scope": "........ctgpb"},{"account": "eosio.token", "scope": "wengyingfeng"}], "cpu_usage": 107520, "net_usage": 256, "packed_trx_digest": "5cb966eaac2c81b7da4664214db7322be7eff0bae1da973cba4f608f4137ad47", "region_id": 0, "cycle_index": 1, "shard_index": 0, "_profiling_us": 352, "_setup_profiling_us": 126}}' -k 5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3

运行结果:

备注:此命令带私钥,一步执行。私钥会在控制台明文显示,不建议使用此种方法。

 

push

cleos push:返回 cleos push 子命令

# cleos push

运行结果:

子命令说明:

action    //推送一条操作事务

transaction    //推送一条事务, JSON 格式

transaction    //推送多条事务, JSON 格式

 

cleos push action:返回 cleos push action 顺位项和可选参数

# cleos push action

运行结果:

顺位项说明:

contract TEXT    //执行合约账户

action TEXT    //合约定义的操作方法

data TEXT    //具体操作数据

可选项说明:

-h,--help    //打印帮助信息

-x,--expiration    //设置事务失效时间(秒),默认为 30 秒

-f,--force-unqiue    //确保事务唯一。该操作会消耗额外的带宽并移除保护以防同样的交易被执行。

-s,--skip-sign    //指定事务是否需要签名

-j,--json    //以JSON格式打印结果

-d,--dont-broadcast    //不向网络广播事务(仅打印标准输出)

-p,--permission TEXT ...    //账户和权限授权,格式如 account@permission (默认为 creator@active)

--max-cpu-usage UINT    //设置 CPU 上限,以消耗指令为单位,用于执行事务(默认为 0 即无限制)

--max-net-usage UINT    //设置网络上限,以字节为单位,用于事务(默认为 0 即无限制)

 

cleos push action contract action data:推送指定合约操作

# cleos push action eosio.token create '{"issuer":"eosio", "maximum_supply":"1000000000.0000 EOS", "can_freeze":0, "can_recall":0, "can_whitelist":0}' -j -p eosio.token

运行结果:

备注:此命令必须加上 -p 参数,否则会提示错误:事务至少需要一笔授权。

 

cleos push transaction:返回 cleos push transaction 顺位项和可选参数

# cleos push transaction

运行结果:

顺位项说明:

transaction TEXT    //推送的事务, JSON 格式

可选项说明:

-h,--help    //打印帮助信息

备注: transaction 具体 JSON 格式参见 https://www.jianshu.com/p/7cc4736ac6da

 

cleos push transactions:返回 cleos push transactions 顺位项和可选参数

# cleos push transactions

运行结果:

顺位项说明:

transactions TEXT    //推送的事务组, JSON 格式

可选参数说明:

-h,--help    //打印帮助信息

json

cleos 子命令中有几个参数需要以 JSON 形式提交,以下是相关格式:

1、cleos set account permission - authority

root@eos:/alidata1/eos# cleos set account permission -j wengyingfeng test {a}
Error 3120004: Invalid authority
Ensure that your authority JSON follows the following format!
{
  "threshold":"uint32_t",
  "keys":[{ "key":"public_key", "weight":"uint16_t" }],
  "accounts":[{
    "permission":{ "actor":"account_name", "permission":"permission_name" },
    "weight":"uint16_t"
  }]
}

e.g.
{
  "threshold":"1",
  "keys":[{ "key":"EOS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV", "weight":"1" }],
  "accounts":[{
    "permission":{ "actor":"initb", "permission":"social" },
    "weight":"1
  }]
}

 

2、cleos push transaction - transaction

root@eos:/alidata1/eos# cleos push transaction {a}
Error 3120006: Invalid transaction
Ensure that your transaction JSON follows the following format!\n"
{
  "ref_block_num":"uint16_t",
  "ref_block_prefix":"uint32_t",
  "expiration":"YYYY-MM-DDThh:mm",
  "region": "uint16_t",
  "read_scope":[ "account_name" ],
  "write_scope":[ "account_name" ],
  "actions":[{
    "account":"account_name",
    "name":"action_name",
    "authorization":[{ "actor":"account_name","permission":"permission_name" }],
    "data":"bytes"
  }]
}"

e.g.
{
  "ref_block_num":"1000",
  "ref_block_prefix":"3463702842",
  "expiration":"2018-01-23T01:51:05",
  "region": "0",
  "read_scope":[ "initb", "initc" ],
  "write_scope":[ "initb", "initc" ],
  "actions":[{
    "account":"eosio",
    "name":"transfer",
    "authorization":[{ "actor":"initb","permission":"active" }],
    "data":"000000008093dd74000000000094dd74e80300000000000000"
  }]
}

 

3、cleos push transactions - transactions

root@eos:/alidata1/eos# cleos push transactions {a}
Error 3120006: Invalid transaction
Ensure that your transaction JSON follows the following format!\n"
{
  "ref_block_num":"uint16_t",
  "ref_block_prefix":"uint32_t",
  "expiration":"YYYY-MM-DDThh:mm",
  "region": "uint16_t",
  "read_scope":[ "account_name" ],
  "write_scope":[ "account_name" ],
  "actions":[{
    "account":"account_name",
    "name":"action_name",
    "authorization":[{ "actor":"account_name","permission":"permission_name" }],
    "data":"bytes"
  }]
}"

e.g.
{
  "ref_block_num":"1000",
  "ref_block_prefix":"3463702842",
  "expiration":"2018-01-23T01:51:05",
  "region": "0",
  "read_scope":[ "initb", "initc" ],
  "write_scope":[ "initb", "initc" ],
  "actions":[{
    "account":"eosio",
    "name":"transfer",
    "authorization":[{ "actor":"initb","permission":"active" }],
    "data":"000000008093dd74000000000094dd74e80300000000000000"
  }]
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值