玩玩BTS

发布时间:2018年12月16日 价值:20000.00 / 共识:25

0.BTS信息:
1)BTS 使用 DPOS 共识机制
出块时间3秒,货币总量为20亿
共五位小数,100000 = 1.00000 BTS= 1 BTS

BTS充值提现(充币提币)上要将比特股理解为一个钱包就像比特币或以太坊钱包一样,只不过用的地址不是长长的公钥地址,而是用比特股账户名,或者说账户名就是地址,地址(公钥)是可以看到的,只是一般很少用到,日常操作、支付转账多是用账户(你的用户名)来进行的。账户对应了三个地址(公钥),这三个是可以变更的,或者说你可以将账户(用户名)完完全全转让给别人。

2) BTS里,资金是存在账户里的,不是所有账号都可以免费注册,一般带横杠的或者数字的账号可以免费注册,比如 my-exchange ,或者 myexchange2017 。
在轻钱包账户页面里,账号下面会显示一个数字,这个数字是该账号在 BTS 系统里的内置ID,会用到。
为了资金安全,交易所可以用一个账号负责充值,另用一个账号负责提现

3) 用户充值,就是从其他账号转账到钱包的公开账号。
账号名就是收款地址。
每笔转账可以带一个备注,钱包通过这个备注来区分是哪个用户的充值。
具体备注与钱包用户关联关系,自行设定。
备注是加密的,只有拥有发送者或者接收者的备注密钥才可以解密

4) 用户提现,就是从钱包账号转账到用户账号,目的地的账号名由用户提供。
由于有用户需要把资金直接从一个钱包转到另一个钱包,而另一个钱包是根据备注入账,所以提现功能最好可以带备注。

5) 每个账号默认有3对密钥,可以在账户-高级设定-权限页面里查看,分别为:活跃权限、账户权限、备注密钥。
其中,活跃权限秘钥用于转账等日常操作;账户权限密钥用于修改密钥;备注密钥用来加密和解密转账备注。
默认情况下,活跃权限密钥与备注密钥相同,但可以修改为不同。

6)区块链结构:
每个块有个 ID,即 block_id,该 ID 是块内容的 hash 值;

  1. 每个块包含前一块的 ID,存放在 "previous" 字段,因此形成一个链;
  2. 每个块里包含多个交易,存放在 "transactions" 字段,按顺序存放;
  3. 使用 API 获取块信息时,会同时返回 "transaction_ids" 字段,即交易 ID 清单,是交易(不包含签名)序列化后的 hash
  4. 每个交易可包含多个操作,存放在 "operations" 字段,按顺序存放;
  5. 每个操作也有一个 ID ,是一个全局数字编号,是程序运行中内部产生的,不是 hash

1.服务器环境搭建部署:

1)基础软硬件需求
独立服务器或者VPS
8G 内存(更多更好)
50G 硬盘
安装 64 位 Ubuntu 16.04 LTS (推荐) ,或者 Ubuntu 14.04 LTS ,或者 Windows Server

2)程序准备
要对接 BTS 系统,需要运行这几个程序:普通节点 witness_node 、命令行钱包 cli_wallet

sudo apt-get update

sudo apt-get install autoconf cmake git libboost-all-dev libssl-dev doxygen g++ libcurl4-openssl-dev

git clone https://github.com/bitshares/bitshares-core.git

cd bitshares-core

git checkout 版本号 //查看版本号 https://github.com/bitshares/bitshares-core/releases

如果报提示 :则输入 git checkout #提示

git submodule update —init —recursive

mkdir build

cd build

cmake -DCMAKE_BUILD_TYPE=Release ..

make witness_node cli_wallet

编译完成后,得到两个可执行程序分别是:

  • build/programs/witness_node/witness_node
  • build/programs/cli_wallet/cli_wallet

3)同步区块环境准备

安装 NTP 服务端
sudo timedatectl set-ntp false
sudo apt-get install ntp

4)同步区块
./witness_node -d witness_node_data_dir

然后按 Ctrl+C 结束它。

在当前目录生成一个数据目录 witness_node_data_dir ,里面包含 blockchain 目录是数据存储,以及一个 config.ini 配置文件。

config.ini 配置文件修改。

1) 可关闭 p2p 日志,以减小硬盘存储压力,方法是找到 filename=logs/p2p/p2p.log 行,在行首添加 # 号
或者将 [logger.p2p] 下面的 level=info 修改为 level=error

