Follow Us
Facebooktwitteryoutube
YouTube
Promo
banner
Promo
banner

معرفی خط خطی توسط ConsenSys Diligence

وبلاگ 1NewsD DevelopersEnterpriseBlockchain ExplainedEvent ها و کنفرانس ها Pressخبرنامه ها

مشترک شدن در خبرنامه ما.

آدرس ایمیل

ما به حریم خصوصی شما احترام می گذاریم

صفحه اصلی BlogNews

معرفی خط خطی توسط ConsenSys Diligence

توسط ConsenSys 8 دسامبر 2020 ارسال شده در 8 دسامبر 2020

خط خط زدن

اطمینان از اینکه قراردادهای هوشمند ایمن و بدون اشکال هستند ، هرگز از اهمیت بیشتری برخوردار نبوده است. متأسفانه ، این یک کار دشوار است. در حالی که ابزارهای مفیدی برای آزمایش خودکار و تأیید صحیح وجود دارد ، اطمینان از صحت قراردادهای هوشمند همچنان کاری طولانی و چالش برانگیز است. برای بدتر کردن اوضاع ، هر ابزار غالباً دارای یک منحنی یادگیری شیب دار است و اینکه آیا حتی برای کار مناسب است یا خیر ، اغلب مشخص نیست.

به همین دلیل است که ما Scribble را توسعه داده ایم: یک زبان تأیید و یک ابزار تأیید زمان اجرا. در حالی که در ابتدا برای آزمایش خودکار املاک در هنگام ممیزی ایجاد شده بودیم ، تصمیم داریم این پروژه را با انجمن به اشتراک بگذاریم!

Scribble چیست?

وقتی ما در مورد Scribble صحبت می کنیم ، در مورد دو چیز صحبت می کنیم.

اول ، Scribble یک زبان مشخصات برای نوشتن خواص است.

دوم ، Scribble ابزاری است برای تأیید زمان اجرا با استفاده از زبان مشخصات Scribble.

توجه: Scribble به تنهایی تأیید صحت را انجام نمی دهد. آی تی میکند ابزارهای دیگر را برای آزمایش و بررسی خصوصیات فعال کنید.


خط خطی یک زبان است

Scribble یک زبان خاص دامنه برای نوشتن خواص در مورد قراردادهای هوشمند تعریف می کند. ما زبان را بالای نحو جامدادی ساخته ایم تا یادگیری آن را آسان کنیم. این زبان مشخصات به شما امکان می دهد یک قرارداد هوشمند جامد با خصوصیات را حاشیه نویسی کنید.

توجه: ویژگی یک عبارت منطقی است که انتظار دارید درست باشد ، به عنوان مثال “همه اتومبیل ها قرمز هستند”. در حالت جامد ، شما غالباً خصوصیاتی مانند: “فقط مالک می تواند تغییر X را ایجاد کند” خواهید داشت. یا “عملکرد sendToken () ، نباید تعادل اتر این قرارداد را تغییر دهد”.

برای انواع مختلف خواص می توانید از چندین نوع حاشیه نویسی استفاده کنید. به عنوان مثال ، موارد غیر مجاز یا شرایط پس از آن.

این نمونه ای از حاشیه نویسی Scribble است:

Screen Shot 2020 12 08 در 12 06 15 PM

همانطور که می بینید ، حاشیه نویسی ها به شکل یک نظر درون خطی است که در بالای تعریف عملکرد قرار داده شده است. ما یک بند به اصطلاح if_sucuccesss اضافه کرده ایم که بررسی می کند آیا یک شرط پس از اجرای تابع حفظ شده است یا خیر. در این حالت ، بررسی می کنیم که نتیجه عملکرد همیشه غیر صفر است.

مستندات Scribble را بخوانید

ما زبان Scribble را بر اساس مفاهیم اثبات شده مانند شرایط پس از آن ، تغییر ناپذیرها و منطق زمانی بنا کرده ایم. اما ما همچنین بررسی می کنیم که چگونه می توان ایده های جدیدی را با توجه به مشکلات خاص دامنه قراردادهای هوشمند بهتر معرفی کرد.

خط خطی ابزاری است

