계약 상호 작용

브라우니에는 프로젝트를 개발하는 동안 사용할 수 있는 세 가지 주요 구성 요소가 있습니다:

  1. 콘솔은 빠른 테스트 및 디버깅에 유용합니다.
  2. 스크립트를 사용하면 일반 작업을 자동화하고 배포를 처리할 수 있습니다.
  3. 테스트는 계약이 의도한대로 실행되는지 확인하는 데 도움이됩니다.

콘솔 사용

콘솔은 비 로컬 체인에 배포 된 계약과 직접 상호 작용하거나 개발하는 동안 빠른 테스트를 수행 할 때 유용합니다. 브라우니의 기능에 익숙해지는 좋은 시작점입니다.

콘솔은 일반 Python 인터프리터와 매우 유사합니다. 프로젝트 디렉토리 내에서 다음을 입력하여 로드하세요:

$ brownie console

브라우니는 컨트랙트를 컴파일하고 로컬 테스트 환경에 연결하거나 연결하여 명령 프롬프트를 제공합니다. 이제 여기서 브라우니 API가 제공하는 모든 기능을 활용하여 네트워크와 상호작용할 수 있습니다.

<aside> 💡 내장된 dir 메서드를 호출하여 클래스에 대한 사용 가능한 메서드와 속성을 볼 수 있습니다. 클래스, 메서드 및 속성은 다른 색상으로 강조됩니다. 또한 클래스 또는 메서드에 대해 help를 호출하여 기능에 대한 정보를 볼 수 있습니다.

</aside>

스크립트 작성

콘솔 외에도 빠른 테스트 또는 일반적인 프로세스 자동화를 위해 스크립트를 작성할 수 있습니다. 스크립팅은 비 로컬 네트워크로 계약을 배포할 때도 유용합니다.

스크립트는 프로젝트 내의 scripts/ 디렉토리에 저장됩니다.

스크립트 레이아웃

Brownie 스크립트는 표준 Python 구문을 사용하지만 실행하려면 몇 가지 사항을 염두에 두어야 합니다.

Import 문

Brownie의 모든 객체가 이미 사용 가능한 콘솔과 달리 스크립트에서는 먼저 객체를 가져와야 합니다. 이를 위한 가장 간단한 방법은 와일드카드 import를 사용하는 것입니다.

from **brownie** import *

이는 인스턴스화된 프로젝트 클래스를 로컬 네임스페이스로 가져와 콘솔을 사용하는 것과 똑같은 방식으로 Brownie API에 액세스할 수 있게 합니다.