EtherCoil is a real-time artistic visualization of Ethereum blockchain blocks.
A bit about the making process
Each block of transactions in the Ethereum blockchain is identified by a hash value, which is a hexadecimal number of 64 figures. All block hashes are unique and Ethereum delivers a new block every about 15 seconds. For instance, block 0, the genesis block, has hash:
d4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3
EtherCoil is a sketch reading in real-time these block hashes and using them to forge artworks shaped as colored intertwined coils.
The sketch is deterministic: the same hash as input gives the same coiled design as output. Moreover, different hashes generate different coils (in shape and color).
Therefore, there is a one-to-one mapping between hash codes and coil designs.
EtherCoil converts the hexadecimal hash into a binary string and takes advantage of this string of bits to determine the shape and color of the coils, hence to generate a unique artwork encoding the hash (which in turns encodes an Ethereum block). Essentially, it uses the hash binary string as a generator of pseudo-random numbers to set the parameters of the artwork. EtherCoil exploits Perlin noise, a technique developed by Ken Perlin working for the movie Tron (1982), in order to introduce some harmonic randomness in the design.
Acknowledgements
For EtherCoil I took inspiration from the generative artworks of Matt Pearson, who taught me how to use programming as poetry. The original code is written in Processing and then translated in p5.js. I wrote this code for Art Blocks, a project to promote interactive generative artworks on the blockchain.