如何在幣安測試鏈上發幣/上幣?

Chi-Hsuan Huang
POSEIDON NETWORK
Published in
10 min readMar 10, 2019

今年 2 月 20 日世界最大的交易所幣安(Binance)宣布上線幣安鏈(Binance Chain)以及 Binance DEX 的測試網,在這個應用中,使用者可以透過代幣發行新的數位資產,並以幣安鏈網路為基礎進行交換或轉移。

根據幣安鏈的說明文件,要發行自己的幣,主要需要經過以下幾個步驟:

  1. 創建錢包 (Create wallet)
  2. 取得測試 BNB (Get test BNB)
  3. 發幣 (Issue token)
  4. 提交上幣申請 (Create proposal to list your token)
  5. 當申請通過後,正式進行上幣 (List your token)

近日我們已經在幣安測試鏈成功發行了 QAS 幣,以下分享介紹如何在幣安測試鏈上發幣/上幣的具體操作流程。

一、創建錢包

首先,為了在幣安發幣你需要先創建一個錢包,創建錢包最簡單的方式是直接透過幣安的網站,依據流程指示輸入密碼 (密碼用於解鎖 keystore 檔案)

創建錢包

點擊確認按鈕後會自動下載得到 keystore 檔案(用於搭配密碼解鎖錢包),並將該檔案與下一步驟取得的助記詞 (Mnemonic Phrase) 保管在安全的地方。

Mnenomic Phrase

創建錢包後,請到 Binance — Decentralized Exchange 上傳剛才的 keystore file 並輸入剛才的密碼解鎖你的錢包,就可以取到錢包的地址。

解鎖錢包
取得錢包地址

二、取得測試 BNB

發幣/上幣的過程中會有不少交易費用,各種交易所需要的 BNB 費用可以透過 API 查詢,現階段發幣需要 400 BNB,上幣申請需要抵押 2000 BNB(如申請通過會退還),正式上幣需要 800 BNB ,所以總共至少需要 400 + 2000 = 2400 BNB。

為了在在測試鏈上取得 BNB,你需要先擁有一個幣安的帳號 (註冊),然後才能到測試鏈的水龍頭 (faucet) 領取測試 BNB。

這裡需要特別注意是由於幣安測試鏈的水龍頭現在只允許一個帳號領取一次,而目前一次總共只能獲得 200 測試 BNB,所以為了取得足夠的 BNB,你可以自己或找朋友一起幫忙重複創建錢包、領取 BNB 的流程,並將所有 BNB 集中在一個主要的錢包上。

在幣安網站解鎖錢包後,可以透過 Web UI 轉錢給其他錢包。

三、發幣

根據幣安文件說明目前發幣/上幣僅能透過幣安的 command-line tool bnbcli 操作,現在需至 binance-chain/node-binary下載取得。

$ git clone git@github.com:binance-chain/node-binary.git
$ cd ./cli/testnet/mac or cd ./cli/testnet/linux
$ ./bnbcli

接著我們需要在 bnbcli 設定錢包,透過下列指令輸入錢包的密碼、與創建錢包時保存下來的單字組,便可以將錢包加入到本地端的 bnbcli 裡面管理、操作錢包的功能。

$ ./bnbcli keys add test --recover
Enter a passphrase for your key:
Repeat the passphrase:
> Enter your recovery seed phrase:
more advice achieve mass clap nose bike bird busy section rigid model doll exchange guard theme catalog junior patrol valley depart decade convince master

上面指令的test 是表示在本地端這組錢包的別名,可以自由替換成方便記憶的名稱。

接著完成後,你便可以直接透過以下指令進行發幣:

