BitShares Forum
Main => 中文 (Chinese) => Topic started by: abit on September 18, 2020, 03:53:47 am
-
测试网新版 test-5.0.0 已发布: https://github.com/bitshares/bitshares-core/releases/tag/test-5.0.0
新功能生效时间 北京时间 2020年9月19日晚上21点整。
功能清单 https://github.com/bitshares/bitshares-core/milestone/31?closed=1
命令行教程在3楼。
命令行工具下载
win https://github.com/abitmore/bitshares-core/releases/download/test-5.0.0/bitshares-core-test-5.0.0-win64-bin.zip
linux https://github.com/abitmore/bitshares-core/releases/download/test-5.0.0/bitshares-core-test-5.0.0-linux-amd64-bin.tar.bz2
mac https://github.com/abitmore/bitshares-core/releases/download/test-5.0.0/bitshares-core-test-5.0.0-macos64-bin.tar.bz2
-
测试网升级出块正常。
-
AMM 流量池相关操作 ( cli_wallet 命令 和 API )
1. 建池
op code: 59
参数
fee 手续费,测试网默认手续费 50 TEST
account 账号,格式 1.2.x
asset_a 资产A,格式 1.3.x
asset_b 资产B,格式 1.3.x
share_asset 权益资产(即LP TOKEN),格式 1.3.x
taker_fee_percent 交易手续费,整数表示,单位是万分之一
withdrawal_fee_percent 提现手续费,整数表示,单位是万分之一
注:
* 资产 A 的 ID 必须小于资产 B 的 ID
* 建池必须绑定权益资产,只有权益资产持有人才能绑定,且自动成为池主
* 权益资产必须预先建好,不能是AB之一,必须是普通UIA,不能有存量
比如:
abit-test 建池,交易对 TEST/CONTEST.BTC ,权益资产 CONTEST.LP1
sign_transaction { "operations": [[59,{ "fee": { "amount": 5000000, "asset_id": "1.3.0" }, "account": "1.2.3833", "asset_a": "1.3.0", "asset_b": "1.3.1515", "share_asset": "1.3.1560", "taker_fee_percent": 12, "withdrawal_fee_percent": 50 }]] } true
1.1 检查操作结果
可以用 get_account_history 命令查看帐户操作历史,比如
get_account_history abit-test 10
结果示例
40057890 2020-09-19T14:28:06 liquidity_pool_create_operation abit-test fee: 50 TEST result: {"new_objects":["1.19.0"],"updated_objects":["1.3.1560"],"removed_objects":[]}
格式为:块号 时间 操作 帐号 手续费 结果
结果里 new_objects 里 1.19.x 就是池 ID ,可以通过 get_object 命令查看
updated_objects 里的 1.3.1560 表示权益资产 ID
>>> get_object 1.19.0
[{
"id": "1.19.0",
"asset_a": "1.3.0",
"asset_b": "1.3.1515",
"balance_a": 0,
"balance_b": 0,
"share_asset": "1.3.1560",
"taker_fee_percent": 12,
"withdrawal_fee_percent": 50,
"virtual_value": "0"
}
]
结果说明:
id 池 ID
asset_a 资产A
asset_b 资产B
balance_a 余额A
balance_b 余额B
share_asset 权益资产
taker_fee_percent 交易手续费,整数表示,单位是万分之一
withdrawal_fee_percent 提现手续费,整数表示,单位是万分之一
virtual_value 恒定乘积 = balance_a * balance_b
用 get_asset CONTEST.LP1 命令也可以看到里面有一项 "for_liquidity_pool": "1.19.0"
表示该资产是不是一个 LP TOKEN ,以及对应的池ID是多少
>>> get_asset CONTEST.LP1
{
"id": "1.3.1560",
"symbol": "CONTEST.LP1",
...
"for_liquidity_pool": "1.19.0",
...
2. 删池
op code: 60
参数
fee 手续费,测试网默认手续费 0 ,也就是免费
account 账号,格式 1.2.x
pool 池 ID ,格式 1.19.x
注:
* 只有池主才可以删
* 只有空池才可以删
* 删后对应的权益资产可再利用
比如:
abit-test 删除 CONTEST.LP1 对应的池
sign_transaction { "operations": [[60,{ "fee": { "amount": 0, "asset_id": "1.3.0" }, "account": "1.2.3833", "pool": "1.19.0" }]] } true
2.1 检查操作结果
可以用 get_account_history 命令查看帐户操作历史,比如
get_account_history abit-test 10
结果示例
40057890 2020-09-19T14:28:06 liquidity_pool_delete_operation abit-test fee: 0 TEST result: {"new_objects":[],"updated_objects":["1.3.1560"],"removed_objects":["1.19.0"]}
格式为:块号 时间 操作 帐号 手续费 结果
结果里 removed_objects 里 1.19.x 就是池 ID ,表示已删除
updated_objects 里的 1.3.1560 表示权益资产 ID
3. 批量查询 API
* 按资产A查所有池 get_liquidity_pools_by_asset_a (asset_a, limit, start_id)
* 按资产B查所有池 get_liquidity_pools_by_asset_b (asset_b, limit, start_id)
* 按交易对查询池列表 get_liquidity_pools_by_both_assets ( asset_a, asset_b, limit, start_id)
* 按权益资产批量查询池 get_liquidity_pools_by_share_asset( [assets], subscribe )
注:
* limit和start_id 用于翻页。limit最大值默认101,是节点运行参数之一,可调节。
* subscribe 用于订阅通知
4. 充值,即将交易资产存入池中,换取对应的权益资产
op code: 61
参数
fee 手续费,测试网默认手续费 0.1 TEST
account 账号,格式 1.2.x
pool 池 ID ,格式 1.19.x
amount_a 资产A数量,标准金额格式(数量+币种)
amount_b 资产B数量,标准金额格式(数量+币种)
注:
* 空池只有池主才可以充,非空池任何人都可以充
* 空池充值确定初始兑换比例
* 非空池充值时,资产按比例进池,按比例得到权益资产,多的充值会退还
* 池上限由权益资产(LP TOKEN)的最大供应量来调节
比如:
abit-test 往 CONTEST.LP1 池 充值 100 TEST 和 0.1 CONTEST.BTC
sign_transaction { "operations": [[61,{ "fee": { "amount": 10000, "asset_id": "1.3.0" }, "account": "1.2.3833", "pool": "1.19.0", "amount_a": { "amount": 10000000, "asset_id": "1.3.0" }, "amount_b": { "amount": 10000000, "asset_id": "1.3.1515" } }]] } true
4.1 检查操作结果
可以用 get_account_history 命令查看帐户操作历史,比如
get_account_history abit-test 10
结果示例
40058486 2020-09-19T15:00:33 liquidity_pool_deposit_operation abit-test fee: 0.10000 TEST result: {"paid":[{"amount":10000000,"asset_id":"1.3.0"},{"amount":10000000,"asset_id":"1.3.1515"}],"received":[{"amount":10000000,"asset_id":"1.3.1560"}],"fees":[]}
格式为:块号 时间 操作 帐号 手续费 结果
结果里 paid 数组表示实际付款金额, received 数组表示得到的数量
也可以用 list_account_balances 命令查余额,此处略。
用 get_object 1.19.0 命令检查池信息
5. 提现,即将权益资产归还给池,换取所对应权益的交易资产
op code: 62
参数
fee 手续费,测试网默认手续费 5 TEST
account 账号,格式 1.2.x
pool 池 ID ,格式 1.19.x
share_amount 权益资产数量,标准金额格式(数量+币种)
注:
* 按所支付的权益资产占比计算对应的交易资产,扣除提现手续费后支付给提现者
* 提现手续费存留于池中,最后一个提现的不扣手续费
比如:
abit-test 从 CONTEST.LP1 池 提现 100 LP1
sign_transaction { "operations": [[62,{ "fee": { "amount": 500000, "asset_id": "1.3.0" }, "account": "1.2.3833", "pool": "1.19.0", "share_amount": { "amount": 1000000, "asset_id": "1.3.1560" } }]] } true
5.1 检查操作结果
可以用 get_account_history 命令查看帐户操作历史,比如
get_account_history abit-test 10
结果示例
40058679 2020-09-19T15:11:30 liquidity_pool_withdraw_operation abit-test fee: 5 TEST result: {"paid":[{"amount":1000000,"asset_id":"1.3.1560"}],"received":[{"amount":995000,"asset_id":"1.3.0"},{"amount":995000,"asset_id":"1.3.1515"}],"fees":[]}
格式为:块号 时间 操作 帐号 手续费 结果
结果里 paid 数组表示实际付款金额, received 数组表示得到的数量
也可以用 list_account_balances 命令查余额,此处略。
用 get_object 1.19.0 命令检查池信息
6. 交易,即用A资产换B资产或者用B资产换A资产
op code: 63
参数
fee 手续费,测试网默认手续费 1 TEST
account 账号,格式 1.2.x
pool 池 ID ,格式 1.19.x
amount_to_sale 卖出数量和币种,标准金额格式(数量+币种)
min_to_receive 最少买入数量和币种,标准金额格式(数量+币种)
注:
* 池上限由权益资产(LP TOKEN)的最大供应量来调节
比如:
abit-test 往 CONTEST.LP1 池 卖 20 TEST,希望最少获得0.01 CONTEST.BTC
sign_transaction { "operations": [[63,{ "fee": { "amount": 100000, "asset_id": "1.3.0" }, "account": "1.2.3833", "pool": "1.19.0", "amount_to_sell": { "amount": 2000000, "asset_id": "1.3.0" }, "min_to_receive": { "amount": 1000000, "asset_id": "1.3.1515" } }]] } true
6.1 检查操作结果
可以用 get_account_history 命令查看帐户操作历史,比如
get_account_history abit-test 10
结果示例
40058783 2020-09-19T15:17:06 liquidity_pool_exchange_operation abit-test fee: 1 TEST result: {"paid":[{"amount":2000000,"asset_id":"1.3.0"}],"received":[{"amount":1631296,"asset_id":"1.3.1515"}],"fees":[{"amount":0,"asset_id":"1.3.0"},{"amount":3269,"asset_id":"1.3.1515"}]}
格式为:块号 时间 操作 帐号 手续费 结果
结果里 paid 数组表示实际付款金额, received 数组表示得到的数量, fees 表示交易手续费
也可以用 list_account_balances 命令查余额,此处略。
用 get_object 1.19.0 命令检查池信息
-
问题1:作为一名普通用户,从什么渠道知道已在运行的池子呢...
-
问题1:作为一名普通用户,从什么渠道知道已在运行的池子呢...
池子的ID 是 1.19.x ,可以直接遍历找。
UI内置也是一个办法。
3. 批量查询 API
* 按资产A查所有池 get_liquidity_pools_by_asset_a (asset_a, limit, start_id)
* 按资产B查所有池 get_liquidity_pools_by_asset_b (asset_b, limit, start_id)
* 按交易对查询池列表 get_liquidity_pools_by_both_assets ( asset_a, asset_b, limit, start_id)
* 按权益资产批量查询池 get_liquidity_pools_by_share_asset( [assets], subscribe )
注:
* limit和start_id 用于翻页。limit最大值默认101,是节点运行参数之一,可调节。
* subscribe 用于订阅通知
-
波场的JUSTSWAP学习改进了以太坊的 UNISWAP,简单易用,很适合国人玩。BTS能学习好波场的JUSTSWAP,并且发个类似UNI币的就可以了。现在这样复杂怎么玩?
-
波场的JUSTSWAP学习改进了以太坊的 UNISWAP,简单易用,很适合国人玩。BTS能学习好波场的JUSTSWAP,并且发个类似UNI币的就可以了。现在这样复杂怎么玩?
简单易用的用户界面后面,功能的实现都是复杂的。
上面发的东西,不是给最终玩家看的。
-
波场的JUSTSWAP学习改进了以太坊的 UNISWAP,简单易用,很适合国人玩。BTS能学习好波场的JUSTSWAP,并且发个类似UNI币的就可以了。现在这样复杂怎么玩?
简单易用的用户界面后面,功能的实现都是复杂的。
上面发的东西,不是给最终玩家看的。
玩起来越简单越好,希望9.30上线后 第一时间有教程 详细说明 之内的
-
更新命令行工具包下载地址。见顶楼
-
AMM 流量池相关操作 ( cli_wallet 命令 和 API )
1. 建池
op code: 59
参数
fee 手续费,测试网默认手续费 50 TEST
account 账号,格式 1.2.x
asset_a 资产A,格式 1.3.x
asset_b 资产B,格式 1.3.x
share_asset 权益资产(即LP TOKEN),格式 1.3.x
taker_fee_percent 交易手续费,整数表示,单位是万分之一
withdrawal_fee_percent 提现手续费,整数表示,单位是万分之一
注:
* 资产 A 的 ID 必须小于资产 B 的 ID
* 建池必须绑定权益资产,只有权益资产持有人才能绑定,且自动成为池主
* 权益资产必须预先建好,不能是AB之一,必须是普通UIA,不能有存量
貌似池子创建者可以获得maker fee分成?这个费率是在哪里设置的?
-
AMM 流量池相关操作 ( cli_wallet 命令 和 API )
1. 建池
op code: 59
参数
fee 手续费,测试网默认手续费 50 TEST
account 账号,格式 1.2.x
asset_a 资产A,格式 1.3.x
asset_b 资产B,格式 1.3.x
share_asset 权益资产(即LP TOKEN),格式 1.3.x
taker_fee_percent 交易手续费,整数表示,单位是万分之一
withdrawal_fee_percent 提现手续费,整数表示,单位是万分之一
注:
* 资产 A 的 ID 必须小于资产 B 的 ID
* 建池必须绑定权益资产,只有权益资产持有人才能绑定,且自动成为池主
* 权益资产必须预先建好,不能是AB之一,必须是普通UIA,不能有存量
貌似池子创建者可以获得maker fee分成?这个费率是在哪里设置的?
如果池内的资产(A/B)本身设置了市场交易费返佣,交易发生时,池作为maker,该笔交易的返佣受益人为池主的注册人和引荐人。