How to issue/list the token on the Binance Chain?

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

Binance, the world’s largest cryptocurrency exchange released its Binance Chain and decentralized exchange, Binance DEX, for public testing on February 20, 2019. In this application, users can issue the token and exchange digital assets based on the nextwork.

Recently, we’ve successfully our token, QAS, on the testnet, the following is the sharing about how to issue/list the token on the Binance Chain.

According to the Biance official document, to issue the token, there are 5 steps you need to do:

  1. Create a wallet
  2. Get test BNB
  3. Issue the token
  4. Create a proposal to list your token
  5. List your token

一、Create Wallet

First of all, to issue the token on the Binance Chain, you need to create a wallet. The Simplest way is via Binance website. You can follow the instructions and set the password (password is used to unlock the keystore file)

創建錢包

By clicking the “Downloaded Keystore File”, you will get a keystore file, which is used for unlocking the wallet. Please backup the mnemonic phrase and save both file and phrase carefully.

Mnenomic Phrase

After creating the wallet, please go the Binance — Decentralized Exchange, and upload the keystore file you just got. Then, you can unlock the wallet with the password.

Unlock Wallet

Now, you will get your wallet address.

Get Wallet Address

二、Get test BNB

It will charge some fees during the issuing and listing. You can check fees via API. Currently, 400BNB of the fee will be charged for the issuing. 2000BNB of fee need to be deposited for the listing proposal. 800 BNB of the fee will be charged for listing (returned to your account once the proposal is passed). In sum up, at least 400 + 2000 = 2400 BNB are required for the issuing/listing。

To get the test BNB, you need to create a Binance account (register link) and then, get the test BNB from the faucet.

Note that currently, each address can only get 200 BNB from the faucet. To get the necessary test BNB, you might get more from your friends or register more addresses, and transfer all BNB into one wallet.

After getting the address, you can transfer the token via Web UI.

三、Issue token

Now you can only issue and list your token via Command Line Interface, i.e. bnbcli.according to the Binance document.

You can download the bnbcli from binance-chain/node-binary.

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

Then, you need to set up the bnbcli with the wallet password and mnemonic phrase.

$ ./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

The test above is used to specify the alias name of the wallet in the local. You’re free to change any other names.

After configuring the bnbcli, you can then issue the token via the following command.

> ./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…)
```

Here we issued a token called QAS, the total amount is 1 billion. To avoid abusing, the chain will automatically add three random words as the suffix. The combined name will be unique on the Chain.

Once the issuing completed, you can check the token via the command below to see if the token does exist in your account.

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

Create a proposal to list your token

Before listing the token, you need to create a proposal to let validators vote. You can use the following command to create a proposal.

./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”
}
]
}

In this example, we deposited 2000 BNB for the listing proposal and the initial price is 1 BNB. Please pay attention that according to the official document, the initial price must be 1 BNB or the proposal will be rejected. Also, “ — expire-time” means if your proposal is passed, you must list the token before that date or you will not be able to list your token though your proposal. The official recommendation is to use the value of expire-time on the official document.

After creating the proposal, you can find your proposal ID via:

$ ./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

In this example, the proposal ID is15, and you can check the proposal status via:

$ ./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”
}
}

According to the announcement, The auto-voter is switched on. All the qualified proposal should be voted. If you have questions, you can put on the forum.

List your token

Once the proposal is passed, you can them list your token. The fee of listing is 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==“
}
]
}
}

That’s it. Your token should be successfully listed now!

Go to the Binance — Decentralized Exchange, and search your token on the left panel. You should be able to see your token!

Listed!

Reference:

--

--

Chi-Hsuan Huang
POSEIDON NETWORK

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