RPC API
CHAIN
get_info
返回包含區塊鏈的各種詳細信息的對象。
1 | POST http://127.0.0.1:8870/v1/chain/get_info |
示例:
1 | curl --request POST \ |
執行結果:
1 | { |
get_code
返回一個包含指定合約wasm的對象
1 | POST http://127.0.0.1:8870/v1/chain/get_code |
示例:
1 | curl --request POST \ |
主體參數
參數 | 類型 | 描述 | |
---|---|---|---|
account_name | string | Provide an account name | REQUIRED |
code_as_wasm | integer | 1 | REQUIRED |
執行結果:
1 | { |
get_block
返回一個對象,其中包含有關區塊鏈上特定塊的各種詳細信息。
1 | POST http://127.0.0.1:8870/v1/chain/get_block |
示例:
1 | curl --request POST \ |
主體參數
參數 | 類型 | 描述 | |
---|---|---|---|
block_num_or_id | string | Provide a block number or a block id |
REQUIRED |
執行結果:
1 | { |
get_block_header_state
獲取可逆區塊頭狀態。
1 | POST http://127.0.0.1:8870/v1/chain/get_block_header_state |
示例:
1 | curl --request POST \ |
執行結果:
1 | { |
主體參數
參數 | 類型 | 描述 | |
---|---|---|---|
block_num_or_id | string | Provide a block number or a block id |
REQUIRED |
get_block_info
返回一個塊數據的固定大小的較小子集,其中包含有關區塊鏈上特定塊的各種詳細信息。
1 | POST http://127.0.0.1:8870/v1/chain/get_block_info |
示例:
1 | curl --request POST \ |
主題參數
參數 | 類型 | 描述 | |
---|---|---|---|
block_num | integer | Provide a block num | REQUIRED |
執行結果:
1 | { |
get_account
返回一個對象,其中包含有關區塊鏈上特定帳戶的各種詳細信息。
1 | POST http://127.0.0.1:8870/v1/chain/get_account |
示例:
1 | curl --request POST \ |
主體參數
參數 | 類型 | 描述 | |
---|---|---|---|
account_name | string | Provide an account name | REQUIRED |
執行結果:
1 | { |
get_abi
獲取賬戶的 abi 數據。
1 | POST http://127.0.0.1:8870/v1/chain/get_abi |
示例:
1 | curl --request POST \ |
主體參數
參數 | 類型 | 描述 | |
---|---|---|---|
account_name | string | name of account to retrieve ABI for | REQUIRED |
執行結果:
1 | { |
get_raw_abi
獲取賬戶的原始的abi數據
1 | POST http://127.0.0.1:8870/v1/chain/get_raw_abi |
示例:
1 | curl --request POST \ |
主體參數
參數 | 類型 | 描述 | |
---|---|---|---|
account_name | string | Account name to get code and abi for | REQUIRED |
執行結果:
1 | { |
get_raw_code_and_abi
獲取賬戶的原始 code 和 abi 數據。
1 | POST http://127.0.0.1:8870/v1/chain/get_raw_code_and_abi |
示例:
1 | curl --request POST \ |
主體參數
參數 | 類型 | 描述 | |
---|---|---|---|
account_name | string | Account name to get code and abi for | REQUIRED |
執行結果:
1 | { |
get_table_rows
返回包含指定表中行的對象。
1 | POST http://127.0.0.1:8870/v1/chain/get_table_rows |
示例:
1 | curl --request POST \ |
主體參數
參數 | 類型 | 描述 | |
---|---|---|---|
scope | string | Provide the account name | REQUIRED |
code | string | Provide the smart contract name | REQUIRED |
table | string | Provide the table name | REQUIRED |
index_position | string | Provide the index position | / |
key_type | string | Provide the type of key | / |
encode_type | string | Provide the type of ecoding | / |
lower_bound | int32 | Provide the lower bound | / |
upper_bound | int32 | Provide the upper bound | / |
limit | int32 | Provide the limit | / |
reverse | boolean | Provide true or false to reverse the result | / |
show_payer | boolean | Provide true or false to show the payer of RAM | / |
執行結果:
1 | { |
get_table_by_scope
獲取表
1 | POST http://127.0.0.1:8870/v1/chain/get_table_by_scope |
示例:
1 | curl --request POST \ |
主體參數
參數 | 類型 | 描述 | |
---|---|---|---|
code | string | Provide the contract name | REQUIRED |
table | string | Provide the table name | / |
lower_bound | string | Provide the lower bound | / |
upper_bound | string | Provide the upper bound | / |
limit | integer | limit number | / |
reverse | boolean | true or false | / |
show_payer | boolean | true or false | / |
執行結果:
1 | { |
abi_json_to_bin
將 json 序列化為二進制十六進制。 生成的二進制十六進制通常用於 push_transaction 中的數據字段。
1 | POST http://127.0.0.1:8870/v1/chain/abi_json_to_bin |
示例:
1 | curl --request POST \ |
主體參數
參數 | 類型 | 描述 | |
---|---|---|---|
code | string | Provide the account name | / |
action | string | Provide the action arguments | / |
args | json | Provide the json arguments | / |
執行結果:
1 | { |
abi_bin_to_json
將二進制十六進制序列化為 json 格式。
1 | POST http://127.0.0.1:8870/v1/chain/abi_bin_to_json |
示例:
1 | curl --request POST \ |
主體參數
參數 | 類型 | 描述 | |
---|---|---|---|
code | string | Provide the smart contract account name | REQUIRED |
action | string | Provide the action name | REQUIRED |
binargs | string | Provide the binary arguments | REQUIRED |
執行結果:
1 | { |
get_producers
獲取生產者信息。
1 | POST http://127.0.0.1:8870/v1/chain/get_producers |
示例:
1 | curl --request POST \ |
主體參數
參數 | 類型 | 描述 | |
---|---|---|---|
limit | string | total number of producers to retrieve | REQUIRED |
lower_bound | string | REQUIRED | |
json | boolean | return result in JSON format? | / |
執行結果
1 | { |
get_activated_protocol_features
獲取生產者節點的激活協議特徵
1 | POST http://127.0.0.1:8870/v1/chain/get_activated_protocol_features |
示例:
1 | curl --request POST \ |
主體參數
參數 | 類型 | 描述 | |
---|---|---|---|
params | object | Defines the filters to retreive the protocol features by | REQUIRED |
執行結果:
1 | { |
get_accounts_by_authorizers
根據賬戶姓名和公鑰,查找所有滿足的賬戶權限
1 | POST http://127.0.0.1:8870/v1/chain/get_accounts_by_authorizers |
示例:
1 | curl --request POST \ |
主體參數
參數 | 類型 | 描述 | |
---|---|---|---|
accounts | list | List of authorizing accounts and/or actor/permissions | REQUIRED |
keys | list | List of authorizing keys | REQUIRED |
push_block
推送區塊。
1 | POST http://127.0.0.1:8870/v1/chain/push_block |
示例:
1 | curl --request POST \ |
主體參數
參數 | 類型 | 描述 | |
---|---|---|---|
timestamp | date-time | / | |
producer | string | / | |
confirmed | int32 | / | |
previous | string | / | |
transaction_mroot | string | / | |
action_mroot | int32 | / | |
version | string | / | |
new_producers | array of strings | / | |
header_extensions | array of strings | / | |
producer_signature | string | / | |
transactions | array | / | |
block_extensions | array of strings | / |
push_transaction
此方法需要JSON格式的事務,並嘗試將其應用於區塊鏈。
1 | POST http://127.0.0.1:8870/v1/chain/push_transaction |
示例:
1 | curl --request POST \ |
主體參數
參數 | 類型 | 描述 | |
---|---|---|---|
signatures | array of strings | array of signatures required to authorize transaction | / |
compression | boolean | compression used, usually false | / |
packed_context_free_data | string | json to hex | / |
packed_trx | string | json to hex | / |
執行結果:
1 | { |
Example
Note
這裡的ref_block_num
和ref_block_prefix
是last_irreversible_block
的/v1/chain/get_block
的結果。 可以通過調用/v1/chain/get_info
找到last_irreversible_block
。 您還需要使用/v1/wallet/sign_transaction
來獲取正確的簽名。
send_transaction
此方法需要JSON格式的交易,並嘗試將其應用於區塊鏈。
1 | POST http://127.0.0.1:8870/v1/chain/send_transaction |
示例:
1 | curl --request POST \ |
主體參數
參數 | 類型 | 描述 | |
---|---|---|---|
body | json | Provide the authorizations for the transaction | REQUIRED |
執行結果:
1 | { |
push_transactions
此方法需要JSON格式的事務,並嘗試將其應用於區塊鏈。 此方法一次推送多個事務。
1 | POST http://127.0.0.1:8870/v1/chain/push_transaction |
示例:
1 | curl --request POST \ |
主體參數
參數 | 類型 | 描述 | |
---|---|---|---|
body | json | Provide the authorizations for the transaction | REQUIRED |
執行結果:
1 | { |
Example
Note
這裡的ref_block_num
和ref_block_prefix
是last_irreversible_block
的/v1/chain/get_block
的結果。 可以通過調用/v1/chain/get_info
找到last_irreversible_block
。 您還需要使用/v1/wallet/sign_transaction
來獲取正確的簽名。
TRACE
注意:需要啟用 trace-api 插件
get_block
返回包含指定條件的塊跟蹤對象
1 | POST http://127.0.0.1:8801/v1/trace_api/get_block |
示例:
1 | curl --request POST \ |
主體參數
參數 | 類型 | |
---|---|---|
block_num | integer | REQUIRED |
執行結果:
1 | { |
NET
注意:需要啟用 net_api 插件
connections
獲取所有連接的狀態
1 | POST http://127.0.0.1:8870/v1/net/connections |
示例:
1 | curl --request POST \ |
PRODUCER
需要啟用 producer_api 插件
get_runtime_options
獲取生產者節點的運行時選項
1 | POST http://127.0.0.1:8870/v1/producer/get_runtime_options |
示例:
1 | curl --request POST \ |
create_snapshot
為生產者節點創建快照
1 | POST http://127.0.0.1:8870/v1/producer/create_snapshot |
示例:
1 | curl --request POST \ |
主體參數
參數 | 類型 | |
---|---|---|
head_block_id | string | / |
head_block_num | integer | / |
head_block_time | string | / |
version | integer | / |
snapshot_name | string | / |
get_integrity_hash
獲取生產者節點的完整hash
1 | POST http://127.0.0.1:8870/v1/producer/get_integrity_hash |
示例:
1 | curl --request POST \ |
get_supported_protocol_features
獲取生產者節點支持的協議特點
1 | POST http://127.0.0.1:8870/v1/producer/get_supported_protocol_features |
示例:
1 | curl --request POST \ |
主體參數
參數 | 類型 | 描述 | |
---|---|---|---|
exclude_disabled | boolean | Exclude disabled protocol features | / |
exclude_unactivatable | boolean | Exclude unactivatable protocol features | / |