Once someone has written a library to do this correctly in Go/Rust/Whatever isn't this problem solved? Everyone building scuttlebutt apps with that language can use that library. It didn't seem like this protocol is changing.
Just giving people the heads-up that JS seemingly is the only blessed language for scuttlebutt
Rust:
https://github.com/sunrise-choir/ssb-legacy-msg/blob/master/...
https://github.com/sunrise-choir/ssb-publish/blob/master/src...
Go:
https://github.com/cryptoscope/ssb/blob/master/message/legac...
https://github.com/cryptoscope/ssb/blob/master/message/legac...
Spec:
https://spec.scuttlebutt.nz/feed/messages.html#json-encoding
https://spec.scuttlebutt.nz/feed/datamodel.html#signing-enco...