比原链BTM的bytomcli使用说明

版权声明:版权属 z_xuewen 所有 ©胖子牛逼 https://blog.csdn.net/z_xuewen/article/details/82378985

由于CSDN没办法使用文内超链接,以下有本文章涉及的命令列表,建议使用 ctrl+F,然后复制某个命令进行搜索,即可快速定位到该命令的使用说明

  • create-key 创建密钥
  • list-keys 获取钱包中所有密钥信息
  • list-assets 获取所有资产信息
  • delete-key 删除密钥
  • create-account 创建账户
  • list-accounts 获取钱包中所有账户信息
  • delete-account 删除账户
  • create-account-receiver 新建地址
  • list-addresses 获取账户下的所有地址
  • validate-address 校验地址是否合法
  • create-asset 创建资产
  • get-asset 根据资产id获取资产信息
  • list-assets 获取全部资产信息
  • list-balances 获取钱包中的所有账户余额
  • create-access-token 创建token
  • list-access-tokens 获取钱包中的所有token
  • check-access-token 校验token
  • get-block-count 获取块高
  • get-block-hash 获取最新出块的哈希
  • get-block 根据块高和块哈希获取块信息
  • get-difficulty 获取当前块或指定块的难度
  • get-block-header 获取块头部信息
  • is-mining 获取当前节点是否在挖矿
  • gas-rate 获取当前gas价格
  • set-mining 设置节点是否挖矿
  • build-transaction 构建新交易
  • sign-transaction 对构建的交易进行签名
  • submit-transaction 向区块广播签名好的交易

完整的API可参考官方文档,API Reference

create-key

方法 描述
create-key(alias,password) 创建密钥,用于创建账户
参数
alias 密钥别名
password 密钥密码
返回
alias 密钥别名
xpub 密钥对应的公钥
file 密钥的生成文件路径

Example
./bytomcli create-key wen 123456

list-keys

方法 描述
list-keys 获取节点中的所有密钥
参数
返回 返回以下对象数组
alias 密钥别名
xpub 密钥对应的公钥
file 密钥的生成文件路径

Example
./bytomcli list-keys

delete-key

方法 描述
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

方法 描述
create-account 创建账户
参数
alias 账户名
xpub(s) 公钥
返回
alias 账户名
id 账户id
key_index 帐户在钱包节点中的索引值
quorum 签名数
xpubs 公钥,array

Example ./bytomcli create-account test 81b6150ee90b7936a8b21f7f3e5028d9060aef1cc633c13cbbb21183bbf66f3b484bf876468b4278f1421f9b66d55d6a4d71542e20faf908590a39d4e96cc0ed

list-accounts

方法 描述
list-accounts 获取节点中所有帐户
参数
返回 返回以下对象数组
id 帐户id
alias 账户名
key_index 帐户在钱包节点中的索引值
quorom 签名数,即发送交易时所需的密钥数
xpubs 公钥数组

Example ./bytomcli list-accounts

delete-account

方法 描述
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

方法 描述
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

方法 描述
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

方法 描述
validate-address(address) 校验地址是否合法
参数
address 地址
返回
valid 是否合法,true即合法
is_local 是否是本节点地址

Example ./bytomcli validate-address sm1qrztgvhxgfy2njgewdhk524uhzhdw03g9l63u48

create-asset

方法 描述
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

方法 描述
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

方法 描述
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

方法 描述
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

方法 描述
create-access-token 创建token
参数
tokenID token的id
返回
created_at 创建时间
id id
token token,包含密码。冒号后面为密码

Example ./bytomcli create-access-token test

list-access-tokens

方法 描述
list-access-tokens 获取所有token
参数
返回
created_at 创建时间
id token id
token token,冒号后面为密码

Example ./bytomcli list-access-tokens

check-access-token

方法 描述
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

方法 描述
get-block-count 获取当前的块高
参数
返回
block_count 块高

Example ./bytomcli get-block-count

get-block-hash

方法 描述
get-block-hash 返回最新块的哈希值
参数
返回
block_hash 块哈希

Example ./bytomcli get-block-hash

get-block

方法 描述
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

方法 描述
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

方法 描述
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 检测本节点是否在挖矿
参数
返回
is_mining true 表示在挖矿,false 表示没有在挖矿

Example ./bytomcli is-mining

gas-rate

方法 描述
gas-rate 获取当前的gas价格
参数
返回
gas_rate gas价格

Example ./bytomcli gas-rate

set-mining

方法 描述
set-mining 设置节点挖矿
参数
true 表示启动挖矿
false 表示停止挖矿
返回
success message

Example ./bytomcli set-mining true 或者 ./bytomcli set-mining false

build-transaction

方法 描述
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

方法 描述
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

方法 描述
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"}]}]}}'

猜你喜欢

转载自blog.csdn.net/z_xuewen/article/details/82378985