2

We are creating our own Distributed Ledger Technology with our own tokens. However, it will take quite a while for us to release a mainnet and be reasonable confident it is secure. In the meantime, we'd like to release a version of our token on Stellar. I personally am a big fan of the architecture and the team, and I would rather use Stellar than Ethereum, and a lot of our team feels the same way.

After looking online, I understand how to generate a token on Stellar. Ultimately, however, how would people buy this token? Would it need to be listed on an exchange, or could people directly exchange Stellar for the token on the Stellar network? If so, how would the price be determined?

And even more to the point, once we launch our own token, we would like to exchange our Stellar-based token 1-1 with our token. In other words, we'd like to form a sort of sidechain where the Stellar tokens are taken out of circulation and everyone who can prove they own a Stellar token would get the same amount of our token, on our network.

So how can we accomplish this with the least amount of trusted third parties:

Current fiat/crypto -> Intermediate Token on Stellar -> Our token

2

First, issue your tokens. Create an offer on the Stellar decentralized exchange, so users will be able to buy the token directly from you for Stellar lumens.

You can also integrate some third party crypto payments processor to be able to receive payments in BTC, ETH, LTC, XRP, XMR etc. In this case you will be responsible for creating Stellar accounts for your users.

Once your own blockchain is ready, you can create a simple app that tracks payments on some Stellar account (let's call it "exchnager") and sends the corresponding number of tokens to the sender address in your network.

For example, GA4B...23A9 sends you 50 TEMP_TOKENs to address GD54...E5BA on Stellar Network. Your app receives the notification and transfers 50 tokens to the address GA4B...23A9 on your new blockchain.

EDIT

I want to prove that once a Stellar token is sent to an account X, it will never be spent by X anymore.

Oh, that's easy. When you lock the issuing account after all required tokens are issued, it becomes "frozen", and cannot mint new tokens or make any other transactions. All tokens sent to the issuing account are automatically destroyed. So when user sends 50 TEMP_TOKEN from account Y to your issuing account X, noone will be able to use those tokens, even if he has access to account X secret key.

I want to somehow allow a person to prove that they own the account Y that sent the tokens to X, so we can issue a corresponding amount of tokens to them on our blockchain?

Here is the detailed walk-through:

  1. User visit's a page where he can see one single input field and "Exchange old tokens" button.
  2. He copy-pastes a secret key of his wallet into this field and presses the button.
  3. On the client side you create a Stellar transaction with 2 operations:
    • Transfer all TEMP_TOKEN owned by user's account to the issuing account X
    • Remove the trustline
  4. Then you send the transaction signed with user secret key and user's account address (can be easily derived from account secret) to the server. Secret key is never send on over the network.
  5. On the server side you verify transaction signature and submit the transaction to Stellar Network.
  6. If the transaction was applied successfully, you are creating a new account on your blockchain and transfer the corresponding amount of tokens to this address. New account public and secret keys are returned back to user's browser.
  7. User copy-pastes and saves new credentials.

There are also some slightly more complex scenarios that won't require user to share his secret key.

  • That was a good overview. One more piece of the puzzle remains ... how can we implement a provable sidechain to Stellar? At least a one-way sidechain? Meaning, I want to prove that once a Stellar token is sent to an account X, it will never be spent by X anymore. And I want to somehow allow a person to prove that they own the account Y that sent the tokens to X, so we can issue a corresponding amount of tokens to them on our blockchain? Maybe that should be a separate question. – Gregory Magarshak Jul 16 '18 at 6:59
  • I expanded my answer. Let me know if you have any other questions regarding the process. If you need help with the implementation, reach me at orbit.lens@gmail.com – Orbit Lens Jul 16 '18 at 11:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.