The Rise of On-Chain 1/1 Generative Art on ETH
Generative art is commonly minted with either a video or image file when sold as a 1/1 on the ETH blockchain — it is rarely ever minted with the actual running code. Deploying a contract and hosting a version of the code can be very costly and complex, and often is a deterrent to artists wanting to correctly showcase their generative art. Thanks to manifold, efficient contracts can be easily deployed. In addition, lightweight extensions can be tacked on to those contracts, giving artists a place to store their code “on chain”. Artists then only need to create two things: a single page website that calls their contract and renders the source code (using Infura+ ethers.js for example), and a single JSON file (stored on ipfs for example) holding their token’s metadata.
Why go about doing this? It allows the owner of the token to have the true source code for the art. This makes the piece future-proof, as it can always be pulled from the contract as long as the Ethereum blockchain exists.
“Primera” by Mitchell and Yun Studios, or any project from Art Blocks, are examples of on-chain art that exists in the form described above. The slight difference is that these are long form generative projects and not 1/1s. To reiterate, manifold is paving the way for generative 1/1’s to be on-chain.
The first caveat is that the gas cost of writing the code to your contract is directly tied to the length of the code. Doing a simple test, the cost of writing ~10000 characters right now (44 gwei current gas) is .38 ETH.
Anyone logical would think this was preposterous, and say that storing data of this size on ETH is an invalid us-case of blockchain technology. While that may be a valid point, I think that this can create a renaissance of generative art. Generative artists will need to lean on their skills as a programmer to create tighter more efficient code.
The second caveat — libraries. A purist might argue that a piece is not “on-chain” as long as it consumes third-party libraries. While this might be valid, I think it is safe to assume that libraries like jQuery and p5js (which have been unintentionally written to the blockchain by some) will be available in the future in some form. Let’s say I want to render WHITEWATER by Andrew Mitchell (myself) in 1000 years; I would simply need to pull down the code from the contract via the “GetScriptChunk” function and paste it into a blank HTML file on my computer.
After that, I would double-check that any links to jQuery or p5js are still active. If they are not, I simply would need to do a quick web search for those files and then update the links. Finally, saving and opening this HTML file in the browser will reveal the piece in its perfect form.
FLUME (PROOF OF CONCEPT)
The below pieces all are on-chain generative 1/1 that exist on the contract FLUME. (https://opensea.io/collection/flume-by-andrew-mitchell)
WHITEWATER
https://opensea.io/assets/ethereum/0x1fa23513825f952afca07a603ac3f312ebee4ca9/1
This piece lives on a manifold contract and an extension contract:
Manifold:
https://etherscan.io/address/0x1fa23513825f952afca07a603ac3f312ebee4ca9
Extension
https://etherscan.io/address/0x534514948a28bc76b8f2f2f6b6c1745329375710
The extension holds multiple series on it. SKY MEADOW’s script also lives on this same extension. Below are screen shots showing where I wrote the code to the blockchain.
https://etherscan.io/tx/0x049356ca0055b4ccc818bb1fa2f5b1db8a34e7466599ffded2fa9f12ac1e8f19
The script can be pulled by calling GetScriptChunk like below:
https://etherscan.io/address/0x534514948a28bc76b8f2f2f6b6c1745329375710#readContract
PLATE TECTONICS
https://opensea.io/assets/ethereum/0x1fa23513825f952afca07a603ac3f312ebee4ca9/2
This piece lives on a manifold contract and an extension contract:
Manifold:
https://etherscan.io/address/0x1fa23513825f952afca07a603ac3f312ebee4ca9
Extension
https://etherscan.io/address/0x9489bdad5e36d16051c93ab2200172083eeba057 (shoutout to @yungwknd on twitter for contract improvements)
Below are screen shots showing where I wrote the code to the blockchain.
https://etherscan.io/tx/0xe99063aa8578445f8cea48b256cda06b5f767983069b88077a27bc6436a8ec27
The script can be pulled from using the GetScriptChunk like below:
https://etherscan.io/address/0x9489bdad5e36d16051c93ab2200172083eeba057#readContract
RECONNAISSANCE
https://opensea.io/assets/ethereum/0x1fa23513825f952afca07a603ac3f312ebee4ca9/3
This piece lives on a manifold contract and an extension contract:
Manifold:
https://etherscan.io/address/0x1fa23513825f952afca07a603ac3f312ebee4ca9
Extension
https://etherscan.io/address/0x9489bdad5e36d16051c93ab2200172083eeba057 (shoutout to @yungwknd on twitter for contract improvements)
Below are screen shots showing where I wrote the code to the blockchain.
https://etherscan.io/tx/0x7d45dabd4e4da0523595a9eb27a534c804cdae3cf09ea75c6c594f9bdefeb2e6
The script can be pulled from using the GetScriptChunk like below:
https://etherscan.io/address/0x9489bdad5e36d16051c93ab2200172083eeba057#readContract
WEIRD FISHES
https://opensea.io/assets/ethereum/0x1fa23513825f952afca07a603ac3f312ebee4ca9/4
This piece lives on a manifold contract and an extension contract:
Manifold:
https://etherscan.io/address/0x1fa23513825f952afca07a603ac3f312ebee4ca9
Extension
https://etherscan.io/address/0x9489bdad5e36d16051c93ab2200172083eeba057 (shoutout to @yungwknd on twitter for contract improvements)
Below are screen shots showing where I wrote the code to the blockchain.
https://etherscan.io/tx/0x626067c474ac6d5143b3ea16f0b2fc11b61cb171a6b27a6eb8def33ca6163fd6
The script can be pulled from using the GetScriptChunk like below:
https://etherscan.io/address/0x9489bdad5e36d16051c93ab2200172083eeba057#readContract
ACROSS THE UNIVERSE
https://opensea.io/assets/ethereum/0x1fa23513825f952afca07a603ac3f312ebee4ca9/5
This piece lives on a manifold contract and an extension contract:
Manifold:
https://etherscan.io/address/0x1fa23513825f952afca07a603ac3f312ebee4ca9
Extension
https://etherscan.io/address/0x9489bdad5e36d16051c93ab2200172083eeba057 (shoutout to @yungwknd on twitter for contract improvements)
Below are screen shots showing where I wrote the code to the blockchain.
https://etherscan.io/tx/0xf13f592dcdf75d9d2f5edece041ec388f27cf79a2747da4aafc9abfa87b84808
The script can be pulled from using the GetScriptChunk like below:
https://etherscan.io/address/0x9489bdad5e36d16051c93ab2200172083eeba057#readContract
LOCOMOTIVE
https://opensea.io/assets/ethereum/0x1fa23513825f952afca07a603ac3f312ebee4ca9/6
This piece lives on a manifold contract and an extension contract:
Manifold:
https://etherscan.io/address/0x1fa23513825f952afca07a603ac3f312ebee4ca9
Extension
https://etherscan.io/address/0x9489bdad5e36d16051c93ab2200172083eeba057 (shoutout to @yungwknd on twitter for contract improvements)
Below are screen shots showing where I wrote the code to the blockchain.
https://etherscan.io/tx/0x255406ba96435998e08856eea3b4d35ad9a01cbce5aa2c8b62cf3609df491735
The script can be pulled from using the GetScriptChunk like below:
https://etherscan.io/address/0x9489bdad5e36d16051c93ab2200172083eeba057#readContract
THINGS KEEP FALLING DOWN
https://opensea.io/assets/ethereum/0x1fa23513825f952afca07a603ac3f312ebee4ca9/7
This piece lives on a manifold contract and an extension contract:
Manifold:
https://etherscan.io/address/0x1fa23513825f952afca07a603ac3f312ebee4ca9
Extension
https://etherscan.io/address/0x9489bdad5e36d16051c93ab2200172083eeba057 (shoutout to @yungwknd on twitter for contract improvements)
Below are screen shots showing where I wrote the code to the blockchain.
https://etherscan.io/tx/0x255406ba96435998e08856eea3b4d35ad9a01cbce5aa2c8b62cf3609df491735
The script can be pulled from using the GetScriptChunk like below:
https://etherscan.io/address/0x9489bdad5e36d16051c93ab2200172083eeba057#readContract