Hi Ripple group.
A very minimalistic C version of the single-user Ripple server is now finished. It has its own scheduler, requires no operating system other than UDP+Ethernet. Does not use heap. Sha256 is included in the code. 1900 lines of code in total. Should run on more or less anything.
https://bitbucket.org/bipedaljoe/ripple-c/src/main/ripple.cThe Golang version is finished since many months,
https://bitbucket.org/bipedaljoe/ripple-normalIn the C version I switched back to authenticated ACK (previously scrapped as it seemed overkill, but, without it there are attack vectors and adding authentication is trivial and works better). The Golang version and C version are currently incompatible for that reason, but switching to authenticated ACK in Golang version is a days of work at most.
I have not run large tests on the C version (as I have on the Golang one and the Golang includes those tests) but it is a direct port and should work. I will be testing it going forwards as well.
If anyone missed, my 3-phase commit solves the "reserve payment attack" and picks up where Ryan got stuck in 2006, I presented it in Austria at the Collaborative Finance conference this summer:
https://youtu.be/DVjMis02AE8Peace, Johan