corda/experimental/cpp-serializer
Katelyn Baker 7b308eb45f
NOTICK: Add BlobWriter and Schema Dumper
The Blob Writer is a small kotlin app that allows arbitrary things to be serialized and then those bytes written to a file, quite useful for working on non JVM parsing of such things.

Along a similar vein, add a schema dumper alongside the blob-inspector to highlight the contents of the header
2019-08-26 20:59:56 +01:00
..
bin NOTICK: Add BlobWriter and Schema Dumper 2019-08-26 20:59:56 +01:00
include NOTICK: Add BlobWriter and Schema Dumper 2019-08-26 20:59:56 +01:00
src NOTICK: Add BlobWriter and Schema Dumper 2019-08-26 20:59:56 +01:00
.gitignore NOTICK - CPP project gitignore 2019-08-16 12:58:23 +01:00
CMakeLists.txt NOTICK - Initial work on a non JVM (C++) serialiser (#5368) 2019-08-15 21:16:20 +01:00
README.md NOTICK - Initial work on a non JVM (C++) serialiser (#5368) 2019-08-15 21:16:20 +01:00
rem_cmake NOTICK - Initial work on a non JVM (C++) serialiser (#5368) 2019-08-15 21:16:20 +01:00

Corda Blob Inspection

This is a best effort attempt at a C++ implemention of the CORDA serialization framework in a non JVM language. The initial target is a working "blob inspector", that is an exe that can take a serialised blob from a vault (or other) and decode it using C++.

Currently Working

An implementation of a "blob inspector" that can take a serialised blob and decode it into a printable JSON format where that blob contains a constrained set of types. The current limitation with this implementation is that it does not understand associative containers (maps).

Fututre Work

  • Encode and decode of local C++ types
  • Decpdable encode of native types
  • Some schema generation from the JVM canonical source

Dependencies

  • qpid-proton
  • C++17
  • gtest
  • cmake

Setup

MacOS

  • brew install cmake
  • brew install qpid-proton

Google Test

Linux

  • sudo apt-get install cmake
  • sudo apt-get install libqpid-proton8-dev
  • sudi apt-get install libgtest-dev