1 dienoraštisNewsDevelopersEnterpriseBlockchain ExplainedEvents and ConferencesPressNaujienlaiškiai

Užsiprenumeruokite mūsų naujienlaiškį.

Elektroninio pašto adresas

Mes gerbiame jūsų privatumą

Pagrindinis dienoraštisNaujienos

Pristatome „ConsenSys Diligence“ „Scribble“

pateikė ConsenSys2020 m. gruodžio 8 d. paskelbta 2020 m. gruodžio 8 d

Rašyti

Dar niekada nebuvo kritiškiau įsitikinti, kad išmaniosios sutartys yra saugios ir be klaidų. Deja, tai tebėra sunki užduotis. Nors yra naudingų automatinio testavimo ir oficialaus patikrinimo įrankių, pažangių sutarčių teisingumo užtikrinimas ir toliau yra daug laiko reikalaujanti ir sudėtinga užduotis. Kad būtų dar blogiau, kiekvienos priemonės mokymosi kreivė dažnai būna staigi ir dažnai nėra aišku, ar ji net tinka darbui.

Štai kodėl mes sukūrėme „Scribble“: patvirtinimo kalbą ir vykdymo laiko patvirtinimo įrankį. Iš pradžių mes buvome sukurti automatiniam nuosavybės tikrinimui atliekant auditą, tačiau nusprendėme pasidalinti šiuo projektu su bendruomene!

Kas yra „Scribble“?

Kai mes kalbame apie „Scribble“, mes kalbame apie du dalykus.

Pirma, „Scribble“ yra savybių rašymo specifikacijų kalba.

Antra, „Scribble“ yra vykdymo laiko patikrinimo įrankis, kuriame naudojama „Scribble“ specifikacijų kalba.

PASTABA: „Scribble“ neatlieka jokio patikrinimo. Tai daro įgalinti kitas priemones patikrinti ir patikrinti savybes.

Rašymas yra kalba

„Scribble“ apibrėžia domenui būdingą kalbą savybėms apie išmaniąsias sutartis rašyti. Mes sukūrėme kalbą ant solidumo sintaksės, kad ją būtų lengva išmokti. Ši specifikacijos kalba leidžia anotuoti tvirtą išmaniąją sutartį su savybėmis.

PASTABA: ypatybė yra logiškas teiginys, kurio tikitės būti tiesa, pvz. „Visi automobiliai raudoni“. Tvirtai dažnai turėsite tokių savybių kaip: „Tik savininkas gali pakeisti X“. Arba „Funkcija sendToken (), neturėtų pakeisti šios sutarties eterio balanso“.

Skirtingoms ypatybėms galite naudoti kelis anotacijų tipus. Pvz., Invariantai ar sąlygos.

Tai yra „Scribble“ anotacijos pavyzdys:

Ekrano kadras 2020 12 08 12 06 15 val

Kaip matote, anotacijos yra tiesioginio komentaro formos, išdėstytos virš funkcijos apibrėžimo. Pridėjome vadinamąją sąlygą „if_succeeds“, kuri patikrina, ar sąlyga galioja įvykdžius funkciją. Šiuo atveju mes patikriname, ar funkcijos rezultatas visada nėra nulis.

Perskaitykite „Scribble“ dokumentaciją

„Scribble“ kalbą grindėme patikrintomis sąvokomis, tokiomis kaip post-sąlygos, invariantai ir laiko logika. Tačiau mes taip pat nagrinėjame, kaip galime pristatyti naujų idėjų, kurios geriau atitiktų pažangių sutarčių specifines srities problemas.

Scribble yra įrankis

„Scribble“ gali sudaryti sutartį su savybėmis ir sudaryti ją į naują sutartį. Šioje naujoje sutartyje „Scribble“ bus pridėtas „Solidity“ kodas, kuris pateikia tvirtinimą, kai pažeidžiama nuosavybė. Mes vadiname šį procesą instrumentavimu.

Pridedant vykdomąjį kodą, kuris patikrina ypatybes, vadinamas vykdymo laiko patikrinimas ir palengvina darbą su esamais įrankiais be daugelio pritaikymų. Taip yra todėl, kad dauguma įrankių jau interpretuos solidumo kodą ir galės iškart ieškoti nuosavybės pažeidimų!

Nes galite naudoti esamas automatinio testavimo metodikas (pvz., Mūsų „fuzzer“ Harvey), galėsite pradėti testuoti parašę tik vieną nuosavybę. Manome, kad tai yra reikšminga nauda; Jums iš karto naudingas automatinis testavimas, užuot tekę daug laiko praleisti iš anksto, kad gautumėte kritinę anotacijų masę. Tai, ko paprastai reikia taikant tradicinius patikrinimo metodus.

Galite greitai pradėti testuoti ir analizuoti sutartį ir netgi vėliau nuspręsti dėti papildomas pastangas, kad visiškai patikrintumėte pažangią sutartį.!

Tikslai

Auditas

Mes atliekame „Scribble“ auditų metu, kad suformuluotume ypatybes. Naudodami automatines analizės technikas, tokias kaip sumaišymas ir simbolinis vykdymas, mes automatiškai patikrinsime ir nustatysime šių savybių pažeidimus.

Susisiekite su mumis, kad sužinotumėte daugiau apie susikaupimą ir nuosavybės testavimą auditų metu

Standartinis

„Scribble“ siekia dirbti su skirtingomis priemonėmis ir metodais; norime ne tik įgalinti nuosavybės testavimą, bet ir paprastą oficialų patikrinimą. Vienos universalios specifikacijos kalbos naudojimo pranašumas yra tas, kad jūs stengiatės rašyti ypatybes tik vieną kartą, tačiau pasinaudojate kelių įrankių nauda.

Priėmimas

Su „Scribble“ mes tikimės sumažinti barjerą ar įrašą automatiniam bandymui ir oficialiam patikrinimui. Mes taip pat norime sutrumpinti laiko sąnaudas, reikalingas teisingoms ir saugioms pažangioms sutartims sukurti, kad būtų sukurta saugesnė ekosistema.

Kur jūs galite tai gauti?

Mes turime visiškai atvirą „Scribble“ šaltinį, kurį dabar galima įsigyti github.com/consensys/scribble.

PASTABA: Tai yra beta versijos leidimas, kalbos aspektai pasikeis ir galite susidurti su klaidomis.

„Scribble“ galite lengvai įdiegti naudodami „npm“:

Ekrano kadras 2020 12 08 12 06 35 val Įdiekite „Scribble“

Užsiprenumeruokite mūsų naujienlaiškį, kuriame rasite naujausias „Ethereum“ naujienas, įmonės sprendimus, kūrėjų išteklius ir dar daugiau. El. Pašto adresas Išskirtinis turinysEthereum Q3 2020 DeFi ataskaitaAtaskaita

Ethereum Q3 2020 DeFi ataskaita

„Ethereum“ Q2 2020 m. „DeFi“ ataskaitaAtaskaita

„Ethereum“ Q2 2020 m. „DeFi“ ataskaita

Ethereum 2 0 Stabili ekosistemos ataskaitaAtaskaita

„Ethereum 2.0“ svarbi ekosistemos ataskaita

Pilnas „Blockchain“ verslo tinklų vadovasVadovas

Pilnas „Blockchain“ verslo tinklų vadovas

Kaip sukurti sėkmingą „Blockchain“ produktąInternetinis seminaras

Kaip sukurti sėkmingą „Blockchain“ produktą

Centriniai bankai ir pinigų ateitisBaltas popierius

Centriniai bankai ir pinigų ateitis

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me