Add cardano-blueprint submodule and move handshake cddl to it
Description
This demonstrates how we could move the CDDL to a common repository and test against it from multiple implementations of the ouroboros protocols.
Git submodules are obviously only one way of managing this dependency.
Checklist
Quality
- [x] Commit sequence makes sense and have useful messages, see ref.
- [x] New tests are added and existing tests are updated.
- [x] Self-reviewed the PR.
Maintenance
- [ ] Linked an issue or added the PR to the current sprint of
ouroboros-networkproject. - [ ] Added labels.
- [ ] Updated changelog files.
- [ ] The documentation has been properly updated, see ref.
@coot I'd love to use this PR as a basis for discussion on how we could move the CDDLs into a place where they are more easily consumed by other implementations.
@ch1bo, such an approach will work, but first, this should be discussed in a wider forum, e.g. with consensus & ledger teams. We should not corner them with a decision like that.
I haven't used git-submodules extensively, but enough to know it can be painful. Are there other possible approaches which avoid git-submodules?
Can one use tags instead of git-hashes? It would be much nicer to say node-to-node-v14, isn't it?