Launching Your 1st ICO on Stellar

March 19, 2018

Introduction:

1. CREATING THE ACCOUNTS

  1. Go to the stellar dashboard and generate three accounts(https://www.stellar.org/laboratory/#account-creator?network=test)
    • The first keys generated will be for your issuing account.
    • The second keys generated will be for your distributing account.
    • The thrird keys generated will be for your investor’s account.
    • For each account you generate, note down both the public and private keys on a note editor as you will need them.
    • Also make sure you fund both accounts using the tool below the generate keypair button by clicking on the “get test network lumens” button. An account must have funds on the stellar network for it to be active.
    1. issuing account
      • Public Key GBT5EUAT3JXU6RILOGIRQNVWXWPH2B2FXPO5IZZ4HIT7MTAPD6AF45MF
      • Secret Key SCRESYGR5YCWC4J6KKNC42GZDV67ZHZH4BYBGXLBWVBIOTGB5QV4APUJkey2
    2. Distributing account
      • Public Key GDTFWW3O7YLS7LKQDKOKLTBHWYD6BVQWFLRKMJHKHZYYCXLYFI4CTS4A
      • Secret Key SBRYIKF4JIOQ7AIDN53V35EGALWVL6Z75MV7TCXINVIAAQS7JERQQACVkey1
    3. Investor account
      • Public Key GAGVT2HLISMBQT2XJYBZFC54UTHDIXKJM3AFS6WUC7PCMFEIDQBNXX2C
      • Secret Key SA4RYIYGTPUI75JMRIPIDZ62ER35WTVMZNQHATCMI3JFFT62OWBNEO22key3

2. TRUSTING THE ISSUING ACCOUNT

  1. Head over to the stellar labs transaction builder. We’ll use this to fill out a form that’ll make our distributing account trust our issuing account(https://www.stellar.org/laboratory/#txbuilder?network=test).
  2. Use the Distributing account’s public key as the source account.
  3. Click the “fetch sequence number ..” to get the next sequence number for your account.
  4. Leave the next few options blank and skip over to the operation type and select change trust.changetrust1
  5. Click either the 4 or 12 Alphanumeric, depending on how long you want your asset code to be and then set it to whatever you want it to be. I set mine to BRCO.
  6. Set the Issuer account ID to our issuing account’s public key.changetrust
  7. Leave the trust limit blank and sign the transaction by clicking on the “Sign in transaction Signer” button.signtrusttransaction
  8. Sign with your distributing account’s secret key.
  9. Click the Submit to post transaction endpoint buttonsigntrusttransaction2
  10. You should be redirecred to the page below. Click the submit button and you should be good.signtrusttransaction3
  11. If it succeeds, the json response should be in a normal grey color. Otherwise, if the whole step 2 doesn’t succeed, the json response at the bottom will have a red outline.

3. CREATING THE TOKENS

  1. Head over to the stellar labs transaction builder. We’ll use this to fill out a form that’ll issue tokens from our issuing account to the distributing account.(https://www.stellar.org/laboratory/#txbuilder?network=test).
  2. Use the Issuing account’s public key as the source account.step2.1
  3. Click the “fetch sequence number ..” to get the next sequence number for your account.
  4. Leave the next few options blank and skip over to the operation type and select Payment.step2.2
  5. Set the Distributor’s public key as the destination
  6. Set the asset you used in step 2 and set the issuing account’s public key as the issuer account id.
  7. Set the amount to any number eg. 15000000
  8. Leave the Source account blank and click the Sign in Transaction Signer button.
  9. Sign with your issuing account’s secret key.
  10. Click the Submit to post transaction endpoint buttonstep2.3
  11. You should be redirecred to the page below. Click the submit button and you should be good.step2.4
  12. If it succeeds, the json response should be in a normal grey color. Otherwise, if the whole step 2 doesn’t succeed, the json response at the bottom will have a red outline.
  13. To test whether the process succeeded, explore your Distributor account here and you should see the payment we just made (https://www.stellar.org/laboratory/#explorer?resource=accounts&endpoint=single&network=test). Submit your distribution Public Key as the account id.step2.5

4. Publishing information about your token

5. LIMITING THE SUPPLY

6. DISTRIBUTING YOUR TOKEN

7. BUYING THE TOKEN

7. Additional Information & References

8. FAQs

  1. Why does stellar require two seperate accounts ?
    • The issuing and distributing accounts are required to help one balance their books better. We dont have to use 2 accounts and can use just one, but the problem is that we won’t be able to balance out books very well. We’ll be using just one account to mint new tokens, tokens from other people will be coming into this account,and we’ll still be using the same account to distribute the tokens. To keep things more organised, the issuing account will only transfer newly minted tokens to the distributing account and then the distributing account can transact with other accounts, eg. the investor account we created so as to test whether a random account/user on the stellar account can buy our BRCO tokens.
  2. How I bought my first lumens - A detailed guide on how this can be done can be found here (https://aeonsoftware.github.io/2018/03/19/buying-your-first-lumens.html)