It would be really neat to have something similar. A way for projects to ensure that their implementation of complex protocols such as gossipsub and bitswap is compliant. I guess the best way to ensure this would be to use testground.ai in a mixed environment (with go-ipfs, js-ipfs and the test program).
But this is not something that small companies can set up on their own. Ideally this would be something provided by protocol labs. E.g. you provide a way to upload some kind of binary that does the protocol under test and can be remote controlled via something simple like a REST API. Then this thing is run through different scenarios in a mixed environment. You then get a test report.
If you want you could even gamify it and score the submitted impls for compliance and performance...
In the java world, there is this concept of a Technology_Compatibility_Kit.
Several complex protocols come with TCKs that ensure that implementations are compatible. E.g. https://github.com/reactive-streams/reactive-streams-jvm/tree/master/tck
It would be really neat to have something similar. A way for projects to ensure that their implementation of complex protocols such as gossipsub and bitswap is compliant. I guess the best way to ensure this would be to use testground.ai in a mixed environment (with go-ipfs, js-ipfs and the test program).
But this is not something that small companies can set up on their own. Ideally this would be something provided by protocol labs. E.g. you provide a way to upload some kind of binary that does the protocol under test and can be remote controlled via something simple like a REST API. Then this thing is run through different scenarios in a mixed environment. You then get a test report.
If you want you could even gamify it and score the submitted impls for compliance and performance...
Cause for this ticket is https://github.com/libp2p/go-libp2p-pubsub/issues/361 , but I think it would be a great thing for all kinds of situations, especially as the protocols get more complex...