Temp Check: SSZ
@fjl are you open to adding SSZ here?
I can implement.
can either homeroll or use fastssz
Yeah, why not. Question is mostly, how it will be done. Does fastssz support encoding by reflection?
Looking at fastssz, it doesn't seem so easy. ssz.Marshal expects a Marshaler as argument, which is supposed to perform the encoding and also should be able to compute the encoded size. So I guess your idea would be to generate a Marshaler implementation? Then you're basically reimplementing the sszgen tool.
The main purpose of gencodec is features such as 'required fields' and the 'override type'. If you need these, I think you'd be much better off just implementing them in sszgen.
@fjl we are playing around with something internally, will share our findings in the next couple weeks