A ConsriSys Diligence Scribble bemutatása

blog 1NewsDevelopersEnterpriseBlockchain ExplainedEvents and ConferencesPressHírlevelek

Iratkozzon fel hírlevelünkre.

Email cím

Tiszteletben tartjuk a magánéletét

HomeBlogNews

A ConsriSys Diligence Scribble bemutatása

Készítette ConsenSys 2020. december 8. Feladva 2020. december 8-án

Irkál

Soha nem volt ilyen kritikus az okos szerződések biztonságos és hibamentes biztosítása. Sajnos ez továbbra is nehéz feladat. Míg vannak hasznos eszközök az automatikus teszteléshez és a hivatalos ellenőrzéshez, az intelligens szerződések helyességének biztosítása továbbra is időigényes és kihívást jelentő feladat. A helyzetet tovább rontja, hogy minden eszköznek meredek a tanulási görbéje, és gyakran bizonytalan, hogy ez még a munkának is megfelelő-e..

Ezért fejlesztettük ki a Scribble: ellenőrző nyelv és futásidejű ellenőrző eszközt. Míg eredetileg az ellenőrzések során az automatikus tulajdonságvizsgálathoz hoztuk létre, úgy döntöttünk, hogy megosztjuk ezt a projektet a közösséggel!

Mi az a firka?

Amikor a firkáról beszélünk, két dologról beszélünk.

Először is, a Scribble a tulajdonságok írásának specifikációs nyelve.

Másodszor, a Scribble egy futásidejű ellenőrző eszköz, amely a Scribble specifikációs nyelvet használja.

MEGJEGYZÉS: A Scribble önmagában nem végez ellenőrzést. Azt csinál tegye lehetővé más eszközöket a tulajdonságok teszteléséhez és ellenőrzéséhez.


A firka egy nyelv

A Scribble egy tartományspecifikus nyelvet határoz meg az intelligens szerződésekről szóló tulajdonságok megírásához. A nyelvet a szilárdsági szintaxis tetejére építettük, hogy megkönnyítsük a megtanulást. Ez a specifikációs nyelv lehetővé teszi, hogy egy szilárdságú intelligens szerződést feljegyezzen a tulajdonságokkal.

MEGJEGYZÉS: A tulajdonság egy logikus állítás, amely igaznak számít, pl. „Minden autó piros”. Szolidan, gyakran olyan tulajdonságokkal rendelkezik, mint: „Csak a tulajdonos változtathat az X-n”. Vagy „A sendToken () függvény nem változtathatja meg a szerződés éter egyensúlyát”.

Különböző tulajdonságokhoz több annotációs típust is használhat. Például invariánsok vagy utókörülmények.

Ez egy példa a Scribble kommentárra:

Képernyőkép - 2020 12 08, 12 06 15 óra

Amint láthatja, a kommentárok egy függvénydefiníció fölé helyezett, inline megjegyzés formájában jelennek meg. Hozzáadtunk egy úgynevezett if_succeeds záradékot, amely ellenőrzi, hogy teljesül-e egy feltétel a függvény végrehajtása után. Ebben az esetben ellenőrizzük, hogy a függvény eredménye mindig nulla-e.

Olvassa el a firka dokumentációját

A Scribble nyelvet olyan bevált fogalmakra alapoztuk, mint posztfeltételek, invariánsok és időbeli logika. De azt is megvizsgáljuk, hogyan lehetne új ötleteket bevezetni, hogy jobban megfeleljenek az intelligens szerződések területspecifikus problémáinak.

A firkálás egy eszköz

A Scribble felveheti a tulajdonságokkal jegyzett szerződést, és új szerződéssé állíthatja össze. Ebben az új szerződésben a Scribble felveszi a Solidity kódot, amely állítást vet fel, ha egy tulajdont megsértenek. Ezt a folyamatot instrumentálásnak hívjuk.

A tulajdonságokat ellenőrző futtatható kód hozzáadását futásidejű ellenőrzésnek hívják, és sokféle adaptáció nélkül megkönnyíti a meglévő eszközökkel való munkát. Ez azért van így, mert a legtöbb eszköz már értelmezi a szilárdsági kódot, és azonnal képes lesz keresni a tulajdonjogok megsértésére!

Mert használhatja a meglévő automatikus tesztelési technikákat (például a fuzzerünket Harvey), csak egyetlen tulajdonság megírása után kezdheti el a tesztelést. Úgy gondoljuk, hogy ez jelentős előny; Önnek azonnal hasznát veszi az automatikus tesztelés, ahelyett, hogy sok időt kellene előre töltenie a kommentárok kritikus tömegének megszerzéséhez. Valami, ami általában szükséges a hagyományos ellenőrzési megközelítéseknél.

Gyorsan elkezdheti tesztelni és elemezni a szerződést, sőt később dönthet úgy is, hogy további erőfeszítéseket tesz az intelligens szerződés teljes igazolására!

Célok

Könyvvizsgálat

A Scribble-t auditok során használjuk a tulajdonságok megfogalmazására. Automatikus elemzési technikák, például fuzzing és szimbolikus végrehajtás segítségével automatikusan teszteljük és megsértéseket találunk ezekre a tulajdonságokra.

Lépjen kapcsolatba velünk, ha többet szeretne megtudni a fuzzingről és az ingatlan-alapú tesztelésről az ellenőrzések során

Alapértelmezett

A Scribble célja, hogy különböző eszközökkel és technikákkal dolgozzon; nem csak a tulajdon-alapú tesztelést akarjuk engedélyezni, hanem az egyszerű hivatalos igazolást is. Az egyetlen univerzális specifikációs nyelv használatának az az előnye, hogy csak egyszer fáradozik a tulajdonságok megírásán, de kihasználja a több eszköz használatának előnyeit.

Örökbefogadás

A Scribble segítségével azt reméljük, hogy csökkentjük a korlátot vagy a belépést az automatikus teszteléshez és a hivatalos ellenőrzéshez. Csökkenteni szeretnénk a helyes és biztonságos intelligens szerződések kidolgozásához szükséges időbefektetéseket is, amelyek biztonságosabb ökoszisztémát eredményeznek.

Hol lehet megszerezni?

Teljesen nyílt forráskódú Scribble-t készítettünk, és ez most elérhető github.com/consensys/scribble.

MEGJEGYZÉS: Ez egy béta kiadás, a nyelv szempontjai megváltoznak, és előfordulhat, hogy hibákat észlel.

A Scribble egyszerűen telepíthető az npm segítségével:

Képernyőfelvétel 2020 12 08, 12 06 35 órakor Telepítse a Scribble-t

Iratkozzon fel hírlevelünkre az Ethereum legfrissebb híreiről, vállalati megoldásokról, fejlesztői erőforrásokról és egyebekről. E-mail cím Exkluzív tartalomEthereum Q3 2020 DeFi jelentésJelentés

Ethereum Q3 2020 DeFi jelentés

Ethereum Q2 2020 DeFi jelentésJelentés

Ethereum Q2 2020 DeFi jelentés

Ethereum 2 0 Staking ökoszisztéma jelentésJelentés

Ethereum 2.0 Staking ökoszisztéma jelentés

Teljes útmutató a Blockchain üzleti hálózatokhozÚtmutató

Teljes útmutató a Blockchain üzleti hálózatokhoz

Hogyan készítsünk sikeres blokklánc terméketWebinárium

Hogyan készítsünk sikeres blokklánc terméket

Központi bankok és a pénz jövőjeFehér papír

Központi bankok és a pénz jövője

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map