Seed Evolution - TECHNICAL

FEEL FREE TO SKIP THIS SECTION!

The addresses are converted character by character to their binary equivalents, and these binary values are passed through one of six logic gates: OR (∨), AND (∧), XOR (⊻), NOR (↓), NAND (↑), XNOR (⊙) - in that order, repeating.

At mint, the prior owner is the null address, which is all 0's. The minters address is a hexidecimal string. Both addresses are converted character by character into binary; so 0 -> 0000, 2 -> 0010, 4 -> 0100, 8 -> 1000, and the largest value in hexadecimal 'f' -> 1111.

The first logic gate used is OR, which means that if either things being compared is true (or 1 in this case) then the result is true (or 1 in this case). So, 000000000.... for the null address is all false, and cannot make any part of the result true/1. All 0's in the minters address will be 0's in the result, and all 1's will be 1's in the result. The starting seed is exactly the same as the minters address in binary form, where true/1 is a live cell, and false/0 is a dead cell.

The second logic gate is AND, which requires both inputs to be true/1 to result in true/1. This logic gate is used for the first time when the token is first transferred after mint. The prior owner is the minter, the new owner would be wherever it is sent, and both addresses are converted to binary form, character by character. Stepping through the binary digits of both addresses one by one, if both inputs are 1, then the result at that same index is 1. If they're not both 1, then the result at that index is 0. This resulting sequence becomes the new starting seed.

The process of comparing previous owner address and new owner address continues, each time using 1 of the 6 basic logic gates, in a cyclical sequence. For even more detail, start by reading about logic gates here.

Last updated