Generative art & the Beacon Chain

3 min readFeb 21, 2021

The beacon chain, arguably the blockchain event of 2020, has been seamlessly running for almost 3 months now, and I wanted to celebrate this huge success.

Epoch #0

Epoch #0

Epoch #0 is a limited-edition generative artwork that visually shows and homages the guts and vision of the 31 proposers, pioneers, that helped finalise the first ETH2 Beacon Chain epoch.

It’s a unique epoch, as it’s not only the first one but also the only one that only had 31 proposers assigned as block 0 was genesis and didn’t have a proposer as such.

Each proposer is represented by a row composed of 16 squares abstracted from the proposer’s public key. Ethereum public keys start with 0x and are followed by 96 hexadecimal characters. If we group these characters in chunks of 6, each chunk translates to a HEX colour code that is the used to create the squares that form this artwork.

How Epoch #0 has been created

Using the p5.js editor, I have created a script that can automate the creation of Beacon Chain block proposers artworks by epoch.

First, we need to decide which epoch we are going to be printing and how big we want the artwork to be. Then we call the Infura API to retrieve the proposers for the epoch we want.

Once we have the data, we can modify it, so that form a list of proposers, we get, chop and transform their public keys. And, with the HEX colour codes we can loop the array populating the canvas one square at a time.

Finally, we can save the file in .png format.

To this point we have a cool-looking (to each their own) composition, but it can’t be considered an artwork just yet. To make it unique and (potentially) valuable, I’ve minted it as a 31 of 31 limited edition NFT on Rarible.

The reason I chose Rarible is that of the non-curated NFT platforms, it seems to be the one more oriented to art, and where this work seems to fit best.

Get Epoch #0 on Rarible

What’s next?

If there is a lot of interest, probably not?, for this kind of art, I’m open to generating artworks for subsequent epochs, as well as using the Epoch #0 data to generate new artwork styles.

Also, I think that by showing the code used to generate Epoch #0, I’m showing the way for anyone who wants to generate another epoch, be it because they want to immortalise the first block they proposed or because they want to find a colour combination they just love, to do so on their own.




Creating, collecting and writing about generative art