Description
It looks like we are going through with #156 and #163 👍
I have a 2 thoughts I wanted to sketch down here even if it might be too early:
-
To actually and visibly ensure compatibility, it would be great to have script/triggered via CI that runs tests on proto files included in golang protobuf. These tests are also useful to document where amino still differs from proto3. Although I mentioned above that this might be too early, the earlier we have this, the better!
-
A feature for usability/to speed up development and prototyping: At EPFL/dedis we also had our own reflection based protobuf library. It was aiming for full compatibility and the main reason we had it was the convenience of just writing go code when prototyping (instead of having to write .proto files); that was great for rapid prototyping. It also had the possibility, to generate .proto files. I think, it would be awesome to provide similar functionality in amino. Then, devs coming from other languages and not familiar with amino, could just reuse our generated .proto files to write implementations in other languages. This could boost adoption and remove any barriers, too.
I'm happy to work on both issues here and later in amino_rs (in the latter we could even use the generated .proto files via 2. to generate rust code via prost! e.g. for kms, instead of coding this our self, just an idea)