브라우니 GUI

브라우니에는 테스트 커버리지 데이터를 볼 수 있고 컴파일 된 계약 바이트 코드를 분석할 수 있는 GUI가 포함되어 있습니다.

이 섹션의 일부는 EVM 바이트 코드에 대한 이해 수준을 전제로 합니다. 이 주제에 대해 더 알고 싶다면 OpenZeppelin의 Alejandro Santander가 훌륭한 가이드를 작성했습니다. - Solidity 컨트랙트 해체.

<aside> ✅ GUI를 로드하려고 할 때 오류가 발생하면 시스템에 Tk가 설치되어 있지 않은 것입니다. 더 자세한 정보는 Tk 설치 지침을 확인하십시오.

</aside>

시작하기

GUI를 열려면 프로젝트 폴더 내에서 다음 명령을 실행하십시오.

$ brownie gui

또는 콘솔에서:

>>> Gui()

로드된 후에는 먼저 볼 계약을 선택해야합니다. 이를 위해 오른쪽 상단에있는 "계약 선택"이라는 드롭 다운 목록을 클릭하십시오. 프로젝트 내에서 배포 가능한 모든 계약의 목록이 표시됩니다.

선택한 계약이 있으면 주 창에 계약 소스 코드가 표시되고 오른쪽에는 오프코드와 프로그램 카운터 목록이 표시됩니다. 계약이 여러 소스 파일에서 상속되는 경우 소스 간에 전환할 수있는 탭이 제공됩니다. 예를 들어 아래 이미지에서 "Token" 계약에는 "Token.sol"과 "SafeMath.sol"이 모두 포함됩니다.

Opcodes로 작업하기

Opcodes 매핑

코드 섹션을 강조하면 해당 섹션과 연관된 명령어도 강조됩니다. 마찬가지로, 명령어를 선택하면 관련 소스가 강조됩니다.

왼쪽 상단의 Scope버튼(또는 S 키)을 클릭하여 강조된 소스에 포함된 명령어만 표시되도록 명령어 목록을 필터링합니다.

참고

어두운 배경으로 표시된 Opcodes는 어떤 소스에도 매핑되지 않거나 전체 계약 소스에 매핑되는 경우가 많습니다. 이것들은 일반적으로 컴파일러 최적화의 결과 또는 초기 함수 선택기의 일부입니다.

점프 명령어