Opis projektu
PrzetłumaczoneW części rozwojowej napiszesz kontrakt tokena w Solidity, zaimplementujesz standardowe mechanizmy transferu, zatwierdzania i przydzielania, oraz dodasz funkcje administracyjne, które produkt naprawdę potrzebuje: zarządzane wydawanie (mint), opcjonalne spalanie (burn) i możliwość wstrzymania w sytuacjach awaryjnych. Wszystkie uprzywilejowane działania muszą być chronione odpowiednią kontrolą dostępu, a kontrakt musi przestrzegać aktualnych praktyk dotyczących układu pamięci, emisji zdarzeń i obsługi błędów. Weryfikacja bezpieczeństwa jest równie ważną częścią zadania: oczekujemy dokładnego przeglądu reentrancy, przepełnienia i niedopełnienia liczb całkowitych, słabości kontroli dostępu, a także inspekcji niebezpiecznych wywołań zewnętrznych i logiki, która mogłaby pozwolić na wypłatę lub zablokowanie funduszy. Wyniki powinny być zebrane w jasnym raporcie z każdą kwestią ocenioną według powagi, opisem wpływu i konkretnymi sugestiami naprawczymi.
Wynikiem jest gotowy do użycia kontrakt, który przechodzi zestaw zautomatyzowanych testów z istotnym pokryciem normalnych i wrogich scenariuszy, pisemny raport z audytu bezpieczeństwa oraz krótki podsumowanie uwag dotyczących optymalizacji gazu wskazujące, gdzie koszty zostały zredukowane i jakie kompromisy zostały poczynione. Odpowiadając, proszę pokazać odpowiednie wcześniejsze prace nad inteligentnymi kontraktami.
— Kontrakt ERC-20 w Solidity z logiką transferu, zatwierdzania, mint, burn i pause pod wyraźną kontrolą dostępu
— Zestaw zautomatyzowanych testów obejmujących normalne użycie i wrogie przypadki brzegowe
— Raport z audytu bezpieczeństwa: reentrancy, przepełnienia, kontrola dostępu, ocenione według powagi z poprawkami
— Uwagi dotyczące optymalizacji gazu z danymi przed/po i opisem kompromisów