summaryrefslogtreecommitdiffhomepage
path: root/Hash.hs
Commit message (Collapse)AuthorAge
* reorganized message typesJoey Hess2017-04-19
| | | | | | | | | Make Control messages be out-of-band async messages, without a pointer to a previous message. And then followed the type change through the code for hours.. This commit was sponsored by Nick Daly on Patreon.
* initial CryptoJoey Hess2017-04-18
| | | | | Will use Ed25519 because it's from DJB and well regarded and in common use now.
* improveJoey Hess2017-04-18
|
* add Rejected and tag hashes by typeJoey Hess2017-04-17
| | | | | | | | | | | | | | Need a way for the user to indicate when an Activity Entered is Rejected. Changed hashing to include type tags, so Acticity Entered and Activity Seen can never hash to the same hash. Got debug-me.hs to compile after these changes, but currently it's buggy after Activity Entered is Rejected. Started protocol.txt documentation. This commit was sponsored by Francois Marier on Patreon.
* add --graphviz modeJoey Hess2017-04-14
| | | | This commit was sponsored by Shane-o on Patreon.
* improve JSONJoey Hess2017-04-14
| | | | | | | | | | | | | | | | | | | | | | | Most of the time, ByteStrings will be able to be encoded as utf8, so avoid base64 when not needed. Adjusted some of the types in order to generate more usual JSON. In particular, removed StartActivity. The JSON now looks like this (with the signature still not populated): {"signature":{"v":""},"prevActivity":{"hashValue":{"v":"3b1abe614dd43bdb2d9a56777884e2d0f3bac9796e2d25c1ad52bb689c117286"},"hashMethod":"SHA256"},"activity":{"echoData":{"v":""},"enteredData":{"v":"l"}}} 203 bytes to send a single keystroke is not great when there's really only 1+64(hash) bytes of unique data. So, may end up adding a wire encoding on top of this. But, JSON is good to have for storage of the proofs, etc. Also, it does compress well. Two such JSON objects gzip -9 to 219 bytes, and three to 265 bytes. So, 37 bytes per keystroke. This is *exactly* as efficient as gzip -9 of $c$hash formatted data. This commit was sponsored by Jack Hill on Patreon.
* add JSON serializationJoey Hess2017-04-14
| | | | | | | Fairly straightforward, but did have to decide how to encode all the ByteStrings, since they are not necessarily utf-8. Used base64. This commit was sponsored by Henrik Riomar on Patreon.
* some basic data types and hashing to start debug-meJoey Hess2017-04-11
This commit was sponsored by Denis Dzyubenko on Patreon.