> ./bnbcli token issue --token-name “Poseidon QAS” --total-supply 100000000000000000 --symbol QAS --mintable --from Alice --chain-id=Binance-Chain-Nile --node=data-seed-pre-2-s1.binance.org:80 — trust-nodeCommitted at block 1887 (tx hash: B90A055DDD570AE42A7050182993A0B4DBC81A0D, … Issued QAS-AAB…)
```

在這裡我們發行了一個名為 QAS 的幣,總量是 10 億 (這裏單位需扣掉 8 個零開始看),發行成功後為了避免搶註冊名稱,鏈會自動在名稱後面加入三個隨機的字母 (QAS-AAB),這個的名稱便會是整個鏈上唯一的。

發行完成後,你可以透過以下指令查詢帳戶資訊,確認發行的幣有出現在你的錢包中。

$ ./bnbcli account <address> --trust-node --node=data-seed-pre-2-s1.binance.org:80

提交上幣申請

在上幣之前需要先透過上幣申請,讓驗證者投票審核,你可以透過以下指令提交申請:

./bnbcli gov submit-list-proposal --from test --deposit 200000000000:BNB \
--base-asset-symbol QAS-AAB --quote-asset-symbol BNB --init-price 100000000 --title “list QAS-AAB/BNB” \
--description “list QAS-AAB/BNB” --expire-time 1553126400 --chain-id=Binance-Chain-Nile --node=data-seed-pre-2-s1.binance.org:80 --json
Password to sign with ‘test’:
{
“Height”:”281822",
“TxHash”:”55966E369E567DF55B061E129EAA40EA09B5AA2F”,
“Response”:{
“data”:”Hg==”,
“log”:”Msg 0: “,
“tags”:[
{
“key”:”YWN0aW9u”,
“value”:”c3VibWl0LXByb3Bvc2Fs”
},
{
“key”:”cHJvcG9zZXI=”,
“value”:”Ym5jMTdrd3pudWxqc3k0bjg5d2NqZDZlc3gyajV0MHczMjZjMDN4aHly”
},
{
“key”:”cHJvcG9zYWwtaWQ=”,
“value”:”Hg==”
},
{
“key”:”YWN0aW9u”,
“value”:”c3VibWl0X3Byb3Bvc2Fs”
}
]
}

這裏我們先抵押了 2000 BNB 作為上幣申請,初始價格為 1 BNB。請注意根據官方文件目前初始價格一定要是 1 BNB,不然會被 reject,另外 “ — expire-time” 是一指當申請通過後,如果超過這個日期,你還沒有執行上幣,便無法再上幣,官方推薦比較安全的做法是直接到使用官方文件上 — expire-time 的值。

申請後你可以透過以下指令查詢你剛才提交的申請:

$ ./bnbcli gov query-proposals --chain-id=Binance-Chain-Nil --node=data-seed-pre-2-s1.binance.org:80
1 — list BNB/BTC.B-9CE
2 — list XRP.B-2A4/BNB

15 — list QAS/BN

在這個例子中,proposal ID 便是 15,可以透過以下的指令與 proposal ID 查詢審核狀態:

$ ./bnbcli gov query-proposal --proposal-id 15 --chain-id=Binance-Chain-Nile --node=data-seed-pre-2-s1.binance.org:80{
“type”: “gov/TextProposal”,
“value”: {
“proposal_id”: “15”,
“title”: “list QAS-AAB/BNB”,
“description”: “{\”base_asset_symbol\”:\”QAS-AAB\”,\”quote_asset_symbol\”:\”BNB\”,\”init_price\”:100000000,\”description\”:\”list QAS-AAB/BNB\”,\”expire_time\”:\”2019–03–21T00:00:00Z\”}”,
“proposal_type”: “ListTradingPair”,
“proposal_status”: “Passed”,
“tally_result”: {
“yes”: “100000000000”,
“abstain”: “0”,
“no”: “0”,
“no_with_veto”: “0”
},
“submit_time”: “2019–03–08T09:17:56.128860238Z”,
“total_deposit”: [
{
“denom”: “BNB”,
“amount”: “200000000000”
}
],
“voting_start_time”: “2019–03–08T09:21:14.282127201Z”
}
}

目前根據官方公告,自動投票已經開啟,只要符合資格的申請都可以被通過,如果有遇到問題可以上該論壇詢問。

進行上幣

當申請通過後,你便可以正式進行上幣,上幣費用是 800 BNB

./bnbcli dex list -s QAS-AAB --quote-asset-symbol BNB --from test \
--init-price 100000000 --proposal-id 15 --chain-id=Binance-Chain-Nile --node=data-seed-pre-2-s1.binance.org:80 --json
{
“Height”:”282409”,
“TxHash”:”77AE3D190F430FE6E4B1A9659BEBB3F022CF7631”,
“Response”:{
“log”:”Msg 0: “,
“tags”:[
{
“key”:”YWN0aW9u”,
“value”:”ZGV4TGlzdA==“
}
]
}
}

這樣上幣就成功了!前往 Binance — Decentralized Exchange,左側面板搜尋幣的名稱就可以找到剛才發行的幣。

成功上鏈!

相關文件參考:

--

--

Chi-Hsuan Huang
POSEIDON NETWORK

Back to The Mind: Follow Your Heart. Co-Founder at Taiwanstat; Full Stack Developer. https://github.com/chihsuan