Salt la conținutul principal

Lista de verificare a integrării tokenului

soliditycontracte inteligentesecuritatetokenuri
Intermediar
Trailofbits
Construirea de contracte sigure(opens in a new tab)
13 august 2020
5 minute de citit minute read

Urmează această listă de verificare când interacționezi cu tokenuri arbitrare. Asigură-te că înțelegi riscurile asociate cu fiecare articol și justifică orice excepție de la aceste reguli.

Pentru comoditate, toate utilitarele(opens in a new tab) Slither pot fi rulate direct pe o adresă token, cum ar fi:

Utilizarea tutorialului Slither

slither-check-erc 0xdac17f958d2ee523a2206206994597c13d831ec7 TetherToken

Pentru a urma această listă de verificare, vei dori să ai această ieșire din Slither pentru token:

- slither-check-erc [target] [contractName] [optional: --erc ERC_NUMBER]
- slither [target] --print human-summary
- slither [target] --print contract-summary
- slither-prop . --contract ContractName # Necesită configurare și utilizarea Echidna și Manticore

Considerații generale

Conformitatea ERC

Slither include un utilitar, slither-check-erc(opens in a new tab), care analizează conformitatea unui token cu multe standarde ERC conexe. Folosește slither-check-erc pentru a verifica dacă:

Slither include un utilitar, slither-prop(opens in a new tab), care generează teste de unitate și proprietăți de securitate, care pot descoperi multe defecte comune ERC. Utilizează slither-prop pentru a verifica dacă:

În cele din urmă, există anumite caracteristici care sunt dificil de identificat în mod automat. Consultă manual aceste condiții:

  • Transfer și transferFrom nu trebuie să ia o taxă. Tokenurile deflaționiste pot duce la un comportament neașteptat.
  • Se ia în considerare dobânda potențială câștigată din token. Unele tokenuri distribuie interesul deținătorilor de tokenuri. Acest interes poate rămâne blocat în contract dacă nu este luat în considerare.

Componența contractului

Privilegiile proprietarului

Deficit de token

Recenziile pentru probleme de penurie de tokenuri necesită o revizuire manuală. Verifică aceste condiții:

  • Niciun utilizator nu deține cea mai mare parte a ofertei. În cazul în care câțiva utilizatori dețin majoritatea tokenurilor, aceștia pot influența operațiunile bazate pe repartiția tokenului.
  • Cantitatea totală este suficientă. Tokenurile într-o cantitate totală scăzută pot fi manipulate cu ușurință.
  • Tokenurile sunt situate pe o multitudine de schimburi. Dacă toate tokenurile sunt într-un schimb, un compromis al bursei poate compromite contractul care se bazează pe token.
  • Utilizatorii înțeleg riscurile asociate fondurilor mari sau împrumuturilor flash. Contractele care se bazează pe bilanțul tokenurilor trebuie sa ia in considerare cu atenție atacatorii cu fonduri mari sau atacurile prin împrumuturi flash.
  • Tokenul nu permite batere de monedă flash.. Baterea de monedă flash poate duce la fluctuații substanțiale ale echilibrului și ofertei totale, care necesită controale excesive, stricte și complete în funcționarea tokenului.

Ultima modificare: @nhsz(opens in a new tab), 15 august 2023

A fost util acest tutorial?