Inspiration

We are a small dev shop of 4 full-stack JavaScript developers and 1 designer/illustrator. We first got interested in blockchain technology earlier this year, exploring projects on Ethereum and learning Solidity. Eventually, we were introduced to Solana by a fellow developer and absolutely loved the benefits, community, and ecosystem. We knew we wanted to build something on Solana, but we needed it to be feasible considering our client work. We decided that an NFT avatar creator would make for an interesting first project in the Solana ecosystem. It would allow us to learn how to build apps on Solana and mint tokens, while still being able to showcase our expertise at full-stack web development, UI/UX design, and create some great NFT art! We haven't been this excited about a project in a long time and we really hope that one day this can be our full-time job!

What it does

The Clewless Wurms NFT Creator consists of 2 parts:

1) Website with a NFT Avatar creator that:

  • gives the user with a user-friendly UI to customize and preview their own custom NFT
  • allows users to connect their Solana wallets and purchase their customized NFTs
  • view the community's minted Wurm NFTs and their stats

2) Backend that:

  • constructs draft NFT previews
  • manages exclusive or limited edition attribute drops
  • mints NFTs using the Metaplex and Arweave suite on the fly
  • randomly generates attribute stats when a user mints an NFT based on their attribute selection

How we built it

The best way to explain the project build is to take you through the whole user flow end-to-end.

1) The user customizes and creates an NFT with our React front-end app.

2) The user connects their wallet with Web3.js and pays us the total mint price.

3) The Node.js backend process runs through a few steps utilizing the Solana CLI and Metaplex CLI:

  • The image server-side rendered with Puppeteer
  • Metadata for the NFT is created with the purchasing wallet as a creator to assign royalties
  • This is then uploaded to Arweave
  • The candy machine is created
  • We mint the NFT
  • We send the NFT to the wallet that made the purchase Along the way, we store all the information necessary to restart the process should any one of these steps fail. We also provide the user with status updates while they wait for their NFT to mint. Once their NFT mints, they get notified and the NFT will be available to view in their wallet.

We also store all the tokens that are created by us in a database and can easily create a token validation system to fight against counterfeits.

Challenges we ran into

  • The biggest challenge was coming from Web 2 and wrapping our head around the web3 paradigm in time to get something out for the hackathon
  • Due to the rapid changing natures, there were updates, bugs, and changes to the API of various CLI tools during development, which broke things and required us to adapt to them
  • Arweave kept going down at various point, which blocked us
  • The documentation for some of the tools were hard to work with and it became faster to just read through the code

Accomplishments that we're proud of

  • We are especially proud of the fact that we were able to complete this project as a team in a relatively short time (roughly 4 weeks), considering there were a number of new paradigms and technologies that we had to learn.
  • We are also very proud of the art that we created for this project.
  • Ultimately, we are happy to get our first blockchain-based project out into the world, and we hope to continue building in this space for the foreseeable future!

What we learned

  • Web3.js
  • Solana CLI
  • Metaplex CLI
  • Quickly building and growing a community on Twitter and Discord

What's next for Clewless Wurms NFT Creator

  • Public beta launch of the NFT Creator (Oct 27, 2021)
  • A more generic use canvas-to-NFT-to-wallet service
  • Continue building the Clewless Wurms community
  • Look for new and exciting opportunities to build projects in the Solana ecosystem

Built With

Share this project:

Updates