계약 컴파일

디지털 자산 프로젝트를 생성 및 구성한 후 종속성을 설치하고 스마트 계약을 컴파일합니다.

프로젝트를 생성하거나 가져온 후 종속성을 설치하고 프로젝트의 package.json 파일이 변경될 때마다 다시 설치합니다. 종속성이 설치된 후와 Solidity, TypeScript 배포 스크립트 또는 생성된 프로젝트 소스가 변경될 때마다 계약을 컴파일합니다.

  1. Visual Studio 코드의 Blockchain App Builder For Besu 작업 표시줄에서 계약 보기를 엽니다.
  2. 생성되거나 임포트된 Hardhat 프로젝트를 선택한 다음 해당 프로젝트에 대한 배포/실행 양식을 엽니다. 둘 이상의 프로젝트를 사용할 수 있는 경우 양식 맨 위에 있는 프로젝트 목록에서 프로젝트를 선택합니다.
  3. 배포 탭을 선택한 다음 설치 종속성을 선택합니다. 종속성이 설치된 동안 기다립니다. 설치가 실패하면 보고된 오류를 수정한 다음 Install Dependencies를 다시 선택합니다.

    작성 기능으로 생성된 프로젝트의 경우 npm은 표준 Hardhat 및 OpenZeppelin 종속성을 설치하고 .obp-bap/plugins/ 폴더의 로컬 아카이브에서 번들된 Oracle Blockchain Platform 플러그인을 해결합니다. 해당 폴더를 프로젝트에 유지합니다. package.json 파일은 로컬 file: 종속성을 사용하여 플러그인 아카이브를 참조합니다.

  4. 종속성이 성공적으로 설치된 후 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을 실행합니다.