[Web3.0]/블록체인

블록체인 상에서 프로그램이 만들어지는 순서 (CA / ABI )

_niel 2023. 2. 15. 21:37

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