ConsenSys Diligence의 Scribble 소개

블로그 1뉴스 개발자 엔터프라이즈 블록 체인 설명 이벤트 및 컨퍼런스 보도 자료뉴스 레터

뉴스 레터 구독.

이메일 주소

우리는 귀하의 개인 정보를 존중합니다

홈 블로그 뉴스

ConsenSys Diligence의 Scribble 소개

by ConsenSys 12 월 8, 2020Posted on 12 월 8, 2020

갈겨 쓰다

스마트 계약이 안전하고 버그가 없는지 확인하는 것이 그 어느 때보 다 중요합니다. 불행히도 여전히 어려운 작업입니다. 자동 테스트 및 공식 검증을위한 유용한 도구가 있지만 스마트 계약의 정확성을 보장하는 것은 시간이 많이 걸리고 어려운 작업입니다. 설상가상으로 각 도구는 학습 곡선이 가파르 며 작업에 적합한 지 확실하지 않은 경우가 많습니다..

이것이 바로 확인 언어 및 런타임 확인 도구 인 Scribble을 개발 한 이유입니다. 처음에는 감사 중 자동 속성 테스트를 위해 만들어졌지만이 프로젝트를 커뮤니티와 공유하기로 결정했습니다.!

Scribble이란??

Scribble에 대해 이야기 할 때는 두 가지를.

첫째, Scribble은 속성 작성을위한 사양 언어입니다..

둘째, Scribble은 Scribble 사양 언어를 사용하는 런타임 검증 도구입니다..

참고 : Scribble은 자체적으로 확인을 수행하지 않습니다. 그것 않습니다 다른 도구를 사용하여 속성을 테스트하고 확인합니다..

낙서는 언어입니다

Scribble은 스마트 계약에 대한 속성을 작성하기위한 도메인 별 언어를 정의합니다. 쉽게 배울 수 있도록 견고성 구문 위에 언어를 만들었습니다. 이 사양 언어를 사용하면 속성이있는 견고성 스마트 계약에 주석을 달 수 있습니다..

참고 : 속성은 참이 될 것으로 예상되는 논리적 진술입니다. “모든 차는 빨간색입니다”. 견고 함에서 종종 “소유자 만 X를 변경할 수 있습니다”와 같은 속성을 갖게됩니다. 또는 “함수 sendToken (),이 계약의 이더 잔액을 변경하면 안됩니다.”.

여러 종류의 속성에 대해 여러 주석 유형을 사용할 수 있습니다. 예 : 불변 또는 사후 조건.

다음은 Scribble 주석의 예입니다.

스크린 샷 2020 12 08 at 12 06 15 PM

보시다시피 주석은 함수 정의 위에있는 인라인 주석 형식을 취합니다. 함수가 실행 된 후 조건이 유지되는지 확인하는 소위 if_succeeds 절을 추가했습니다. 이 경우 함수의 결과가 항상 0이 아닌지 확인합니다..

Scribble 문서 읽기

우리는 사후 조건, 불변 및 시간 논리와 같은 입증 된 개념을 기반으로 Scribble 언어를 기반으로합니다. 그러나 우리는 또한 스마트 계약의 도메인 별 문제에 더 잘 맞는 새로운 아이디어를 도입 할 수있는 방법도 살펴 봅니다..

낙서는 도구입니다

Scribble은 속성으로 주석이 달린 계약을 가져 와서 새 계약으로 컴파일 할 수 있습니다. 이 새로운 계약에서 Scribble은 재산이 위반 될 때마다 주장을 제기하는 Solidity 코드를 추가 할 것입니다. 우리는 이것을 프로세스 계측이라고 부릅니다..

속성을 확인하는 실행 가능한 코드를 추가하는 것을 런타임 확인이라고하며 많은 조정없이 기존 도구로 쉽게 작업 할 수 있습니다. 대부분의 도구는 이미 견고성 코드를 해석하고 재산 위반 사항을 즉시 검색 할 수 있기 때문입니다.!

기존의 자동 테스트 기술 (예 : 퍼저 Harvey), 단일 속성을 작성한 후에 테스트를 시작할 수 있습니다.. 우리는 이것이 중요한 이점이라고 믿습니다. 중요한 양의 주석을 얻기 위해 많은 시간을 할애하지 않고 즉시 자동 테스트의 이점을 누릴 수 있습니다. 일반적으로 전통적인 검증 접근 방식에 필요한 것.

계약 테스트 및 분석을 신속하게 시작하고 나중에 스마트 계약을 완전히 확인하기 위해 추가 노력을 기울일 수도 있습니다.!

목표

심사

감사하는 동안 Scribble을 사용하여 속성을 공식화합니다. 퍼징 및 기호 실행과 같은 자동 분석 기술을 사용하여 이러한 속성에 대한 위반 사항을 자동으로 테스트하고 찾습니다..

감사 중 퍼징 및 속성 기반 테스트에 대해 자세히 알아 보려면 당사에 문의하십시오.

표준

Scribble은 다양한 도구와 기술로 작업하는 것을 목표로합니다. 우리는 속성 기반 테스트뿐만 아니라 쉬운 공식 검증을 원합니다. 단일 범용 사양 언어를 사용할 때의 이점은 속성을 한 번만 작성하는 데 투자하지만 여러 도구를 사용하는 이점을 얻을 수 있다는 것입니다..

양자

Scribble을 통해 우리는 자동 테스트 및 공식 검증에 대한 장벽이나 진입을 낮추기를 희망합니다. 또한 정확하고 안전한 스마트 계약을 개발하는 데 필요한 시간 투자를 줄여 더 안전한 생태계를 만들고 싶습니다..

어디서 구할 수 있나요?

우리는 완전히 오픈 소스 Scribble을 가지고 있으며 지금은 github.com/consensys/scribble.

참고 : 이것은 베타 릴리스이며 언어 측면이 변경되며 일부 버그가 발생할 수 있습니다..

npm을 사용하여 Scribble을 쉽게 설치할 수 있습니다.

스크린 샷 2020 12 08 at 12 06 35 PM Scribble 설치

최신 이더 리움 뉴스, 엔터프라이즈 솔루션, 개발자 리소스 등을 보려면 뉴스 레터를 구독하십시오.Ethereum Q3 2020 DeFi 보고서보고서

Ethereum Q3 2020 DeFi 보고서

이더 리움 Q2 2020 DeFi 보고서보고서

이더 리움 Q2 2020 DeFi 보고서

이더 리움 2 0 스테이 킹 생태계 보고서보고서

이더 리움 2.0 스테이 킹 생태계 보고서

블록 체인 비즈니스 네트워크에 대한 완전한 가이드안내서

블록 체인 비즈니스 네트워크에 대한 완전한 가이드

성공적인 블록 체인 제품을 구축하는 방법웨비나

성공적인 블록 체인 제품을 구축하는 방법

중앙 은행과 화폐의 미래백지

중앙 은행과 화폐의 미래

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