계약 컴파일
디지털 자산 프로젝트를 생성 및 구성한 후 종속성을 설치하고 스마트 계약을 컴파일합니다.
프로젝트를 생성하거나 가져온 후 종속성을 설치하고 프로젝트의 package.json 파일이 변경될 때마다 다시 설치합니다. 종속성이 설치된 후와 Solidity, TypeScript 배포 스크립트 또는 생성된 프로젝트 소스가 변경될 때마다 계약을 컴파일합니다.
- Visual Studio 코드의 Blockchain App Builder For Besu 작업 표시줄에서 계약 보기를 엽니다.
- 생성되거나 임포트된 Hardhat 프로젝트를 선택한 다음 해당 프로젝트에 대한 배포/실행 양식을 엽니다. 둘 이상의 프로젝트를 사용할 수 있는 경우 양식 맨 위에 있는 프로젝트 목록에서 프로젝트를 선택합니다.
- 배포 탭을 선택한 다음 설치 종속성을 선택합니다. 종속성이 설치된 동안 기다립니다. 설치가 실패하면 보고된 오류를 수정한 다음 Install Dependencies를 다시 선택합니다.
작성 기능으로 생성된 프로젝트의 경우 npm은 표준 Hardhat 및 OpenZeppelin 종속성을 설치하고
.obp-bap/plugins/폴더의 로컬 아카이브에서 번들된 Oracle Blockchain Platform 플러그인을 해결합니다. 해당 폴더를 프로젝트에 유지합니다.package.json파일은 로컬file:종속성을 사용하여 플러그인 아카이브를 참조합니다. - 종속성이 성공적으로 설치된 후 Compile을 선택합니다. 계약이 컴파일되는 동안 기다립니다. 컴파일이 실패하면 보고된 오류를 수정한 다음 Compile을 다시 선택합니다.
Hardhat는 컴파일된 아티팩트를 프로젝트의 artifacts/ 디렉토리에 쓰고 컴파일러 캐시 데이터에 cache/ 디렉토리를 사용합니다. 확장은 Composer 생성 매니페스트와 함께 아티팩트를 사용하여 배포, 실행, 래퍼 API 및 RPC 프록시 툴링을 위한 토큰 및 계정 ABI를 검색합니다.
계약을 컴파일한 후 환경을 구성한 다음 계약을 배포하고 실행할 수 있습니다.
컴파일 오류 문제 해결
| 메시지 또는 조건 | 해결 |
|---|---|
Unable to run npm install |
Visual Studio Code에서는 Node.js 또는 npm을 사용할 수 없습니다. Node.js 및 npm 설치를 확인한 다음 Visual Studio 코드를 다시 시작하십시오. Node.js가 nvm에서 관리되는 경우 터미널에서 Visual Studio Code를 열어 셸 PATH 변수를 상속합니다. |
Unable to run Hardhat |
종속성이 설치되지 않았거나 로컬 Hardhat, npx 또는 npm을 찾을 수 없습니다. 종속성 설치를 실행하고 Visual Studio Code에서 Node.js를 사용할 수 있는지 확인합니다. |
| npm이 로컬 플러그인 아카이브를 찾을 수 없습니다. | .obp-bap/plugins/ 폴더가 여전히 존재하고 package.json 파일에서 참조하는 번들 .tgz 파일이 포함되어 있는지 확인합니다. 플러그인 폴더가 제거된 경우 프로젝트를 재생성합니다.
|
HH1: You are not inside a Hardhat project |
프로젝트 선택기에서 올바른 임포트 또는 구성 프로젝트가 선택되었는지 확인합니다. 선택한 루트는 hardhat.config.ts 파일을 포함해야 합니다.
|
| 계약 아티팩트가 누락되었습니다. | 계약을 소유하는 프로젝트에서 컴파일을 실행합니다. 다른 참조 프로젝트 또는 SDK 표준의 아티팩트는 사용하지 마십시오. |
| 소스 변경 후 컴파일 오류 유지 | Hardhat에서 현재 소스에서 아티팩트를 재구축하도록 Clean을 실행한 다음 Compile을 실행합니다. |