common/compiler 패키지

helper.go

  • 실행 가능한 컨트랙트의 정보를 담는 구조체인 Contract를 정의합니다.
  • 컴파일된 컨트랙트의 정보를 담는 구조체인 ContractInfo를 정의합니다.

solidity.go

  • solc 컴파일러의 컴파일 결과를 담는 구조체인 solcOutputsolcOutputV8를 정의합니다.

💡 solidity v.0.8 이상부터는 ABI, Devdoc 및 Userdoc가 직렬화되는 방식이 변경되었으므로 solcOutputV8을 사용합니다.

  • ❓ 의문점: solc 컴파일러의 컴파일 결과 json 파일을 파싱할 때 문자열을 굳이 interface{} 타입으로 파싱하는 이유는 무엇일까?