作为第一个在币安测试链成功发币/上币的机构

01

准备工作
根据币安链文档 https://binance-chain.github.io ,要发行一个新的Token,并让它上币安DEX交易,需要进行三次链上操作。
发行这个Token
提出上币请求
上币请求链上投票已经通过后,进行上币操作。
DEX网站是面对交易者的,目前并未对上述的三条命令提供UI,需要使用币安链的SDK或者命令行工具来操作。根据文档中的介绍,我们找到了下载地址 https://github.com/binance-chain/node-binary
费用方面,链上交易的费用需要从链上查询,通过阅读文档,我们找到可以通过节点的REST API /v1/fees接口查询链上费用,提供了REST API的节点有https://testnet-dex.binance.org/api/v1/fees 。查询得知,发币费用是2000 BNB,上线每个交易对的费用是 10000 BNB,提交每个交易对提案需要交2000 BNB的押金。
首先我们需要一个链上的节点信息用来打包广播我们的交易,命令行中还有一个参数chain-id需要确定。本文发表的时候币安链文档已经做了更新,把测试网的chain-id和一个可用的node写在文档里。在BNB48做操作的时候这些信息并没有,好在我们可以通过链上的各种接口找到需要的信息。
同样用api接口,https://testnet-dex.binance.org/api/v1/peers 可以获得当前活跃的节点信息,从中随便选择一个比较快的。

作为第一个在币安测试链成功发币/上币的机构

有了节点信息,listen_addr可以点击进去,发现一个available endpoints 列表。

作为第一个在币安测试链成功发币/上币的机构

点击其中的 /net_info ,返回的json中的network字段就是chain-id了。

作为第一个在币安测试链成功发币/上币的机构

最后,请俱乐部成员一起到faucet领取测试BNB,加上请工作人员帮忙,凑够了所需要的测试BNB。
02

发币
[ec2-user@ip-xxxxxxxx linux]$ ./bnbcli token issue –token-name “BNB48 Club Points” –total-supply 100000000000000000 –symbol KOGE –from bnb48test2 –trust-node –node http://data-seed-pre-0-s3.binance.org:80 –chain-id=Binance-Chain-Nile

Password to sign with ‘bnb48test2’:

Committed at block 1505205 (tx hash: 76B694C07F55914391ABAD7D003937572BDF6EE25D2076ED6A08B045B4332C7C, response: {Code:0 Data:[123 34 110 97 109 101 34 58 34 66 78 66 52 56 32 67 108 117 98 32 80 111 105 110 116 115 34 44 34 115 121 109 98 111 108 34 58 34 75 79 71 69 45 55 54 66 34 44 34 111 114 105 103 105 110 97 108 95 115 121 109 98 111 108 34 58 34 75 79 71 69 34 44 34 116 111 116 97 108 95 115 117 112 112 108 121 34 58 34 49 48 48 48 48 48 48 48 48 48 46 48 48 48 48 48 48 48 48 34 44 34 111 119 110 101 114 34 58 34 116 98 110 98 49 102 118 114 108 52 115 51 110 106 99 100 116 112 50 122 121 48 52 122 57 100 55 119 53 106 110 101 107 101 51 55 114 101 122 109 109 107 50 34 44 34 109 105 110 116 97 98 108 101 34 58 102 97 108 115 101 125] Log:Msg 0: Issued KOGE-76B Info: GasWanted:0 GasUsed:0 Tags:[{Key:[97 99 116 105 111 110] Value:[105 115 115 117 101 77 115 103] XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0}] Codespace: XXX_NoUnkeyedLiteral:{} XXX_unrecognized:[] XXX_sizecache:0})

上面是运行记录。注意蓝字标出来的部分。
我们发行了名为KOGE的token,供应量是10亿(参数单位是1e-8,所以要砍掉后面的八个零来看)。发行成功以后,链上会自动在KOGE后面附加一个连字符加三个随机数,我们的KOGE完整名称是KOGE-76B,这个完整名称是全网唯一的。
这个机制的目的是防止抢注。如果没有这个机制,如果有别人恶意抢发行了KOGE这个资产,我们就只好干瞪眼。有了这个随机后缀,就不存在这个问题。

03

申请

[ec2-user@ip-172-31-19-62 linux]$ ./bnbcli gov submit-list-proposal –from bnb48test2 –deposit 200000000000:BNB \
–base-asset-symbol KOGE-76B –quote-asset-symbol BNB –init-price 100000000 –title “list KOGE-76B/BNB” \
–description “list KOGE-76B/BNB” –expire-time 1570665600 –chain-id=Binance-Chain-Nile –trust-node –node http://data-seed-pre-0-s3.binance.org:80 –json

Password to sign with ‘bnb48test2’:

{“Height”:”1639917″,”TxHash”:”0D19B1B9F9733782C54F4F7109DC368E9A734D19B4EB6BE70EF1CC68B60555CB”,”Response”:{“data”:”MzM=”,”log”:”Msg 0: “,”tags”:[{“key”:”YWN0aW9u”,”value”:”c3VibWl0LXByb3Bvc2Fs”},{“key”:”cHJvcG9zZXI=”,”value”:”dGJuYjFmdnJsNHMzbmpjZHRwMnp5MDR6OWQ3dzVqbmVrZTM3cmV6bW1rMg==”},{“key”:”cHJvcG9zYWwtaWQ=”,”value”:”MzM=”},{“key”:”YWN0aW9u”,”value”:”c3VibWl0X3Byb3Bvc2Fs”}]}}
上面是运行记录,我们质押了2000BNB提交了KOGE/BNB交易对的上币申请,初始价格1BNB。
04

上币

文档中介绍了如何查看上币申请的投票情况。其实这里面有一段血泪史,由于几个意外bug(已经修复,所以不需要在乎),我们先后创了好几个无效的proposal,浪费了好几个2000 BNB和时间。不再赘述。我们的proposal id是33。
当我们查看到上币申请已经被完全通过了之后,我们就可以操作上币了。注意上币操作必须在上币申请中列出的expire 时间之前操作,否则这个已经通过的上币申请将不再可用。
[ec2-user@ip-172-31-19-62 linux]$ ./bnbcli dex list -s KOGE-76B –quote-asset-symbol BNB –from bnb48test2 –init-price 100000000 –proposal-id 33 –chain-id=Binance-Chain-Nile –node=data-seed-pre-2-s1.binance.org:80 –json
Password to sign with ‘bnb48test2’:
{“Height”:”1678492″,”TxHash”:”4EE51FAE984A2D4655EAA1F851C82F09EA57B7166066E83E2970C25057658959″,”Response”:{“log”:”Msg 0: “,”tags”:[{“key”:”YWN0aW9u”,”value”:”ZGV4TGlzdA==”}]}}
注意上币操作填写的参数,必须与上币申请中完全一致。关于这一点我有点不明白,为什么要再充填一遍而不是直接链上replay上币申请中的参数。

我们已经迫不及待想(完成更严密的测试工作之后)在币安链正式网上重复上述过程,看到下图所示。

作为第一个在币安测试链成功发币/上币的机构

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据