2)将控制台日志同时保存到文件

[logger.default]
level=info
appenders=stderr

修改为

[log.file_appender.default]
filename=logs/default/default.log

[logger.default]
level=info
appenders=stderr,default

这样, witness_node_data_dir/logs/default/ 目录下会同步保留最近24小时的控制台日志。

3) 改参数会减少运行需要的内存,原理是不保存 BTS 内置交易引擎的历史成交记录索引,一般用不到这个数据。

history-per-size = 0

plugins = witness account_history

4)每账号保留多少条历史记录供查询,默认值是 1000

max-ops-per-account = 10000000 数值可根据需求修改

5) 以下两个参数会大量减少运行需要的内存,原理是不保存与交易所账户无关的历史数据索引

track-account = “1.2.12345”
partial-operations = true

2.重新执行:
进入目录启动 witness_node ,开始同步数据

~/bitshares-core/build/programs/witness_node$ sudo ./witness_node -d /data/witness_node_data_dir —rpc-endpoint 127.0.0.1:8090

同步需要几个小时

3.启动钱包:

进入 bitshares-core/build/programs/cli_wallet

钱包一: ./cli_wallet -w wallet_for_withdrawal.json -s ws://127.0.0.1:8090 -H 127.0.0.1:8091

钱包二: ./cli_wallet -w wallet_for_deposit.json -s ws://127.0.0.1:8090 -H 127.0.0.1:8093

配置参考:https://github.com/abitmore/bts-cn-docs
{
“brain_priv_key”: “FRORE CHOOSY FILMISH PLOUGH NOVELRY BEGUNK STRICK RANTER DEMISS CLUMPY HAZE NAPLESS ADAGE STUBOY VAIL SORROA”,
“wif_priv_key”: “5J9ng9cE6SGS1XNmeDUXYKdB4G3SXi5uix1eyXxFczz7R8R9ssY”,
“pub_key”: “BTS5YQYHAFCUtcB3Xxm8PMhBG2fsrncLuuSL7YjUFJ8G9pjFNq3AG”
}

wangyaxing321 密码:P5J3Jz2KYJPBRpXJobFbBH3i88bGrx6Z7Z1aXhFAPy4nTi9AKpAY

curl —data ‘{“jsonrpc”:”2.0”,”method”:”get_accounts”,”params”:[“1.2.12345”],”id”:1}’ http://127.0.0.1:8090/RPC

4.私链操作
进入/usr/local/dataroot/wyx/bitshares-core/build/programs/cli_wallet目录,
输入启动包: sudo ./cli_wallet —wallet-file=my-wallet.json —chain-id cfd6bc06951a0c9b0ad1dac6c23273cf3ae0423cd282f6a177591d242dc44097  —server-rpc-endpoint=ws://127.0.0.1:922 -H 127.0.0.1:831

解锁密码:unlock wang812323

即可操作

构建方式:

在公链节点和钱包安装的情况下:

进入到安装的bitshares-core/build/programs/witness_node目录,以下指令都在这个目录中执行

1.创建创世文件, bts源代码中带有创世文件

执行:sudo ./ witness_node —create-genesis-json my-genesis.json

生成my-genesis.json文件和witness_node_data_dir目录

2.启动见证人节点:

执行: ./witness_node —data-dir data —genesis-json my-genesis.json

进入data文件 修改config配置文件以下参数:

rpc-endpoint = 127.0.0.1:12222
genesis-json = my-genesis.json
enable-stale-production = true

witness-id = “1.6.1”

3.执行区块节点更新

执行: ./witness_node —data-dir data

结尾部分会生成chain-id,记录下来,用于钱包链接登录 Chain ID is d2677f0541b5c8944bb04905129366cab9333e9d0a62f8abf8483b69e0442063

4.另外打开一个终端端口,进入 bitshares-core/build/programs/cli_wallet 钱包目录

执行: sudo ./cli_wallet —wallet-file=my-wallet.json —chain-id d2677f0541b5c8944bb04905129366cab9333e9d0a62f8abf8483b69e0442063  —server-rpc-endpoint=ws://127.0.0.1:8090 -H 127.0.0.1:89

5.创建钱包账户密码:

new >>> set_password wang812323

输出:
set_password wang812323
null

解锁:
locked >>> unlock wang812323
unlocked >>>

6.导入名为nathan的账户 (这个是在 my-genesies.json 创世文件中定义的,撕咬在config.ini中定义的)

