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,该笔交易的返佣受益人为池主的注册人和引荐人。