Content pfp
Content
@
0 reply
0 recast
0 reaction

Péter Szilágyi pfp
Péter Szilágyi
@karalabe.eth
Hello Ethereum world! Happy to announce the first unstable version v0.1.0 of my Go SSZ serialization library! Codename "SSZ 15", because it's at least the 15th SSZ library out there... and because I worked on it exactly 15 days! Here's what it is, and what it isn't 🧵
6 replies
12 recasts
112 reactions

Péter Szilágyi pfp
Péter Szilágyi
@karalabe.eth
First up, it is an opinionated library! I wanted to make something that is elegant and simple to use for me, which might not be the case for you. The library takes a hard stance on what you yourself are supposed to do (and how); and what the library itself is supposed to do.
1 reply
0 recast
0 reaction

Péter Szilágyi pfp
Péter Szilágyi
@karalabe.eth
I want maintainable code. Generators can be amazing tools, but unless they are perfect, eventually you'll end up hand writing some code. The library uses an extremely concise API that is easy to understand and write, whether manually or generated. This pic was generated by it!
1 reply
0 recast
0 reaction

Péter Szilágyi pfp
Péter Szilágyi
@karalabe.eth
I want fast code. Latency eventually becomes king all over the place in Ethereum, so might as well preempt it and have something that's fast from the start. The library is a 0 allocation stream en/decoder, and is blazing fast! Perhaps not as fast as raw bit-fiddling, but fast.
1 reply
0 recast
1 reaction

Péter Szilágyi pfp
Péter Szilágyi
@karalabe.eth
On the downside, my use case for the first version of the library is allow Geth to speak to consensus clients, fast, through SSZ. This means Merkleization is not yet implemented (at all). My hope is that it can be added without code change, but... ¯\_(ツ)_/¯
1 reply
0 recast
0 reaction