Exchanges must connect to the Pangea network to transfer and sell LEOS and other tokens. This guide provides the steps to set up an account that can act as a LEOS token custodian for token sales and exchange listing management.
Install the official Antelope node CLI "cleos" binary on Ubuntu 22.04. Please use a different release asset for other operating systems. Check the documentation for more details.
wgethttps://github.com/AntelopeIO/leap/releases/download/v4.0.6/leap_4.0.6-ubuntu22.04_amd64.debsudoaptinstall./leap_4.0.6-ubuntu22.04_amd64.debrm./leap_4.0.6-ubuntu22.04_amd64.deb# create an alias that connects to the correct APIalias cleospangea="cleos -u https://blockchain-api.pangea.web4.world/"# check workingcleospangeagetinfo
Install the Pangea Javascript CLI on Ubuntu 22.04 with Nodejs 22.3.0. Check the documentation for more details.
Create 2x keys to manage your account on Pangea Blockchain. One key is treated as high security and used for recovery called the "owner" key, while the other is used for day-to-day operation and can be replaced by the recovery key (if compromised) called the "active" key.
Send the following information to the Tonomy Foundation through a secure pre-established channel:
Choose your account name which is a 12-character [a-z1-5.] word e.g. binancelists
Choose your username which is an English character lower case word with 2+ characters e.g. @binanceexchange
The name, domain name (website) and logo to use for your exchange
The public key of your "owner" key. Don't send your private key.
The public key of your "active" key. Don't send your private key.
Step 3: Get some LEOS for allocation to investors
As per your LEOS token issuance contract with the Tonomy Foundation, ensure that after your account is created it is allocated the correct amount of LEOS. You can look at your account and its tokens on the Pangea block explorer:
You will need to get the user to create a Pangea account and collect their username and account name. This is so that you know who to send the LEOS to.
After the user has logged in, you can get their account name from the user object that is provided and verified on the /callback page, as shown in the Pangea Usage and signing data documentation.
const accountName = await user.getAccountName().toString();
Step 5: Allocate vested LEOS or transfer LEOS
Info: The quantity must be sent with 6 decimal places in the following format "10.000000 LEOS"
Allocate vested LEOS
Vested LEOS should be allocated during the private sale (seed) rounds.
cleospangeawalletcreate--to-console# import your active key:cleospangeawalletimportSENDER=binancelistsRECIPIENT=pegcnjcnnaqdAMOUNT="10.000000 LEOS"# use category 8 for seed round 1 "early bird, and category 9 for seed round 2 "last chance"CATEGORY=8cleospangea push action vesting.tmy assigntokens "{\"sender\":\"${SENDER}\",\"holder\":\"${RECIPIENT}\",\"amount\":\"${AMOUNT}\",\"category\":${CATEGORY}" -p "${SENDER}@active"
export NODE_ENV=production# use your active private key:export SIGNING_KEY=PVT_K1_2jFrRPkFNLiZiqLb9QjWxec3Xr7o4Jf4TShxCFq1R1a7e71iSVSENDER=binancelistsRECIPIENT=pegcnjcnnaqdAMOUNT="10.000000 LEOS"# use category 8 for seed round 1 "early bird, and category 9 for seed round 2 "last chance"CATEGORY=8yarnrunclivestingassign"${SENDER}""${RECIPIENT}""${AMOUNT}""${CATEGORY}"
import { setSettings, VestingContract } from'@tonomy/tonomy-id-sdk';import { PrivateKey } from'@wharfkit/antelope';setSettings({ blockchainUrl:"https://blockchain-api.pangea.web4.world" });constvestingContract=VestingContract.Instance;constprivateKey=PrivateKey.from('PVT_K1_2jFrRPkFNLiZiqLb9QjWxec3Xr7o4Jf4TShxCFq1R1a7e71iSV');constsigner=createSigner(privateKey);constsender="binancelists"constrecipient="pegcnjcnnaqd"constamount="10.000000 LEOS"// use category 8 for seed round 1 "early bird, and category 9 for seed round 2 "last chance"constcategory=8awaitvestingContract.assignTokens(sender, recipient, amount, category, signer);
Transfer (unvested) LEOS
LEOS transfers can be used during the public sale or after to send users unvested LEOS.
cleospangeawalletcreate--to-console# import your active key:cleospangeawalletimportSENDER=eosusaRECIPIENT=pegcnjcnnaqdAMOUNT="10.000000 LEOS"MEMO="my transfer memo"cleospangeatransfer"${SENDER}""${RECIPIENT}""${AMOUNT}""${MEMO}"-p"${SENDER}@active"
export NODE_ENV=production# use your active private key:export SIGNING_KEY=PVT_K1_2jFrRPkFNLiZiqLb9QjWxec3Xr7o4Jf4TShxCFq1R1a7e71iSVSENDER=eosusaRECIPIENT=pegcnjcnnaqdAMOUNT="10.000000 LEOS"yarnrunclitransfer"${SENDER}""${RECIPIENT}""${AMOUNT}"