Inspiration

My project is inspired by the 2017 "The Place" Reddit experiment.

Place was a collaborative project and social experiment hosted on the social networking site Reddit that began on April Fools' Day in 2017. The experiment involved an online canvas located at a subreddit called r/place, which registered users could edit by changing the color of a single pixel from a 16-colour palette. After each pixel was placed, a timer prevented the user from placing any pixels for a period of time varying from 5 to 20 minutes.

The experiment was ended by Reddit administrators about 72 hours after its creation, on April 3, 2017. Over 1 million users edited the canvas, placing a total of approximately 16 million tiles, and, at the time the experiment was ended, over 90,000 users were actively viewing or editing. The experiment was commended for its representation of the culture of Reddit’s online communities, and of Internet culture as a whole.

"The Place" inspired numerous clone projects some of which exist till today. My intention was to find an existing open source "The Place" fan clone project and marry it with NEAR. The project of my choice was Pxls.

Why I've chosen the Welcome track, and not the Native Track? Well, simply because I've never built my own smart contracts on NEAR blockchain before, so this Hackathon was my very first attempt.

What it does

NEAR Canvas is a drawing dapp with strong emphasis on collective action. It marries the pre-existing Web2 app called Pxls with the power of NEAR smart contracts. It's a vast 1000x1000 pixels drawing field where everyone can paint whatever they want. But! The restrictive design of this app prevents any individual from creating noticeably large artworks in a short time. For example, a 100x100 pixel art will take a single person more than 48 hours to complete!

How we built it

I've put in place a custom Rust smart contract that allows to store the color values of each one from the 1 million pixels of the canvas.

I've also replaced the Pxls login mechanisms with NEAR wallet - based login flow.

Challenges we ran into

The biggest challenge was to create a data structure that would store 1 milllion pixels efficiently. I did several experiments, as seen here, and finally I made it all work using lazy sharded arrays.

Accomplishments that we're proud of

30.000+ pixels placed by small early adopters team as part of demo preparation.

What we learned

My biggest discovery was that the Pxls community is largely quite sceptical, if not outright hostile, towards blockchains and crypto. And yet their developers had helped me a lot.

What's next for NEAR Canvas

The roadmap is the following:

  1. Win this Metabuidl Hackathon main prize. I mean, seriously, would definitely help to stimulate the future project expansion.
  2. Fix outstanding issues. Even during the demo recording, there were some annoying bugs like unstable websocket connections.
  3. Launch Flying Rhino Marketing campaign. The project needs visibility.
  4. The true fun begins. Feature-wise, I think the most promising part is to embed NFTs and tokenomics in general into NEAR Canvas. For instance, allow users to top up their in-app NEAR balance to unlock certain features like additional palettes, colors or other similar power-ups.
  5. Convert parts of the canvas to NFTs, mint them using customMintBase integration.
  6. Integrate with Paras marketplace to launch a market of NEAR Canvas NFTs.

Built With

Share this project:

Updates

posted an update

Greetings, Metabuidl Jury! An important update about the NEAR Canvas and why the Canvas is now completely blank. This project was developed in Ukraine, and the database for it was hosted on my home PC. As you all probably know from TV, the entire Ukraine is now a battlefield. I had to flee my home in a rush simply having no time for things like database dumps. This is why the Canvas is now blank. Hope you understand.

Log in or sign up for Devpost to join the conversation.