Why is TruStory building on Cosmos over other smart contract platforms such as Ethereum, EOS, Tezos, Dfinity, etc?


#1

Ethereum, it its current state, isn’t very scalable. It can’t even handle a game for trading virtual cats (CryptoKitties). Ethereum was a great start, and led the way for blockchain development platforms. However, next generation platforms like Cosmos are built on all the learnings from Ethereum. They use consensus algorithms that are much faster and more energy efficient like Tendermint proof-of-stake. Cosmos also offers more flexibility for what you can do with a blockchain. For example you can add governance, and build customized incentive structures for people running nodes and validating your chain. It also supports development in Go, a language that has great tooling and is safer for programming money than Solidity.

EOS is too centralized with only 21 block producers, while the latest Cosmos testnet has over 170 validators. Tezos and Dfinity are not far enough along yet to be viable development platforms today.


#2
  • More scalable
  • Better developer experience (Go instead of Solidity, much better tooling).
  • Modular – allows us to plug-in different modules to our dAppChain as we need them (Staking, Fees, Governance, Slashing, etc). Like “Ruby-on-Rails for building blockchains”. This allows us to decentralize the dAppChain in a methodical way rather than trying to decentralize all at once and deal with all the bloat
  • IBC in the future will allow us to inter-operate with other blockchains easily

#3

Love this project :slight_smile: Super keen to see voting mechanics in the whitepaper.

Some questions related to this: will you guys be running your own dAppChain and bootstrapping a validator from an incubator zone (I think that is what it’s called?) or target Ethermint instead? How is the DX currently building on Cosmos?

Thanks


#4

Hi @julianwlsn! Thank you.

We’ll be running our own dAppChain. No need for us to be interoperable with Ethereum right now. We can easily support that later down the line. Our first priority is to launch the app and deliver value to our users, rather than trying to be interoperable before there is a need for it.

In terms of DX, it’s not as hard as building your own blockchain, obviously, but also not as easy as a web framework, per say. It’s somewhere in between. You work at a lower level of abstraction than a typical web or mobile app, but once you get a grasp of it, it’s totally manageable.

@shane and @duncan can also comment on their DX.

Hope this helps!


#5

Hi @julianwlsn. Developing on Cosmos SDK has a pretty high learning curve right now. If you’re already familiar with how Cosmos and Tendermint works, then it’s not too bad. If you already know Golang, it’s not too bad either. If not there’s a lot to learn. But the rewards are well worth it. It’s easier to write clean, safe, and secure code in Go than it is in Solidity. You have hooks into the blockchain that you don’t get with Ethereum. Like you can perform operations before and after a block is processed.


#6

So… I am about to start solidity course. Should I stop and rather learn Go?


#7

Solidity and Ethereum still has way more developer mindshare in the decentralized app space. I personally would still start with Ethereum and Solidity, and explore Go and Cosmos SDK if Ethereum/Solidity doesn’t fit your needs.


#8

Hey @shane, @Slayer and @preethi this will be my first comment on TrueStory (fantastic idea although very challenging, please keep the spirit going, it’s more important than ever before to separate facts from opinions)!

I completely agree with you that it’s extremely hard to build DApps on top of Ethereum due to scalability issues at the moment. Cosmos seems like a very strong project and I really like the modular support they offer via their SDK.

I would like to point out as a developer if you are interested in developing around strong Ethereum community (Solidity + Go + Web3.js) without losing all the Ethereum tools, with my team at Lightstreams we are building an Ethereum compatible blockchain with Tendermint BFT consensus to support DApps needs (low TXs fees, 2s blocks and instant finality) which are crucial and prevented us from building on top of Ethereum.

Have a look at our project https://github.com/lightstreams-network/lightchain and feel free to try it, the goal is, you should be able to migrate your DApp from Ethereum to Lightchain without any issues by only connecting to a different IPC/RPC endpoint. We are looking atm for feedback so we can build more specific features DApps developers are lacking.

Let me know what you think and if this alternative would be useful if you want to keep coding in Go + Solidity Web3.js without sacrificing performance.