Scribble می تواند قراردادی را که حاوی خواص است ، بگیرد و آن را در یک قرارداد جدید تنظیم کند. در این قرارداد جدید ، Scribble کد جامدادی را اضافه خواهد کرد که هر زمان مورد نقض مالکیت قرار گیرد ، ادعایی را مطرح می کند. ما این فرآیند را ابزار دقیق می نامیم.

افزودن کد اجرایی که ویژگی ها را بررسی می کند ، تأیید زمان اجرا نامیده می شود و کار با ابزارهای موجود بدون بسیاری از تنظیمات را آسان می کند. این مورد به این دلیل است که بیشتر ابزارها از قبل کد جامدادی را تفسیر می کنند و بلافاصله می توانند موارد نقض دارایی را جستجو کنند!

زیرا شما می توانید از تکنیک های تست اتوماتیک موجود (مانند fuzzer ما) استفاده کنید هاروی) ، فقط پس از نوشتن یک ویژگی خاص می توانید آزمایش را شروع کنید. ما معتقدیم که این یک مزیت قابل توجه است. شما بلافاصله از تست اتوماتیک بهره مند می شوید ، به جای اینکه مجبور شوید زمان زیادی را از قبل برای به دست آوردن انبوهی از حاشیه نویسی صرف کنید. چیزی که معمولاً با رویکردهای تأیید سنتی ضروری است.

می توانید به سرعت شروع به آزمایش و تجزیه و تحلیل قرارداد کنید و حتی بعداً تصمیم می گیرید که برای تأیید کامل یک قرارداد هوشمند ، تلاش بیشتری انجام دهید!

اهداف

حسابرسی

ما در هنگام ممیزی ها برای تدوین خصوصیات از Scribble استفاده می کنیم. با استفاده از تکنیک های تجزیه و تحلیل خودکار مانند اجرای مبهم و نمادین ، ​​ما به طور خودکار تخلفات این ویژگی ها را آزمایش و پیدا خواهیم کرد.

برای کسب اطلاعات بیشتر در مورد آزمایشات مبهم و مبتنی بر املاک در طول ممیزی با ما تماس بگیرید

استاندارد

Scribble قصد دارد با ابزارها و تکنیک های مختلف کار کند. ما فقط نمی خواهیم آزمایش مبتنی بر ویژگی را تأیید کنیم ، اما تأیید رسمی آسان را نیز انجام می دهیم. فایده استفاده از یک زبان خصوصی جهانی خاص این است که شما فقط یک بار در نوشتن خصوصیات تلاش می کنید ، اما از مزایای استفاده از چندین ابزار بهره مند می شوید.

فرزندخواندگی

با Scribble امیدواریم که مانع یا ورودی آزمایش اتوماتیک و تأیید رسمی را کاهش دهیم. ما همچنین می خواهیم زمان لازم برای توسعه قراردادهای هوشمند صحیح و ایمن را که منجر به یک اکوسیستم ایمن تر می شود ، کاهش دهیم.

کجا می توانید این را تهیه کنید?

ما Scribble کاملاً منبع آزاد داریم و اکنون در اینجا موجود است github.com/consensys/scribble.

توجه: این یک نسخه بتا است ، جنبه های زبان تغییر می کند و ممکن است با اشکالاتی روبرو شوید.

شما می توانید Scribble را با npm به راحتی نصب کنید:

Screen Shot 2020 12 08 در 12 06 35 PM Scribble را نصب کنید

برای آخرین اخبار Ethereum ، راه حل های سازمانی ، منابع توسعه دهنده و موارد دیگر ، در خبرنامه ما مشترک شوید. آدرس ایمیل محتوای اختصاصیگزارش Ethereum Q3 2020 DeFiگزارش

گزارش Ethereum Q3 2020 DeFi

گزارش Ethereum Q2 2020 DeFiگزارش

گزارش Ethereum Q2 2020 DeFi

Ethereum 2 0 Staking Report اکوسیستمگزارش

گزارش اکوسیستم Sthereum 2.0 Staking

راهنمای کامل شبکه های تجاری Blockchainراهنما

راهنمای کامل شبکه های تجاری Blockchain

چگونه یک محصول بلاکچین موفق بسازیموبینار

چگونه یک محصول بلاکچین موفق بسازیم

بانکهای مرکزی و آینده پولکاغذ سفید

بانکهای مرکزی و آینده پول

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