Popularne tematy
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
MoonCats to najwcześniejsza generatywna sztuka na Ethereum w ścisłym, technicznym sensie, ponieważ jest generowana podczas mintowania przez użytkowników na podstawie weryfikowalnego algorytmu on-chain. Kropka. Oto dlaczego🧵
Wdrożenie on-chain w 2017 roku. Kontrakt MoonCatRescue został zweryfikowany 9 sierpnia 2017 roku, przed ERC-721 i większością infrastruktury NFT.
Losowość czasu aktywacji na łańcuchu. Gdy właściciele wywołują activate(), kontrakt zobowiązuje się do searchSeed = block.blockhash(block.number - 1), co nie może być znane aż do tuż przed aktywacją. To zapobiega wstępnemu obliczaniu lub wydobywaniu pożądanych wyników.
Minting oparty na proof-of-work. Minting wykorzystuje rescueCat(bytes32 seed), który oblicza catIdHash = keccak256(seed, searchSeed) i wymaga, aby catIdHash[0] | catIdHash[1] | catIdHash[2] == 0x0. W praktyce, ratownicy musieli szukać nasion poza łańcuchem, aż znajdą hash z trzema wiodącymi zerowymi bajtami, a następnie przesłać to nasiono na łańcuch. To sprawiło, że generacja była bez zezwolenia i odkrywalna przez górników, a nie wstępnie generowana przez twórców.
Deterministyczne pochodzenie ID przy mintowaniu. Dla ważnych nasion kontrakt przypisuje catId = bytes5((catIdHash & 0xffffffff) << 216), tzn. niskie 32 bity hasha przesunięte do 5-bajtowego identyfikatora, przy czym wysoki bajt jest zarezerwowany dla flagi „genesis”. Unikalność jest egzekwowana na łańcuchu z require(catOwners[catId] == 0x0).
Generatory kanoniczne zakotwiczone w łańcuchu. Kontrakt przechowuje imageGenerationCodeMD5, aby klienci mogli zweryfikować, że kod renderujący, którego używają, odpowiada kanonicznemu generatorowi, do którego odnosi się kontrakt. To jest kryptograficzna kotwica na łańcuchu dla renderera.
Kompaktowy, generatywny "przepis" w pełni przechowywany na łańcuchu. Każdy MoonCat ma 5-bajtowy identyfikator Hex, który koduje jego pełny przepis: kierunek, inwersja palety, wzór futra, wyraz twarzy, pozę i kolor podstawowy. Drugi bajt ("k") multiplexuje pozę/twarz/futro/kierunek, a ostatnie trzy bajty dostarczają podstawowy RGB, który jest rozwijany w paletę.
Otwórz, renderer referencyjny. Oficjalny generator mooncatparser deterministycznie mapuje 5-bajtowy identyfikator na dwuwymiarową tablicę pikseli. Każdy może niezależnie ponownie renderować MoonCat tylko na podstawie identyfikatora on-chain, co zapewnia długoterminową weryfikowalność.
Rozdzielanie kontrolowane przez użytkownika podczas mintowania. Oryginalny „Scanner” pozwalał użytkownikom lokalnie wydobywać nasiona i decydować, czy złożyć ratunek, co sprawiło, że statystyki rzadkości i rozkłady cech pojawiały się z otwartego uczestnictwa, a nie z wcześniej obliczonego zrzutu.
Pre-ERC-721, w pełni on-chain rynek i nazewnictwo. Kontrakt z 2017 roku zawiera on-chain rynek (makeAdoptionOffer, acceptAdoptionOffer, requests) oraz niezmienne nazewnictwo za pomocą nameCat, demonstrując samodzielnie generującą mintę oraz warstwę pochodzenia i wymiany w jednym systemie.
Późniejsze utwardzenie w pełni on-chain obrazów. W 2022 roku wdrożono dodatkowe kontrakty (MoonCatSVGs, MoonCatColors, MoonCatTraits), aby łańcuch mógł zwracać SVG dla dowolnego MoonCata bezpośrednio z jego on-chain przepisu, eliminując zależności od obrazów off-chain, jednocześnie zachowując oryginalny generatywny model z 2017 roku.
Podsumowując, MoonCats wprowadziły generatywne mintowanie oparte na łańcuchu, z wykorzystaniem dowodu pracy, odkrywane przez użytkowników w sierpniu 2017 roku, z weryfikowalnym procesem renderowania opartym na hashu w umowie oraz kompaktowym przepisem na każdy token na łańcuchu.
23,94K
Najlepsze
Ranking
Ulubione