The spec is open and documented pretty clearly.[1]
That is you try to implement a standard complaint new Eth2 implementation from scratch ( and possible record yourself while doing so.
[1] https://eth2book.info/altair/part2/building_blocks/randomnes...
[2] https://eth2.incessant.ink/book/06__building-blocks/02__rand...