EIP-190은 이더리움 스마트 컨트랙트 패키징 표준(EthPM)을 정의하는 ERC로, 최종 승인되었습니다. 스마트 컨트랙트 라이브러리와 패키지를 검색, 배포, 재사용하기 위한 표준 형식을 제공합니다.
필요성
이더리움 생태계에서 컨트랙트 라이브러리를 공유하고 재사용하는 일관된 방법이 없었습니다. EIP-190은 npm과 같은 패키지 관리 개념을 스마트 컨트랙트 개발에 도입하려 했습니다.
패키지 매니페스트
EthPM 패키지는 JSON 형식의 매니페스트 파일(ethpm.json)을 통해 정의됩니다. 이 파일에는 컨트랙트 ABI, 바이트코드, 소스 코드, 배포 주소 등 필요한 모든 정보가 포함됩니다.
주요 구성 요소
패키지 이름, 버전, 의존성, 컨트랙트 타입 정보를 표준화된 형식으로 기술합니다. 배포된 컨트랙트 인스턴스와 링크 참조도 포함할 수 있어 라이브러리 연결 정보도 패키지에 담을 수 있습니다.
EthPM 레지스트리
EthPM 사양은 온체인 패키지 레지스트리(EIP-1319)와 함께 작동하도록 설계되었습니다. 개발자들은 검증된 컨트랙트 패키지를 레지스트리에서 검색하고 신뢰할 수 있습니다.
채택 현황
Truffle, Brownie, Ape 등 이더리움 개발 프레임워크들이 EthPM 또는 이와 유사한 패키지 관리 시스템을 통합했습니다. 완전한 표준화가 이루어지지는 않았지만 패키지 관리의 방향성을 제시했습니다.