unlocked >>> import_key nathan 5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3

7.领取资金:
unlocked >>> import_balance nathan [“5KQwrPbwdL6PhXujxW37FSSQZ1JiwsST4cqQzDeyXtP79zkvFD3”] true

8.查看账户信息
unlocked >>> get_account nathan

输出:

get_account nathan
{
“id”: “1.2.17”, //账户id
“membership_expiration_date”: “1969-12-31T23:59:59”,
“registrar”: “1.2.17”, //注册id
“referrer”: “1.2.17”,
“lifetime_referrer”: “1.2.17”,
“network_fee_percentage”: 2000, //网络费率0.02BTS
“lifetime_referrer_fee_percentage”: 8000,
“referrer_rewards_percentage”: 0, //推荐者奖励
“name”: “nathan”, //账户名称
“owner”: { //账户权限,可注册管理账户权限,修改密钥
“weight_threshold”: 1, //权重
“account_auths”: [],
“key_auths”: [[
“BTS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV”, //账户公钥
1
]
],
“address_auths”: []
},
“active”: { //活跃账户,具有转账权限
“weight_threshold”: 1, //权重
“account_auths”: [],
“key_auths”: [[
“BTS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV”,
1
]
],
“address_auths”: []
},
“options”: { //备注秘钥,加密和解密转账备注
“memo_key”: “BTS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV”,
“voting_account”: “1.2.5”,
“num_witness”: 0,
“num_committee”: 0,
“votes”: [],
“extensions”: []
},
“statistics”: “2.6.17”,
“whitelisting_accounts”: [],
“blacklisting_accounts”: [],
“whitelisted_accounts”: [],
“blacklisted_accounts”: [],
“owner_special_authority”: [
0,{}
],
“active_special_authority”: [
0,{}
],
“top_n_control_flags”: 0
}

9.查看账户余额
unlocked >>> list_account_balances nathan

输出:
list_account_balances nathan
10000000000 BTS

10升级主账户 (创建新账户必须通过已有的账户来完成,注册需要提供资金,注册商需要升级账户)
unlocked >>> upgrade_account nathan true

升级完后,因为缓存原因,需要重启

可执行:get_account nathan 查看

“membership_expiration_date”已经从”1970-01-01T00:00:00” 变成了 “1969-12-31T23:59:59”,意味着升级成功

11.生成可注册账户:
locked >>> suggest_brain_key

输出:
{
“brain_priv_key”: “WHALP FERRETY HARFANG ROSCID SOD RELAMP CLYSMIC TENURE BARBONE DEADMAN BIRLIE UNCOCK TRESS SEATED LINDEN IMPAINT”,
“wif_priv_key”: “5K69Gfsa7UfRADLDz85B2TzGKgsPzT5hoNHjLWDwyVChcqBGgnn”,
“pub_key”: “BTS75ascD99LHWZdZ7Gmjt46Vm8KBBu4a8eMomUHX5hLySFdXKXox”
}

12.导入相应私钥注册test账户:
unlocked >>> create_account_with_brain_key “FIKE EYELINE SPIRT KEUP CHINKS MOOR GUACIMO SATIRIC ASKANCE ANTIC FINICAL BIVIOUS FRAT SIGHTEN ZORGITE NECKTIE” test nathan nathan true

13.转账操作:
unlocked >>>transfer nathan test 2000000000 BTS “give test some bts” true //源账户名,目的账户名,金额,币种,备注

输出:
transfer nathan test 2000000000 BTS “give test some bts” true
{
“ref_block_num”: 48, //参考交易区块块
“ref_block_prefix”: 887300701, //区块前缀,备注
“expiration”: “2018-05-24T09:10:05”,
“operations”: [[
0,{ //0=transfer 1=limit order create …..这里声明交易类型等等
“fee”: {
“amount”: 2105468, //总共消耗bts
“asset_id”: “1.3.0” //消耗的资产id,bts的资产id为1.3.0
},
“from”: “1.2.17”, //转账id
“to”: “1.2.18”, //收款id
“amount”: {
“amount”: “200000000000000”, //转账金额
“asset_id”: “1.3.0”
},
“memo”: {
“from”: “BTS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV”, //转账地址
“to”: “BTS6NZ3Zbi1v8Y9W8KaiYfWCANKrm9Mj3MmsNbgQS3QY2xYSLGwJp”, //收账地址
“nonce”: “8360208061388772441”, //交易等待默认时间戳,
“message”: “2532bc9b9147931c3176741e59034a0df3c0b4d8feeef47a606b37482c14a3c7” //转账时的备注
},
“extensions”: []
}
]
],
“extensions”: [],
“signatures”: [
“200b5adbe59c575a6a9955f32943d448740ffbdbb14fae365ca90c7bf290dfa42c28e39240f4187056ca868fc4cc32efb88cb6e3f657688dece7f4eabd333e6e2b” //交易哈希
]
}

