Home » BAYC Otherside sales cost $100M in gas fees unnecessarily due to bad optimized code

BAYC Otherside sales cost $100M in gas fees unnecessarily due to bad optimized code

by Patricia

SyndicateDAO co-founder Will Papper ujawnił, jak Yuga Labs mogła zaoszczędzić użytkownikom ponad $100M zmieniając kilka linii kodu

Współzałożyciel Syndicate DAO, Will Papper, powiedział 1 maja, że nieefektywność w sprzedaży gruntów Yuga Labs Otherside spowodowała niepotrzebne zmarnowanie 100 milionów dolarów na opłaty za gaz.

W wątku na Twitterze Papper wyjaśnił, że w inteligentnym kontrakcie użytym do sprzedaży ziemi w metawersie BAYC brakowało kluczowych optymalizacji. Inteligentny kontrakt jest zgodny ze standardem ERC721, który według Pappera zawiera pewne funkcje i rozszerzenia, które są „irytujące i niepotrzebne”.

Aby zwalczyć te nieefektywności, zaproponował trzy zmiany.

Usuniecie rozszerzenia ERC721Enumerable

Pierwszą zmianą zaproponowaną przez Pappera jest usunięcie rozszerzenia ERC721Enumerable, które jest używane do śledzenia właścicieli NFT w łańcuchu.

Papper argumentował, że nie ma potrzeby rejestrowania właścicieli on-chain, ponieważ każdy może zapytać blockchain poprzez off-chain front-end, aby przekazać dane do inteligentnego kontraktu. Powiedział, że samo usunięcie tego rozszerzenia może przynieść 70% oszczędności w opłatach za gaz dzięki usunięciu jednego słowa.

Użyj ERC721A… standard opracowany przez Azuki

Papper powiedział, że standard ERC721A opracowany przez zespół Azuki jest lepszym wyborem, ponieważ pozwala użytkownikom na wybijanie wielu NFT podczas tej samej transakcji za cenę zbliżoną do kosztu wybijania tylko jednej.

Dodał, że ERC721A sprawia, że bicie monet jest „dramatycznie tańsze”, co równoważy fakt, że „transfery są nieco droższe”.

Z analizy Pappera wynika, że większość użytkowników wybija więcej niż jedną NFT. Szacuje on, że w ten sposób można by obniżyć całkowite opłaty za gaz o 10 mln USD.

Przełącz z _safeMint() na _mint()

Ostatnią optymalizacją, którą zalecił Papper, jest zastąpienie funkcji _safeMint().

Argumentował, że to tylko pomaga upewnić się, że portfel może zaakceptować NFT, a ponieważ większość społeczności prawdopodobnie korzysta z kompatybilnych i znanych portfeli, takich jak Metamask, TrustWallet, Coinbase Wallet i SafePal, funkcja ta marnuje opłaty za gaz.

Papper wyjaśnił, że nie atakuje Yuga Labs za niekompetencję i docenił ich wkład w rozwój branży. Powiedział:

„[Spędziłem] niezliczone godziny nad optymalizacją gazu i chciałem podzielić się kilkoma sztuczkami. Ten wątek ma na celu edukację i nie umniejsza pracy, jaką Yuga wykonuje dla ekosystemu. „

Podzielił się również metodologią, którą SyndicateDAO stosuje w procesie wybijania monet, aby upewnić się, że nikt nie próbuje wybijać monet w tym samym czasie, co powoduje wzrost opłat za gaz.

Related Posts

Leave a Comment