由于CSDN没办法使用文内超链接,以下有本文章涉及的命令列表,建议使用 ctrl+F,然后复制某个命令进行搜索,即可快速定位到该命令的使用说明
完整的API可参考官方文档,API Reference
方法 | 描述 |
---|---|
create-key(alias,password) | 创建密钥,用于创建账户 |
参数 | |
alias | 密钥别名 |
password | 密钥密码 |
返回 | |
alias | 密钥别名 |
xpub | 密钥对应的公钥 |
file | 密钥的生成文件路径 |
Example
./bytomcli create-key wen 123456
方法 | 描述 |
---|---|
list-keys | 获取节点中的所有密钥 |
参数 | |
无 | |
返回 | 返回以下对象数组 |
alias | 密钥别名 |
xpub | 密钥对应的公钥 |
file | 密钥的生成文件路径 |
Example
./bytomcli list-keys
方法 | 描述 |
---|---|
delete-key(xpub,password) | 删除密钥 |
参数 | |
xpub | 密钥对应的公钥 |
password | 生成密钥时设置的密码 |
返回 | |
Successfully delete key | 删除成功的提示 |
key not found or wrong password | 公钥错误或不存在时的提示 |
could not decrypt key with given passphrase | 密码错误时的提示 |
Example ./bytomcli delete-key 7b328361cb360a2dbd289b4fcc94f38b6dcf4b1f1469a96489950146e8d7feb2d8d5254c3d2f6bd0c6cd6ea7be08d5f7672e8bc49c3a9c3b67ad3f8190d1be79 123456
方法 | 描述 |
---|---|
create-account | 创建账户 |
参数 | |
alias | 账户名 |
xpub(s) | 公钥 |
返回 | |
alias | 账户名 |
id | 账户id |
key_index | 帐户在钱包节点中的索引值 |
quorum | 签名数 |
xpubs | 公钥,array |
Example ./bytomcli create-account test 81b6150ee90b7936a8b21f7f3e5028d9060aef1cc633c13cbbb21183bbf66f3b484bf876468b4278f1421f9b66d55d6a4d71542e20faf908590a39d4e96cc0ed
方法 | 描述 |
---|---|
list-accounts | 获取节点中所有帐户 |
参数 | |
无 | |
返回 | 返回以下对象数组 |
id | 帐户id |
alias | 账户名 |
key_index | 帐户在钱包节点中的索引值 |
quorom | 签名数,即发送交易时所需的密钥数 |
xpubs | 公钥数组 |
Example ./bytomcli list-accounts
方法 | 描述 |
---|---|
delete-account(alias | accountID) | 删除帐户 |
参数 | |
alias或者accountID | 帐户名或者帐户id |
返回 | |
Successfully delete account | 删除成功时的提示 |
fail to find account | alias或者accountID错误时的提示 |
Example ./bytomcli delete-account test 或者 ./bytomcli delete-account 0E96GEA9G0A04
方法 | 描述 |
---|---|
create-account-receiver(alias | accountID) | 给对应帐户新建地址 |
参数 | |
alias | 必带,账户名 |
accountID | 可选, 帐户id |
返回 | |
address | 地址 |
control_program | 帐户控制程序,可以用来接收转账 |
Example ./bytomcli create-account-receiver zhang 或者 ./bytomcli create-account-receiver zhang 0DV0J74K00A02
方法 | 描述 |
---|---|
list-addresses(alias | id) | 获取帐户下的所有地址 |
参数 | |
alias | 账户名(二选一) |
id | 帐户id(二选一) |
返回 | 返回以下对象数组 |
account_alias | 账户名 |
account_id | 帐户id |
address | 地址 |
change | 当帐户改变时地址是否也跟着改变,默认为true |
Example ./bytomcli list-addresses --alias zhang 或者 ./bytomcli list-addresses --id 0DV0J74K00A02
方法 | 描述 |
---|---|
validate-address(address) | 校验地址是否合法 |
参数 | |
address | 地址 |
返回 | |
valid | 是否合法,true即合法 |
is_local | 是否是本节点地址 |
Example ./bytomcli validate-address sm1qrztgvhxgfy2njgewdhk524uhzhdw03g9l63u48
方法 | 描述 |
---|---|
create-asset | 创建资产 |
参数 | |
alias | 资产别名 |
xpub(s) | 公钥组 |
返回 | |
alias | 资产名称 |
definition | 资产定义 |
id | 资产id |
issuance_program | 发行资产的控制程序 |
quorum | 签名数 |
keys | JSONObject,参数如下 |
asset_derivation_path | |
asset_pubkey | |
root_xpub |
Example ./bytomcli create-asset GODS 81b6150ee90b7936a8b21f7f3e5028d9060aef1cc633c13cbbb21183bbf66f3b484bf876468b4278f1421f9b66d55d6a4d71542e20faf908590a39d4e96cc0ed
方法 | 描述 |
---|---|
get-asset | 获取对应资产信息 |
参数 | |
assetID | 资产id |
返回 | |
alias | 资产名称 |
id | 资产id |
issue_program | 发行资产的控制程序 |
key_index | 公钥的索引 |
quorum | 签名数 |
raw_definition_byte | 资产定义的字节 |
type | 类型 |
vm_version | VM版本,应该是完备图灵VM |
xpubs | 公钥组 |
definition | 资产定义,以下JSONObject |
decimals | 精确位数 |
description | 资产描述 |
name | 资产名 |
symbol | 资产币种 |
Example ./bytomcli get-asset ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
方法 | 描述 |
---|---|
list-assets | 获取全部资产信息 |
参数 | |
无 | |
返回 | 返回资产对象数组 |
alias | 资产别名 |
id | 资产id,btm为全f |
issue_program | 发行资产的控制程序 |
key_index | 公钥的密钥索引 |
quorum | 密钥数 |
raw_definition_byte | 资产定义的字节 |
type | 资产类型 |
vm_version | VM版本 |
xpubs | 公钥数组 |
definition | 是一个对象,关于该资产的描述,有以下参数 |
decimals | 精确位数,8位 |
description | 资产描述 |
name | 资产名称,BTM |
symbol | 资产币种,BTM |
Example ./bytomcli list-assets
方法 | 描述 |
---|---|
list-balances | 获取钱包中所有帐户的余额 |
参数 | |
无 | |
返回 | |
account_alias | 帐户名称 |
account_id | 帐户id |
amount | 资产余额,以NEU为单位, 1BTM = 10^8 NEU |
asset_alias | 资产名称 |
asset_id | 资产id |
asset_definition | 资产定义,JSONObject |
Example ./bytomcli list-balances
方法 | 描述 |
---|---|
create-access-token | 创建token |
参数 | |
tokenID | token的id |
返回 | |
created_at | 创建时间 |
id | id |
token | token,包含密码。冒号后面为密码 |
Example ./bytomcli create-access-token test
方法 | 描述 |
---|---|
list-access-tokens | 获取所有token |
参数 | |
无 | |
返回 | |
created_at | 创建时间 |
id | token id |
token | token,冒号后面为密码 |
Example ./bytomcli list-access-tokens
方法 | 描述 |
---|---|
check-access-token | 校验token |
参数 | |
tokenID | |
secret | token密码,即生成token时,参数token中冒号后面的字符串 |
返回 | |
Valid access token | token正确返回的提示 |
ERROR invalid token | token的密码错误时返回的提示 |
ERROR nonexisting access token ID | tokenID不存在时返回的提示 |
Example ./bytomcli check-access-token test 1061bacc735ae574f84001d617ed17a8302f7c6206481b9f45c7235853e6ab19
方法 | 描述 |
---|---|
get-block-count | 获取当前的块高 |
参数 | |
无 | |
返回 | |
block_count | 块高 |
Example ./bytomcli get-block-count
方法 | 描述 |
---|---|
get-block-hash | 返回最新块的哈希值 |
参数 | |
无 | |
返回 | |
block_hash | 块哈希 |
Example ./bytomcli get-block-hash
方法 | 描述 |
---|---|
get-block( block_height | block_hash ) | 根据块高或块哈希获取块信息 |
参数 | 二选一 |
block_height | 块高(可选) |
block_hash | 块哈希(可选) |
返回 | |
hash | 块哈希 |
size | 块大小 |
version | 块版本 |
height | 块高 |
previous_block_hash | 前一个块的哈希 |
timestamp | 出块时间戳(秒级) |
transaction_merkle_root | merkle(默克尔树)值 |
transaction_status_hash | 交易状态的merkle |
bits | 当前难度的bits |
nonce | nonce |
difficulty | 难度值 |
transactions | JSONArray,参数如下 |
id | 交易哈希 |
inputs | JSONArray,参数如下表 |
outputs | JSONArray,参数如下表 |
size | 交易的大小 |
status_fail | 请求状态是否失败 |
time_range | 请求响应时间戳 |
version | 交易版本 |
参数 | 描述 |
---|---|
inputs | |
amout | 资产数量 |
arbitrary | 当type是 coinbase 时才存在此参数 |
asset_definition | 资产定义 JSONObject |
asset_id | 资产id |
type | 类型 |
参数 | 描述 |
---|---|
outputs | |
address | 输出地址 |
amount | 金额 |
asset_definition | 资产定义 JSONObject |
asset_id | 资产id |
control_program | 账户控制程序 |
id | 与utxo相关的输出id |
position | 输出位置 |
type | 类型,控制 |
Example ./bytomcli get-block 20a31511b7869fc90b849c4d011ccc0b51ee61e742d20034438309236afd78af 或者 ./bytomcli get-block 8031
方法 | 描述 |
---|---|
get-difficulty | 获取当前块或指定块的难度 |
参数 | |
无 | 不带参数即获取当前块难度 |
hash | 可选,指定块的哈希 |
height | 可选,指定块的高度 |
返回 | |
bits | 难度对应的bits |
difficulty | 难度值 |
hash | 块哈希 |
height | 块高 |
Example ./bytomcli get-difficulty 或者 ./bytomcli get-difficulty --height 8251 或者 ./bytomcli get-difficulty --hash 13d8d75dd33fcd277cf9a2d86e71daeab9aac6f8eb06a7505b2766d564720028
方法 | 描述 |
---|---|
get-block-header | 根据块高或块哈希获取详细的块头部 |
参数 | 二选一 |
block_height | 块高,可选 |
block_hash | 块哈希,可选 |
返回 | |
block_header | 块头部 |
reward | 出块奖励 |
Example ./bytomcli get-block-header 12 或者 ./bytomcli get-block-header e3b7cbc56b355cce8f0c827edaa6a154298d5d42ec398b4a47fa4af2f14b0a36
方法 | 描述 |
---|---|
is-mining | 检测本节点是否在挖矿 |
参数 | |
无 | |
返回 | |
is_mining | true 表示在挖矿,false 表示没有在挖矿 |
Example ./bytomcli is-mining
方法 | 描述 |
---|---|
gas-rate | 获取当前的gas价格 |
参数 | |
无 | |
返回 | |
gas_rate | gas价格 |
Example ./bytomcli gas-rate
方法 | 描述 |
---|---|
set-mining | 设置节点挖矿 |
参数 | |
true | 表示启动挖矿 |
false | 表示停止挖矿 |
返回 | |
success message |
Example ./bytomcli set-mining true 或者 ./bytomcli set-mining false
方法 | 描述 |
---|---|
build-transaction | 构建交易 |
参数 | |
alias | 账户名 |
asset | 资产id或别名 |
amount | 转账数量,按NEU算,1BTM=10^8NEU |
address | 转账地址 |
type | 类型 |
receiver | 接收程序id,当type为spend时需要带 |
返回 | |
json | 返回打包好的raw-transaction |
Example ./bytomcli build-transaction --alias zhang BTM 1000000000 --type spend --receiver 00145bb44b681e970cf1be37513fe9e39785f56bd72c
或者
./bytomcli build-transaction --alias zhang BTM 1000000000 --address sm1qtw6yk6q7jux0r03h2yl7ncuhsh6kh4ev92z7pk --type address
方法 | 描述 |
---|---|
sign-transaction | 对交易进行签名 |
参数 | |
raw-transaction | build返回的json数据 |
password | 钱包密码 |
返回 | |
json数据 | 签名好的交易json数据 |
Example 【注:json格式记得加单引号,否则提示参数过多】
./bytomcli sign-transaction '{"allow_additional_actions":false,"raw_transaction":"070100010161015f65f1a7c13ebd9d687c853dd28fd125702a7d173439969d857cb01b0b98bd4372ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8099c4d5990100011600142412b41a0f48a6dfad726f7b502e557aa39df36b010002013effffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffff80ab94ef950101160014a81d7084fcafaa32798e7355284639000aea0d5600013dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8094ebdc03011600145bb44b681e970cf1be37513fe9e39785f56bd72c00","signing_instructions":[{"position":0,"witness_components":[{"keys":[{"derivation_path":["010100000000000000","0100000000000000"],"xpub":"145b584d3de371405e7b6ceba11d69a3ae6f0b22d2ec879f17977f3c51f5f2d14390c20ead68eb2ab4e210ca0958873b28a9635b8c4a29ba74934aa47137c80c"}],"quorum":1,"signatures":null,"type":"raw_tx_signature"},{"type":"data","value":"9817f7c9a9d8729374cfff24a4b2e400fdfd2cfb4ab09ee339925a9033ab7eb7"}]}]}' --password 12345
方法 | 描述 |
---|---|
submit-transaction | 广播交易 |
参数 | |
json数据 | sign-transaction返回的json |
返回 | |
txid | 交易哈希 |
Example 【注:json格式记得加单引号,否则提示参数过多】
./bytomcli submit-transaction '{"sign_complete":true,"transaction":{"allow_additional_actions":false,"raw_transaction":"070100010161015fedb1e3ea7fd526a6f5402f95e8b2fd870fa9a766c89b3555b016602aa45197e4ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8099c4d5990100011600142412b41a0f48a6dfad726f7b502e557aa39df36b63024070eb4675106805bd6e72e63d45ee9ff30802106fd11be2d4deac192bc3cb75cbfe5180c9aa1285baae09a93997724d0c8a50cde99c1e619012af7fbce645f809209817f7c9a9d8729374cfff24a4b2e400fdfd2cfb4ab09ee339925a9033ab7eb702013effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80ab94ef9501011600140478426d17f952005f10a38e6779ecd2dd6bca6500013dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8094ebdc03011600145bb44b681e970cf1be37513fe9e39785f56bd72c00","signing_instructions":[{"position":0,"witness_components":[{"keys":[{"derivation_path":["010100000000000000","0100000000000000"],"xpub":"145b584d3de371405e7b6ceba11d69a3ae6f0b22d2ec879f17977f3c51f5f2d14390c20ead68eb2ab4e210ca0958873b28a9635b8c4a29ba74934aa47137c80c"}],"quorum":1,"signatures":["70eb4675106805bd6e72e63d45ee9ff30802106fd11be2d4deac192bc3cb75cbfe5180c9aa1285baae09a93997724d0c8a50cde99c1e619012af7fbce645f809"],"type":"raw_tx_signature"},{"type":"data","value":"9817f7c9a9d8729374cfff24a4b2e400fdfd2cfb4ab09ee339925a9033ab7eb7"}]}]}}'