Based OnChain Dinos

Apex777.eth
5 min readJan 7, 2024

--

This article gives details on the “Based OnChain Dinos” collection, which mints on Base January 8th 2023.

Firstly to introduce myself — Hi I’m Apex, an Ethereum Dev building on Base, the L2 network incubated by Coinbase 👋

TLDR:

Name: Based OnChain Dinos
Chain: Base
Mint Date: 08.01.2023–12pm UTC
Supply: 2,000
Free WL Mints: 500
Max mint per tx: 20
Price: 0.0025 ETH

Links:
Opensea: https://opensea.io/collection/based-onchain-dinos
Contract: 0xD4c5292b9689238f0A51C8505B1d1D6714Ce95a0
Discord: https://discord.gg/J47bWRPuYs
Twitter: https://twitter.com/OnChainDinos

What are the Based OnChain Dinos?

Based OnChain Dinos is a derivative collection of Tiny Dinos on Ethereum.

Tiny Dinos

Tiny Dinos is a 10,000 NFT omnichain collection that minted out in 2022.

The amazing art of the Tiny Dinos collection is CC0, which means the art is free to be used by anyone and in anyway a user sees fit.

Based OnChain Dinos

As mentioned, Based OnChain Dinos is a derivative collection with some art changes to complement the Base network.

However the biggest feature of Based OnChain Dinos is that the images and metadata, unlike the original collection, is not stored in an IPFS server but stored completely OnChain, on the Base Blockchain.

OnChain Metadata Details

As the Tiny Dino trait files are cc0 they have been made available to download in PNG format.

I have converted all 71 selected PNG files to SVG. SVG files are preferred as these are code underneath. Specifically, we want to recreate the Dino assets with only “rect” svg elements. This gives us a pattern we can follow in our smart contract.

SVG Example

These SVG react elements are stored in a predictable pattern in our smart contract in byte arrays. As outlined below, each array element corresponds to the make up of the matching trait name in the string array.

Byte Array Example

Using clever solidity logic, we can build our desired Dino using these SVG elements we have stored OnChain.

Solidity Logic to create SVG image of an OnChain Dino

This SVG is then passed to Opensea in the correct metadata format JSON stored as a base64 string

Base64 string

Weighted Trait Determination

we have 71 traits to choose from unlocking a staggering 5.9 million different Dino combinations

Each Dinos traits are determined at the exact time of minting. Using pseudorandomness generated OnChain from the previous minters blockhash we pick 8 different attributes for each Dino and stored this against the Dino’s token ID. Once set, these attributes are immutable on the Blockchain.

Each number represents a position in the trait array
Trait selection logic

I have developed a custom weighting system for trait selection that will make some traits rarer than others. For example, we have a 10% probability of getting a yellow body but just a 2% chance of getting a rainbow body. Ensuring some exclusive traits remain rarer than others.

Body Trait examples

Even with nearly 6 million traits to choose from, duplicate traits are still a possibility. This is because of the “Birthday Paradox” — which states that:

In a room of 23 people, there’s a 50% chance of 2 sharing a birthday

Because of this, an extremely small number of duplicates is possible, With a supply of 2,000 we have 22% chance of getting at least one. This number becomes slightly higher when we favour certain triats. If your interested you can learn more about the Birthday Paradox here.

Dino Eggs

To ensure each Dino is unique, we have added a new stat trait named “Dino Eggs” that will assign a random of eggs to each Dino between 1–1000.

What's the deal with the dino eggs, I hear you ask? All will be revealed in time...

👀🤫

Supply Details

Finally onto the most important part of the mint. Supply information and price. I took a long time to figure out a supply number considering all of the above.

Supply Breakdown
Total Supply: 2,000
WL Free Mint: Up to 500
Price: 0.0025 ETH

There is a fine balance between giving existing holders benefits and devaluing the paid price for an NFT, a balance I think is achieved in with the above figures.

Who is on Whitelist?

Punks
All holders of my previous project (Based OnChain Punks) who have made at least 1 transaction on Base have been included.

Tiny Dinos (Eth)
All holders of a Tiny Dino (Eth) have been whitelisted.

Obviously there is a large over-allocation here but this has been accounted for, as most of these holders do not currently operate on Base or have not been active for over a year.

Final Thoughts

Keeping supply limted but with a generous allocation of free mints to existing holders, I believe there is a strong possibility of minting out quickly, passing volume and sales onto the secondary market.

Thank you for reading and I look forward to seeing all the brilliant Dinos created on January 8th!

If you enjoyed this article please share it on Twitter with the hashtag #OnChainRawr ⛓️🦖

--

--