CA(Contract Address)
- 스마트 컨트랙트의 주소를 의미
- 일반 계정(지갑)은 EOA(External Owned Account) 라고 불린다.
- CA의 경우 코드를 저장하는 공간이 주소에 따로 추가되어 있다.
- 외부에서 트랜잭션이 들어오는 경우가 아니라면 자체적으로 트랜잭션을 서명할 수 없다.
ABI(Application Binary Interface)
- ABI는 고수준 언어와 저수준 언어의 소통을 도와주는 인터페이스
- CA를 통해 네트워크 블록체인 프로그램의 위치를 알더라도 네트워크의 데이터에 남는것은 함수를 특정하는 function signature(함수명)와 input(입력값) 만 있다.
- 따라서 추가적인 함수에 대한 정보들이 들어가 있는 자료형이다.
ByteCode
- 블록체인 네트워크 상에 실제로 저장되는 저수준의 코드
- 스마트 컨트랙트를 작성할 때 컴파일 과정 후 나온 바이트코드가 블록체인 네트워크에 저장된다.
스마트 컨트랙트 배포 순서
1. 스마트 컨트랙트 작성
2. 컴파일(바이트코드로 변경)
3. 배포 : Bytecode 형태의 데이터를 블록체인 장부에 직접 저장 시킨다. 저장된 데이터의 위치는 컨트랙트 주소 CA를 통하여 알 수 있다.
상호작용방법
- 유저의 개인지갑(메타마스크)의 계정은 EOA
- 웹서비스에는 CA과 ABI 그리고 유저가 선택한 입력값들을 넣어서 블록에 담아서 보낸다.
- 블록체인 네트워크에서는 이를 받아서 Bytecode형태의 스마트 컨트랙트 코드를 통해 이를 자동으로 실행시킨다.
'[Web3.0] > 블록체인' 카테고리의 다른 글
지갑관리 보안 기본 (0) | 2023.02.16 |
---|---|
이더리움 가스비 계산법 (0) | 2023.02.16 |
MultiSig, MPC (0) | 2023.02.14 |
비트코인의 UTXO (0) | 2023.02.14 |
비트코인의 컨센서스 (Consensus) (0) | 2023.02.13 |