Home » BAYC Otherside verkoop kostte onnodig $100M aan gaskosten door slecht geoptimaliseerde code

BAYC Otherside verkoop kostte onnodig $100M aan gaskosten door slecht geoptimaliseerde code

by Tim

SyndicateDAO mede-oprichter Will Papper onthulde hoe Yuga Labs gebruikers meer dan $100M had kunnen besparen door een paar regels code te veranderen

Syndicate DAO mede-oprichter Will Papper zei op 1 mei dat inefficiënties in de Yuga Labs Otherside landverkoop ervoor zorgden dat $100 miljoen nodeloos verspild werd aan gaskosten.

In een Twitter thread, legde Papper uit hoe het smart contract dat gebruikt werd om het BAYC metaverse land te slaan, belangrijke optimalisaties miste. Het smart contract volgt de ERC721-standaard, die volgens Papper een aantal functies en uitbreidingen bevat die “vervelend en onnodig” zijn.

Om de inefficiënties tegen te gaan, stelde hij drie veranderingen voor.

Verwijder de ERC721Enumerable uitbreiding

De eerste wijziging die Papper voorstelde is het verwijderen van de ERC721Enumerable extensie, die gebruikt wordt om eigenaars van NFTs in de keten te traceren.

Papper argumenteerde dat het niet nodig is om eigenaars on-chain te registreren omdat iedereen de blockchain kan bevragen via een off-chain front-end om de gegevens door te geven in een smart contract. Hij zei dat het verwijderen van de extensie alleen al 70% aan gaskosten zou kunnen besparen door het verwijderen van een enkel woord.

Gebruik ERC721A… een standaard ontwikkeld door de Azuki

Papper zei dat de ERC721A standaard, ontwikkeld door het Azuki team, een betere keuze is omdat het gebruikers in staat stelt meerdere NFT’s te slaan tijdens dezelfde transactie voor bijna de kosten van het slaan van slechts één.

Hij voegde eraan toe dat ERC721A het slaan van munten “dramatisch goedkoper” maakt, wat compenseert voor het feit dat het “transfers iets duurder” maakt.

Gebaseerd op Papper’s analyse, slaan de meeste gebruikers meer dan één NFT. Hij schat dat dit de totale gaskosten met $10 miljoen had kunnen verlagen.

Switch from _safeMint() to _mint()

De laatste optimalisatie die Papper aanbeveelt is het vervangen van de _safeMint() functie.

Hij argumenteerde dat dit alleen helpt ervoor te zorgen dat een portemonnee NFT’s kan accepteren en aangezien het grootste deel van de gemeenschap waarschijnlijk compatibele en bekende portemonnees gebruikt zoals Metamask, TrustWallet, Coinbase Wallet, en SafePal; deze functie verspilt gaskosten.

Papper gaat verder met te verduidelijken dat hij Yuga Labs niet aanvalt voor incompetentie en erkende hun bijdragen aan de industrie. Hij zei:

“[Ik heb] ontelbare uren besteed aan gasoptimalisaties en wilde een paar trucs delen. Deze thread is om te onderwijzen en neemt niets weg van het werk dat Yuga voor het ecosysteem doet. “

Hij deelt ook een methodologie die SyndicateDAO gebruikt voor het muntproces om ervoor te zorgen dat niemand tegelijkertijd probeert te slaan, waardoor de gaskosten stijgen.

Related Posts

Leave a Comment