119 ethereum hardhat : 컴파일 아티팩트
4636 단어 ethereumblockchainhardhat
• Build info files
• Reading artifacts
• Directory structure
• hardhat Tutorials , hardhat 教程
• Contact 联系方式
• 소개하다
Hardhat으로 컴파일하면 컴파일된 계약당 두 개의 파일(각각.sol
파일 아님), 즉 아티팩트 및 디버그 파일이 생성됩니다.
아티팩트에는 계약을 배포하고 상호 작용하는 데 필요한 모든 정보가 있습니다. 이들은 Truffle의 아티팩트 형식을 포함하여 대부분의 도구와 호환됩니다. 각 아티팩트는 다음 속성을 가진 json으로 구성됩니다.
contractName
: 계약 이름이 포함된 문자열입니다. abi
: A JSON description of the contract's ABI . bytecode
: A "0x"
-연결되지 않은 배포 바이트 코드의 접두사 16진수 문자열입니다. 계약을 배포할 수 없는 경우 문자열은 "0x"
입니다. deployedBytecode
: A "0x"
-연결되지 않은 런타임/배포된 바이트코드의 접두사가 붙은 16진수 문자열입니다. 계약을 배포할 수 없는 경우 문자열은 "0x"
입니다. linkReferences
: 바이트 코드의 링크가 개체를 참조합니다as returned by solc. 계약을 연결할 필요가 없는 경우 이 값에는 빈 개체가 포함됩니다. deployedLinkReferences
: 배포된 바이트 코드의 링크가 객체를 참조합니다as returned by solc. 계약을 연결할 필요가 없는 경우 이 값에는 빈 개체가 포함됩니다. 디버그 파일에는 컴파일을 재생하고 계약을 디버그하는 데 필요한 모든 정보가 있습니다. 여기에는 원본 solc 입력 및 출력, 컴파일에 사용된 solc 버전이 포함됩니다.
• 빌드 정보 파일
Hardhat은 한 번에 가능한 가장 작은 파일 집합을 컴파일하여 컴파일을 최적화합니다. 함께 컴파일되는 파일은 동일한 solc 입력 및 출력을 갖습니다. 각 디버그 파일에 이 정보를 포함하는 것은 의미 있는 낭비이므로 이 정보는 artifacts/build-info
에 있는 빌드 정보 파일에서 중복 제거됩니다. 각 계약 디버그 파일에는 빌드 정보 파일에 대한 상대 경로가 포함되어 있으며 각 빌드 정보 파일에는 solc 입력, solc 출력 및 사용된 solc 버전이 포함되어 있습니다.
이러한 파일과 직접 상호 작용하면 안 됩니다.
• 아티팩트 읽기
[HRE]에는 도우미 메서드가 있는 artifacts
개체가 있습니다. 예를 들어 hre.artifacts.getArtifactPaths()
를 호출하여 모든 아티팩트에 대한 경로가 포함된 목록을 가져올 수 있습니다.
hre.artifacts.readArtifact("Bar")
계약에 대한 아티팩트 콘텐츠를 반환하는 Bar
를 호출하여 계약 이름을 사용하여 아티팩트를 읽을 수도 있습니다. 이것은 전체 프로젝트에서 이름이 Bar
인 계약이 하나만 있는 경우에만 작동합니다. 두 개가 있으면 오류가 발생합니다. 이 사례를 명확하게 하려면 계약의 정규화된 이름(hre.artifacts.readArtifact("contracts/Bar.sol:Bar")
)을 사용해야 합니다.
• 디렉토리 구조
artifacts/
디렉토리에는 계약의 원래 디렉토리 구조를 따르는 구조가 있습니다. 예를 들어 계약이 다음과 같은 경우:
contracts
├── Foo.sol
├── Bar.sol
└── Qux.sol
그러면 아티팩트 디렉토리의 구조는 다음과 같습니다.
artifacts
└── contracts
├── Foo.sol
│ ├── Foo.json
│ ├── Foo.dbg.json
│ ├── Foo2.json
│ └── Foo2.dbg.json
├── Bar.sol
│ ├── Bar.json
│ └── Bar.dbg.json
└── Qux.sol
├── Foo.json
└── Foo.dbg.json
소스의 각 Solidity 파일은 아티팩트 구조의 디렉토리를 가져옵니다. 이러한 각 디렉토리에는 해당 파일의 각 계약에 대해 하나의 아티팩트( .json
) 파일과 하나의 디버그( .dbg.json
) 파일이 포함되어 있습니다. Foo.sol
예를 들어 내부에 두 개의 계약이 포함되어 있습니다.
두 개의 Solidity 파일은 동일한 이름의 계약을 가질 수 있으며 이 구조는 이를 허용합니다.
• hardhat 자습서 , hardhat 教程
CN 중국어 Github hardhat 教程 : github.com/565ee/hardhat_CN
CN 중국어 CSDNhardhat 教程 : blog.csdn.net/wx468116118
EN 英文 Github hardhat Tutorials : github.com/565ee/hardhat_EN
• 연락처 联系方式
홈페이지 : 565.ee
GitHub : github.com/565ee
이메일 : [email protected]
페이스북 : facebook.com/565.ee
트위터 :
텔레그램 : t.me/ee_565
Reference
이 문제에 관하여(119 ethereum hardhat : 컴파일 아티팩트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/565ee/119-ethereum-hardhat-compilation-artifacts-2mi9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
[HRE]에는 도우미 메서드가 있는
artifacts
개체가 있습니다. 예를 들어 hre.artifacts.getArtifactPaths()
를 호출하여 모든 아티팩트에 대한 경로가 포함된 목록을 가져올 수 있습니다.hre.artifacts.readArtifact("Bar")
계약에 대한 아티팩트 콘텐츠를 반환하는 Bar
를 호출하여 계약 이름을 사용하여 아티팩트를 읽을 수도 있습니다. 이것은 전체 프로젝트에서 이름이 Bar
인 계약이 하나만 있는 경우에만 작동합니다. 두 개가 있으면 오류가 발생합니다. 이 사례를 명확하게 하려면 계약의 정규화된 이름(hre.artifacts.readArtifact("contracts/Bar.sol:Bar")
)을 사용해야 합니다.• 디렉토리 구조
artifacts/
디렉토리에는 계약의 원래 디렉토리 구조를 따르는 구조가 있습니다. 예를 들어 계약이 다음과 같은 경우:
contracts
├── Foo.sol
├── Bar.sol
└── Qux.sol
그러면 아티팩트 디렉토리의 구조는 다음과 같습니다.
artifacts
└── contracts
├── Foo.sol
│ ├── Foo.json
│ ├── Foo.dbg.json
│ ├── Foo2.json
│ └── Foo2.dbg.json
├── Bar.sol
│ ├── Bar.json
│ └── Bar.dbg.json
└── Qux.sol
├── Foo.json
└── Foo.dbg.json
소스의 각 Solidity 파일은 아티팩트 구조의 디렉토리를 가져옵니다. 이러한 각 디렉토리에는 해당 파일의 각 계약에 대해 하나의 아티팩트( .json
) 파일과 하나의 디버그( .dbg.json
) 파일이 포함되어 있습니다. Foo.sol
예를 들어 내부에 두 개의 계약이 포함되어 있습니다.
두 개의 Solidity 파일은 동일한 이름의 계약을 가질 수 있으며 이 구조는 이를 허용합니다.
• hardhat 자습서 , hardhat 教程
CN 중국어 Github hardhat 教程 : github.com/565ee/hardhat_CN
CN 중국어 CSDNhardhat 教程 : blog.csdn.net/wx468116118
EN 英文 Github hardhat Tutorials : github.com/565ee/hardhat_EN
• 연락처 联系方式
홈페이지 : 565.ee
GitHub : github.com/565ee
이메일 : [email protected]
페이스북 : facebook.com/565.ee
트위터 :
텔레그램 : t.me/ee_565
Reference
이 문제에 관하여(119 ethereum hardhat : 컴파일 아티팩트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/565ee/119-ethereum-hardhat-compilation-artifacts-2mi9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
contracts
├── Foo.sol
├── Bar.sol
└── Qux.sol
artifacts
└── contracts
├── Foo.sol
│ ├── Foo.json
│ ├── Foo.dbg.json
│ ├── Foo2.json
│ └── Foo2.dbg.json
├── Bar.sol
│ ├── Bar.json
│ └── Bar.dbg.json
└── Qux.sol
├── Foo.json
└── Foo.dbg.json
CN 중국어 Github hardhat 教程 : github.com/565ee/hardhat_CN
CN 중국어 CSDNhardhat 教程 : blog.csdn.net/wx468116118
EN 英文 Github hardhat Tutorials : github.com/565ee/hardhat_EN
• 연락처 联系方式
홈페이지 : 565.ee
GitHub : github.com/565ee
이메일 : [email protected]
페이스북 : facebook.com/565.ee
트위터 :
텔레그램 : t.me/ee_565
Reference
이 문제에 관하여(119 ethereum hardhat : 컴파일 아티팩트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/565ee/119-ethereum-hardhat-compilation-artifacts-2mi9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(119 ethereum hardhat : 컴파일 아티팩트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/565ee/119-ethereum-hardhat-compilation-artifacts-2mi9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)