본문 바로가기

Blockchain

ABI(Application Binary Interface) 파일이란? (+ ByteCode)

 

컨트랙트 메타데이터 

Solidity 컴파일러는 현재 컨트랙트에 대한 정보를 포함하고 있는 컨트랙트 메타데이터 JSON 파일을 자동적으로 생성 

이 파일을 사용하여 컴파일러 버전, 사용된 소스, ABI 등을 보다 안전하게 컨트랙트와 상호작용하고 소스코드 검ㅈ으 

 

Solidity 소스코드를 컴파일하면 ByteCode(.bin) 파일과 ABI(.abi)파일이 생성된다. 

 

 

Bytecode 

컨트랙트를 배포할 때 블록체인이 저장하는 정보 

Solidity 소스코드를 EVM이 이해할 수 있는 형태로 변환한 것 

 

 

 

ABI

컨트랙트 함수와 매개변수들을 JSON 형식으로 나타낸 리스트

EVM이 컨트랙트 함수를 실행할 때 필요 

컨트랙트 함수를 실행하려는 사람은 ABI 정보를 노드에 제공 

 

이더리움 스마트 컨트랙트는 이더리움 블록체인에 배포된 바이트코드이다.

ex) "internalType":"bytes32" 

 

 

 

이더리움 생태계에서는 수많은 트랜잭션들이 존재하는데 그중에서 나에게 필요한 컨트랙트를 호출하기 위한 수단이 ABI