728x90
반응형
Test.sol
- Simple Storage 컨트랙트를 정의하는 test.sol이 있다고 가정
- 다음과 같은 방법으로 test.sol을 컴파일
$ ls test.sol
$ solcjs --bin true --abi true -o out test.sol
//npm방식
$ ls out test.sol
$ tree out
out
├── test_sol_SimpleStorage.abi
└── test_sol_SimpleStorage.bin
0 directories, 2 files
Bytecode&ABI
Solidity 소스코드(.sol파일)를 컴파일하면 Bytecode(.bin파일)와 ABI(.abi파일)가생성
Bytecode
- 컨트랙트를 배포할때 블록체인에 저장하는 정보
- Bytecode는 Solidity 소스코드를 EVM이 이해할 수 있는 형태로 변환한 것
- 컨트랙트 배포시 HEX로 표현된 Bytecode를 TX에 담아 노드에 전달
ABI(ApplicationBinaryInterface) a.k.a. JSON interface
- ABI는 컨트랙트 함수를 JSON 형태로 표현한 정보로 EVM이 컨트랙트 함수를 실행할 때 필요
- 컨트랙트 함수를 실행하려는 사람은 ABI정보를 노드에제공
본 포스트는 GroundX 강의 학습내용을 바탕으로 작성되었습니다.
반응형
'블록체인 > Klaytn' 카테고리의 다른 글
16장 - BApp (0) | 2023.05.26 |
---|---|
15장 - Klaytn SDK: caver-js (0) | 2023.05.26 |
13장 - Solidity 기본 구조 (0) | 2023.05.25 |
12장 - 스마트 컨트랙트 (0) | 2023.05.25 |
11장 - 블록체인별 트랜잭션 (0) | 2023.05.25 |