Eggheist Batching Information

Eggheist uses a novel two-step process for minting and unstaking. With Chainlinks VRF service we are able to get secure, trustworthy, and verifiable random data to use for the game.

The two-step process ensures that no one can predict the outcome of minting or staking, so there is no chance for someone to gain an unfair advantage in the game.

When minting we compile a list of all newly minted noodles and then request randomness from Chainlink.

Chainlink VRF: https://docs.chain.link/docs/chainlink-vrf/

This happens every 500 mints or 1 hour, whichever comes first.

After we receive the randomness from Chainlink, which can take up to 15 minutes, it is then used to assign traits to the noodles one at a time as the NEXT batch of noodles are minted.

This means that when you mint a noodle, you are doing a few things:

1. Creating a new noodle token in your wallet

2. Adding your new noodle to the list of noodles that need to be assigned traits

3. Assigning traits to a noodle that has already received its randomness from Chainlink in the last batch

This ensures that no one can know what traits their minted noodles will have until after Chainlink assigns randomness to them.

Example of the batching process:

Player A mints, their unrevealed Noodle (#0) is minted.

— Noodle #0 is added to a batch that is waiting to get randomness from chainlink VRF.
— Since this is the first Noodle, there are no other Noodles that have received randomness and can be given traits.
— Nothing else happens until another player mints now.
— If someone else mints Noodle #1 in the same hour, they get added to the same batch.
— If it is more than an hour since the last batch started, then the previous batch is closed out, and Noodle #1 goes in the next batch.

Player B mints Noodle #1, the unrevealed Noodle #1 is minted (So it is in their wallet but with no traits).

— Noodle #1 is added to a new batch, and the previous batch is closed. Randomness from Chainlink VRF is requested.
— Since the randomness was just requested, it hasn’t returned yet, so we cant assign traits.
— Nothing else can be done until another mint happens

Player C mints Noodle #2 it could be another hour later for a new batch, or it could be Player B minting a second noodle. Either way:

— Noodle #2 is minted and shows up in their wallet
— Let’s assume chainlink has returned the randomness we requested for the first batch (can take a few minutes).
— Noodle #0 is ready for traits and was just waiting on randomness. we have that now, so we will randomly assign traits to noodle #0
— Noodle #0 is now fully minted and revealed, with all traits, and can be staked.
— If Noodle #2 was minted soon after noodle #1, then they are both added to the same batch and are waiting for their turn to request randomness an hour after the batch started which was when noodle #1 was added to it.

Unstaking events

We use this same process to handle unstaking events where Danger Noodles have a 50% chance to steal all the unstaked Chicken Noodle’s $EGGs.

When you unstake a Chicken Noodle it is first transferred back to your wallet. The $EGG tokens generated are not sent immediately, however. We need to request randomness from Chainlink and do a roll to see if the $EGGs are stolen or not.

These are also batched together and processed later on when more unstake requests come through. Randomness is requested every 12 hours or for every 50 unstake requests.

--

--

--

100% On chain gaming done right, using proper 2 step VRF. Absolutely non exploitable, We dare you to try. $EGG = $EGG.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Coding Challenge #2

Essentials of Redis — all you need to know as a developer.

Top 15 most useful and cool keyboard shortcuts on windows 10.

https://t.co/7ZDYr0RwQh

Bulk data ingestion from S3 into DynamoDB via AWS Lambda

App Store Transitions

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Eggheist.game NFT

Eggheist.game NFT

100% On chain gaming done right, using proper 2 step VRF. Absolutely non exploitable, We dare you to try. $EGG = $EGG.

More from Medium

We Failed a First Launch!

The Dreamers VX are coming April 9th!!!

NFT Crazy Fury…a crazy Update!

What is NFT?