Stellar Smart Contracts
I recently started moving our token from Ethereum to stellar for the simple reason that I came to the conclusion that Ethereum is too far from being production ready to be of use in an application that has actual users that generate any kind of sizable amount of transactions. Ethereum is cute until you have use cases and uses that require it to actually process transactions. The Ethereum ecosystem is a big mess right now.<p>All the proper solutions for this are years out from being production ready and widely used. I&#x27;m talking about sharding, proof of stake, etc. It&#x27;s going to take several hard ethereum forks to get there. I think Vitalik is thinking 2020&#x2F;2021 type time frames currently for this. I would not be surprised if that shifts some more. This stuff is hard. Until then, smart contracts on ethereum are only useful for very limited volumes of transaction that, so far, have been mostly about ICOs for shit coins. Essentially all of the transaction volume on Ethereum is trading in these coins. So, unless you are doing an ICO to raise funding, Ethereum has no practical value whatsoever. And given the scams happening there, it is not a great place for that either.<p>Some people use side chains to work around this, i.e. a centrally run private blockchain. There are several proof of stake based platforms with smart contracts in the works (e.g. hashgraph, IOTA). Mostly that stuff is really immature (or not ready at all) and lacking the broad user base that bitcoin and ethereum have. Bitcoin is nice but useless for custom tokens. There are not a lot of options here that are usable now, scalable, and reasonably widely used (critical if you are going to lock up millions $ in value in it).<p>Stellar may not be perfect but it works right now and it scales and it is reasonably widely used. They have built a few things into stellar that largely remove the need for centralized things like exchanges or convoluted smart contracts that need auditing. This is why it is gaining a lot of traction lately.<p>Specifically:
- any stellar account can issue tokens
- any stellar account that trusts (this is stored in stellar) those tokens can receive those tokens
- any account can create offers to buy&#x2F;sell any tokens (that they trust) on stellar
- when offers are matched by a counter offers, the trade happens.<p>There are no websites where you need to go to get your token listed, no middlemen to bribe&#x2F;deal with, no transaction fees (beyond the 1&#x2F;10^5th of an XLM), no smart contracts to write. This stuff works out of the box. You can be up and running in minutes if you know what you need to do.<p>If you want to issue a token on stellar the process is as follows:
- create an issuing account with a minimal XLM balance
- create distribution account
- make your distribution account trust your FOO coin issued by the issuing account
- pay some FOO from the issuing account to the distribution account. This creates the token. Paying it back to the issuing account destroys it.
- write a stellar.toml file with some meta data and put it on your domain foo.com in the .well-known directory. This tells your users and exchanges what your coin is, who issued it, etc.
- set foo.com as the home domain on the issuing account
- fiddle with the issuing account options to further control things (multi sig, preventing more tokens from being issued, etc.)<p>Done. They have lots of other stuff built in that is highly useful like federated accounts, a compliance protocol for people to pre-clear transactions, etc. If you start reading the documentation, it becomes very clear that this was developed by people who deeply understand the needs of those that develop complex financial products.<p>To trade tokens, you simply create offers and counter offers on stellar. This works right away. The recently launched Stellarx.com is just a pretty UI around the built in functionality.<p>To get listed on stellarx, you need some positive evidence of trading happening with your token. I think this currently means evidence of a (small) trading volume and a minimum number of accounts that hold your token. Other than that there are no bribes, listing fees, etc. I imagine that over time the requirements for this will change and there will be competing websites getting involved as well.<p>People making the point that stellar is a centralized system are of course somewhat right. However, it is a system that can be used right now and you can easily scale it to meaningful numbers of transactions. The shared database of transactions that stellar produces can be validated by anyone and if you run a full node, that&#x27;s exactly what it does. So, it&#x27;s not as black and white as this being &#x27;controlled&#x27; by a single entity. In practice the companies that are active on stellar end up running their own nodes and validators. Many people do.