Inspiration

Inspired by breathtaking actor Keanu Reeves, RCKs tells us a nostalgic story but always in different ways.

What it does?

Interactively generates pseudo-custom SVGs in real-time based on user interaction, noise and random numbers. Once a SVG is selected it can be minted and stored directly into the Polygon Blockchain.

How was it built?

First a generative piece of software made with p5js parses and modify a special SVG with perlin noise by users interaction. Socket.io is used to connect and interact in real-time with other users and alter some attributes like color. Ethers.js library is used to handle client side Blockchain communication. This piece of software was deployed as a container to Google Cloud Run through Cloud Build and Github. Also a smart contract was developed with solidity and hardhat in order to request a random number to Chainlink VRF oracle, create metadata attributes based on the random number and mint the NFT with the SVG data embedded into the metadata, so it does not require external hosting.

Challenges

As blockchains are deterministic, true random number generation is quite challenging. Fortunately there are oracles or special external services that provides off-chain data to smart contracts; VRF from Chainlink was a perfect solution for this problem.

Accomplishments

I am proud of making use of years of experience in science and engineering to generate art as this system that provides to the users a real-time way of generate SVG based on interaction, noise and random numbers.

What was learned?

I learnt a lot of SVGs, noise, random numbers and the use of oracles. The most mind blowing thing was to know you can store data (and actually any data) in the metadata part of the NFT know as token URI not only a URL to external image.

What's next for Random Color Keanus

This is just the beginning, next stage is to make use of the randomly generated attributes to develop certain rewards, rights and accesses to holders. There are also other projects coming out soon as the result of Random Color Keanus' research and development.

Built With

Share this project:

Updates