14.查询test账户 和nathan 余额
unlocked >>> list_account_balances test

输出:
list_account_balances test
2000000000 BTS

unlocked >>> list_account_balances nathan

输出:
list_account_balances nathan
7999987978.80470 BTS

15.查看当前同步情况

unlocked >>> info

输出:
info
{
“head_block_num”: 91,
“head_block_id”: “0000005bbb883ee537109c2539fea1242ea25a00”,
“head_block_age”: “10 seconds old”,
“next_maintenance_time”: “14 hours in the future”,
“chain_id”: “cfd6bc06951a0c9b0ad1dac6c23273cf3ae0423cd282f6a177591d242dc44097”,
“participation”: “8.59375000000000000”,
“active_witnesses”: [ //见证人id
“1.6.1”,
“1.6.2”,
“1.6.3”,
“1.6.4”,
“1.6.5”,
“1.6.6”,
“1.6.7”,
“1.6.8”,
“1.6.9”,
“1.6.10”,
“1.6.11”
],
“active_committee_members”: [ //委员会成员id,11个超级网关节点
“1.5.0”,
“1.5.1”,
“1.5.2”,
“1.5.3”,
“1.5.4”,
“1.5.5”,
“1.5.6”,
“1.5.7”,
“1.5.8”,
“1.5.9”,
“1.5.10”
]
}

16查询冲账地址:

unlocked >>> get_relative_account_history nathan 1 100 100 //从左往右依次是:账户名,最小编号,最大编号,最大返回数量,编号从1开始(某个版本的 cli_wallet 最大返回数量超过 100 时有个bug,导致结果不准,使用时请避免 limit 超过 100 )

输出:

get_relative_account_history nathan 1 100 100
2018-05-24T09:10:30 Transfer 2000000000 BTS from nathan to test — Memo: give test some bts (Fee: 21.05468 BTS) //发生的充值时间及消耗信息
2018-05-24T09:08:40 Create Account ‘test’ (Fee: 2000.14062 BTS) //被转账号金额变动
2018-05-24T09:04:15 account_upgrade_operation nathan fee: 10000 BTS //用nathan主账号注册aplha账号消耗
2018-05-24T07:59:10 balance_claim_operation nathan fee: 0 BTS //导入nathan资金消耗

17查询区块信息:

unlocked >>> get_block 16

输出:
{
“previous”: “0000000fd613c2cbd1477c8562d6ef6fc93e2bfd”,
“timestamp”: “2018-05-24T08:05:00”,
“witness”: “1.6.1”,
“transaction_merkle_root”: “0000000000000000000000000000000000000000”,
“extensions”: [],
“witness_signature”: “1f0d3746ad4e57104475c400f3ed35a205c10493f9e7b9f4f51e7ffe54eff1b2c90f05dc781ea5fc38d4edaf6e0999622b61bb76680469900bed0b3ecea4cfc2e0”,
“transactions”: [],
“block_id”: “0000001072f0a926447e2439ac1bf7b300495e59”,
“signing_key”: “BTS6MRyAjQq8ud7hVNYcfnVPJqcVpscN5So8BhtHuGYqET5GDW5CV”,
“transaction_ids”: []
}

18获取钱包中账号nathan的id:
使用 get_account_id 命令可以检查客户输入的提现目的账号是否有效

unlocked >>> get_account_id nathan

输出:
get_account_id nathan
“1.2.17”

19:钱包后台运行
cli_wallet 有个参数 —daemon ,启动时加入此参数,会在后台运行

20:提现结果检查

使用 get_relative_account_history 命令获取 withdrawal-account 的提现历史,参照充值处理章节,如果发现有新的记录,
并且交易所在块号早于 last_irreversible_block_num ,则表示交易已经进块并且不可回退;

注意:交易没有进块时,仍然可能在 get_relative_account_history 中出现,并且所在块号会一直改变,难以判断状态。
所以请使用 last_irreversible_block_num 来判断。

