Holochain Forum

What are the advantages and disadvantages of developing and testing dApps in Holochain versus traditional Smart Contracts platforms like Ethereum?

What are the steps for testing hApps, what kind of tests have to be made and how are these different than smart contracts (SC) tests? The steps are probably similar, but how one paradigm of decentralized app is easier than the other for development?

I wish the answer to touch points like: each hApp has its own network, while traditional dApp works in a blockchain, which keeps track of many other dApps’ states. People say you can test your hApp as much as you want, creating your own test network, while smart contracts have to be very right when they are deployed., but SC platforms also have test nets. Besides, when you change the DNA, other network is created, this is not “test friendly” either. And you cannot shutdown the network, as long as there are at least two agents running the same DNA.

In my understanding so far, saying that the development and testing of a hApp is easier is not honest. Of course, except by the point of unit testing, because Holochain have a “built in testing framework”.

Maybe it is related to bridging too?! Because if you have interoperability, you can develop, deploy and test smaller parts of the hole thing. This about DNAs working as microservices, which you can easily integrate to your hApp. (This is commented in this post, 2 paragraphs above the Supply chain image: Why are holochain applications different and what does that mean for me. Buuut, you also can call one smart contract from other.

The answer could be divided in touching the following points:

  • Steps for testing (this article defined 3 steps for SC testing)
  • Test nets and getting your code right before launching your app.
  • Interoperability: bridging between DHTs vs SC interoperability.