Salt la conținutul principal

Liniile directoare privind securitatea contractelor inteligente

soliditycontracte inteligentesecuritate
Intermediar
Trailofbits
Construirea de contracte sigure(opens in a new tab)
6 septembrie 2020
5 minute de citit minute read

Urmează aceste recomandări la nivel înalt pentru a crea contracte inteligente mai sigure.

Linii directoare de proiectare

Proiectarea contractului trebuie discutată din timp, înainte de a scrie orice linie de cod.

Documentație și specificații

Documentația poate fi scrisă la diferite niveluri și trebuie actualizată în timpul implementării contractelor:

Calculul în lanț față de cel în afara lanțului

  • Păstrează cât mai mult cod în afara lanțului. Menține nivelul în lanț mic. Pre-procesează datele cu codul în afara lanțului, astfel încât verificarea în lanț să fie simplă. Ai nevoie de o listă ordonată? Sortează lista în afara lanțului și numai după aceea verifică ordinea în lanț.

Posibilitate de upgrade

Am discutat despre diferitele soluții de upgrade pe blogul nostru(opens in a new tab). Fă o alegere deliberată pentru a susține posibilitatea de upgrade sau nu înainte de a scrie orice cod. Decizia va influența modul în care îți structurezi codul. În general, recomandăm:

Orientări de implementare

Luptă-te pentru simplitate. Folosește întotdeauna soluția cea mai simplă potrivită scopului tău. Orice membru din echipa ta trebuie să poată să-ți înțeleagă soluția.

Compoziția funcției

Arhitectura bazei de coduri ar trebui să ușureze examinarea codului. Evită alegerile arhitecturale care scad capacitatea de a raționa despre corectitudinea sa.

  • Divizează logica sistemului, fie prin contracte multiple, fie prin gruparea unor funcții similare (de exemplu, autentificare, aritmetice,... ).
  • Scrie funcții mici, cu un scop clar. Acest lucru va facilita revizuirea și va permite testarea componentelor individuale.

Moștenire

Evenimente

  • Înregistrează toate operațiile cruciale. Evenimentele vor contribui la depanarea contractului în timpul dezvoltării și la monitorizarea acestuia după implementare.

Evită capcanele cunoscute

Dependențe

Testarea și verificarea

Solidity

Instrucțiuni de implementare

Odată ce contractul a fost elaborat și implementat:

Ultima modificare: @pettinarip(opens in a new tab), 8 decembrie 2023

A fost util acest tutorial?