根据该条记录的 block_num 字段,使用 get_block 命令查询详情

unlocked >>> get_block 12345

返回结果中, transaction_ids 字段数据里应该包含前面的交易 id 。

建议记录上述 get_relative_account_history 结果中的 id (1.11.x), block_num, trx_in_block 备查。

ps:API参考:
variant_object about()
void add_operation_to_builder_transaction(transaction_handle_type transaction_handle, const operation & op)
signed_transaction approve_proposal(const string & fee_paying_account, const string & proposal_id, const approval_delta & delta, bool broadcast)
transaction_handle_type begin_builder_transaction()
signed_transaction bid_collateral(string bidder_name, string debt_amount, string debt_symbol, string additional_collateral, bool broadcast)
vector blind_history(string key_or_account)
blind_confirmation blind_transfer(string from_key_or_label, string to_key_or_label, string amount, string symbol, bool broadcast)
signed_transaction borrow_asset(string borrower_name, string amount_to_borrow, string asset_symbol, string amount_of_collateral, bool broadcast)
pair broadcast_transaction(signed_transaction tx)
signed_transaction cancel_order(object_id_type order_id, bool broadcast)
signed_transaction create_account_with_brain_key(string brain_key, string account_name, string registrar_account, string referrer_account, bool broadcast)
signed_transaction create_asset(string issuer, string symbol, uint8_t precision, asset_options common, fc::optional bitasset_opts, bool broadcast)
signed_transaction create_committee_member(string owner_account, string url, bool broadcast)
signed_transaction create_witness(string owner_account, string url, bool broadcast)
signed_transaction create_worker(string owner_account, time_point_sec work_begin_date, time_point_sec work_end_date, share_type daily_pay, string name, string url, variant worker_settings, bool broadcast)
void dbg_generate_blocks(std::string debug_wif_key, uint32_t count)
void dbg_make_mia(string creator, string symbol)
void dbg_make_uia(string creator, string symbol)
void dbg_push_blocks(std::string src_filename, uint32_t count)
void dbg_stream_json_objects(const std::string & filename)
void dbg_update_object(fc::variant_object update)
vector derive_owner_keys_from_brain_key(string brain_key, int number_of_desired_keys)
map dump_private_keys()
void flood_network(string prefix, uint32_t number_of_transactions)
signed_transaction fund_asset_fee_pool(string from, string symbol, string amount, bool broadcast)
account_object get_account(string account_name_or_id)
uint64_t get_account_count()
vector get_account_history(string name, int limit)
account_history_operation_detail get_account_history_by_operations(string name, vector operation_types, uint32_t start, int limit)
account_id_type get_account_id(string account_name_or_id)
asset_object get_asset(string asset_name_or_id)
asset_bitasset_data_object get_bitasset_data(string asset_name_or_id)
optional get_block(uint32_t num)
vector get_call_orders(string a, uint32_t limit)
vector get_collateral_bids(string asset, uint32_t limit, uint32_t start)
committee_member_object get_committee_member(string owner_account)
dynamic_global_property_object get_dynamic_global_properties()
global_property_object get_global_properties()
vector get_limit_orders(string a, string b, uint32_t limit)
vector get_market_history(string symbol, string symbol2, uint32_t bucket, fc::time_point_sec start, fc::time_point_sec end)
variant get_object(object_id_type id)
order_book get_order_book(const string & base, const string & quote, unsigned limit)
string get_private_key(public_key_type pubkey)
operation get_prototype_operation(string operation_type)
vector get_relative_account_history(string name, uint32_t stop, int limit, uint32_t start)
vector get_settle_orders(string a, uint32_t limit)
transaction_id_type get_transaction_id(const signed_transaction & trx)
vector get_vesting_balances(string account_name)
witness_object get_witness(string owner_account)
string gethelp(const string & method)
signed_transaction global_settle_asset(string symbol, price settle_price, bool broadcast)
string help()
bool import_account_keys(string filename, string password, string src_account_name, string dest_account_name)
map import_accounts(string filename, string password)
vector import_balance(string account_name_or_id, const vector & wif_keys, bool broadcast)
bool import_key(string account_name_or_id, string wif_key)
variant info()
bool is_locked()
bool is_new()
bool is_public_key_registered(string public_key)
signed_transaction issue_asset(string to_account, string amount, string symbol, string memo, bool broadcast)
vector list_account_balances(const string & id)
map list_accounts(const string & lowerbound, uint32_t limit)
vector list_assets(const string & lowerbound, uint32_t limit)
map list_committee_members(const string & lowerbound, uint32_t limit)
vector list_my_accounts()
map list_witnesses(const string & lowerbound, uint32_t limit)
bool load_wallet_file(string wallet_filename)
void lock()
void network_add_nodes(const vector & nodes)
vector network_get_connected_peers()
string normalize_brain_key(string s)
transaction preview_builder_transaction(transaction_handle_type handle)
signed_transaction propose_builder_transaction(transaction_handle_type handle, time_point_sec expiration, uint32_t review_period_seconds, bool broadcast)
signed_transaction propose_builder_transaction2(transaction_handle_type handle, string account_name_or_id, time_point_sec expiration, uint32_t review_period_seconds, bool broadcast)
signed_transaction propose_fee_change(const string & proposing_account, fc::time_point_sec expiration_time, const variant_object & changed_values, bool broadcast)
signed_transaction propose_parameter_change(const string & proposing_account, fc::time_point_sec expiration_time, const variant_object & changed_values, bool broadcast)
signed_transaction publish_asset_feed(string publishing_account, string symbol, price_feed feed, bool broadcast)
string read_memo(const memo_data & memo)
blind_receipt receive_blind_transfer(string confirmation_receipt, string opt_from, string opt_memo)
signed_transaction register_account(string name, public_key_type owner, public_key_type active, string registrar_account, string referrer_account, uint32_t referrer_percent, bool broadcast)
void remove_builder_transaction(transaction_handle_type handle)
void replace_operation_in_builder_transaction(transaction_handle_type handle, unsigned operation_index, const operation & new_op)
signed_transaction reserve_asset(string from, string amount, string symbol, bool broadcast)
void save_wallet_file(string wallet_filename)
signed_transaction sell_asset(string seller_account, string amount_to_sell, string symbol_to_sell, string min_to_receive, string symbol_to_receive, uint32_t timeout_sec, bool fill_or_kill, bool broadcast)
string serialize_transaction(signed_transaction tx)
signed_transaction set_desired_witness_and_committee_member_count(string account_to_modify, uint16_t desired_number_of_witnesses, uint16_t desired_number_of_committee_members, bool broadcast)
asset set_fees_on_builder_transaction(transaction_handle_type handle, string fee_asset)
void set_password(string password)
signed_transaction set_voting_proxy(string account_to_modify, optional voting_account, bool broadcast)
signed_transaction settle_asset(string account_to_settle, string amount_to_settle, string symbol, bool broadcast)
signed_transaction sign_builder_transaction(transaction_handle_type transaction_handle, bool broadcast)
memo_data sign_memo(string from, string to, string memo)
signed_transaction sign_transaction(signed_transaction tx, bool broadcast)
brain_key_info suggest_brain_key()
signed_transaction transfer(string from, string to, string amount, string asset_symbol, string memo, bool broadcast)
pair transfer2(string from, string to, string amount, string asset_symbol, string memo)
blind_confirmation transfer_from_blind(string from_blind_account_key_or_label, string to_account_id_or_name, string amount, string asset_symbol, bool broadcast)
blind_confirmation transfer_to_blind(string from_account_id_or_name, string asset_symbol, vector> to_amounts, bool broadcast)
void unlock(string password)
signed_transaction update_asset(string symbol, optional new_issuer, asset_options new_options, bool broadcast)
signed_transaction update_asset_feed_producers(string symbol, flat_set new_feed_producers, bool broadcast)
signed_transaction update_bitasset(string symbol, bitasset_options new_options, bool broadcast)
signed_transaction update_witness(string witness_name, string url, string block_signing_key, bool broadcast)
signed_transaction update_worker_votes(string account, worker_vote_delta delta, bool broadcast)
signed_transaction upgrade_account(string name, bool broadcast)
signed_transaction vote_for_committee_member(string voting_account, string committee_member, bool approve, bool broadcast)
signed_transaction vote_for_witness(string voting_account, string witness, bool approve, bool broadcast)
signed_transaction whitelist_account(string authorizing_account, string account_to_list, account_whitelist_operation::account_listing new_listing_status, bool broadcast)
signed_transaction withdraw_vesting(string witness_name, string amount, string asset_symbol, bool broadcast)

  • 分享 收藏
0 条评论
  • 这篇文章暂无评论,赶紧评论一下吧~