EOS常用API

了解了挺长时间EOS,对于EOS的使用也比较顺畅了,由于官方和网上很多的文件都不全或者描述有误差,这里我整理了以下EOS常用的api,有兴趣的同学可以一起交流学习。

EOS常用API介绍

nodeos

chain

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"]‘

EOS常用API

上一篇:C#实现通过HttpWebRequest发送POST请求实现网站自动登陆


下一篇:vCenter 导入Windows Server 2003/XP自定义规范失败