I came up with these questions from reading that hApps are easier to develop and test than smart contracts. It would be wonderful to understand that more.
1.
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 would like 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 correct when they are first 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 is no agent running the same DNA as you.
In my understanding so far, saying that the development and testing of a hApp is easier is not proper. Of course, except by the point of unit testing, because Holochain have a “built in testing framework”.
2.
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 is 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. However, it’s also possible to call one smart contract from other.
Just to help the reader of this question: I think the answer could be divided 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.