Fingers crossed base protocol is basically ready. Need to add network catchup, but that's somewhat trivial for a first implementation
Hex encoding to make transport easier