Select Page

Ensō

In Zen, ensō is a circular symbol that represents elegance and enlightenment. It is typically painted by hand in an uninhibited way, allowing for unexpected and beautiful results.

Inspiration and Creation

Art and code have been part of who I am for over 25 years: I’ve been an artist and a programmer since I could draw and use my high-school’s computers. In college, I became interested in Chinese martial arts and Eastern spirituality, and while these also became core to who I was, I never imagined a scenario where my philosophical and spiritual beliefs would merge with my art and programming skills.

For a long time, they never crossed paths…the closest was that I used sumi-e (ink wash painting) as a meditative practice.

I watched the NFT scene back in 2017 and even taught myself solidity to try and mint my own artwork, but I didn’t feel like I had the skills to achieve my vision. I taught myself python, processing, ruby, HTML, p5.js, and finally, vanilla JavaScript.

After trials and a ton of errors (I can be very stubborn) Ensō, and Zenerative were born.

The Generative Program

This project mimics the practice of painting an ensō in ink by utilizing p5.js. Each generated image uses values from a unique transaction hash provided by the platform (artblocks.io) to determine paper, brush, ink, the quantity of ink held by each bristle, how quickly the ink flows, and more—all with the goal of creating a simple yet serendipitous painting.

The source code is on-chain, on mainnet Ethereum. It is over 200 lines long and 5.75 Kilobytes of data, which took .75 Eth in gas to deploy (don’t worry, I offset the environemtal impact). Each NFT image can be rendered directly in the browser, utilizing only standardized JavaScript and the official JavaScript library from the Processing foundation. Ensō images are fully deterministic and resolution-agnostic.

Additionally, when rendered live, the NFTs have interactivity: clicking on the image will show or hide the signature stamp. Note that the images on this site are static images – they are not live renders of the NFTs.

This is a rendering of Ensō #0 (at 2668 x 2668 pixels). It is the first token minted by the Ensō program on the Ethereum mainnet.

1,000 editions of this generative work will be sold as NFTs on ArtBlocks.io at a price of 0.108Ξ.

Learn more about the ArtBlocks platform and how it works here.

Ensō NFTs #1 – #24

These were the first Ensōs purchased by collectors; notice how different each one is! As soon as a purchase confirms, the token is made and the design is set into the blockchain. Only then does the buyer see the beautiful painting that the program generated for them.

You can see these (and all the others that have been created) in the gallery views at Artblocks.io and at Opensea.io.

Once all the NFTs have been generated by the program, rarity information will be released.

Until then, my lips are sealed!

High Resolution Rendering

Rendering these tokens is very resource demanding

(even at screen resolutions).

Rendering at print resolutions is substantially more so. My powerful desktop computer (6-core Ryzen with high-speed ram) takes anywhere from 10 seconds to a minute* to render an Ensō at 4800 x 4800 pixels (16 x 16 inch).

That said, if you’d like to render an image at high resolution for personal-use printing, you can do so by clicking the button below and entering the token number. Please save your work though; it might crash your browser!

Once you have the high-resolution file, visit the print your own page for tips and suggestions.

* Because each Ensō is truly unique, each one takes a different amount of time!