이전글
[솔리디티] 0. 들어가기 전에
앞으로 이어지는 솔리디티 글은 다음과 같은 내용이 미리 선행되어야 합니다. 1. 프로그래밍 기초: 기초적인 수준의 프로그래밍 개념인 변수, 함수, 클래스 등을 알고 있는 수준이면 충분합니다.
kwjdnjs.tistory.com
솔리디티와 EVM
이번 글에서는 솔리디티에 대한 기초적인 내용을 정리해 보겠습니다. 보다 자세한 내용은 아래 글에서 확인할 수 있습니다.
[이더리움과 월드 컴퓨터] 2-3. EVM
이전글 [이더리움과 월드 컴퓨터] 2-2. EOA 이전글 [이더리움과 월드 컴퓨터] 2-1. 주소 이전글 [이더리움과 월드 컴퓨터] 1-4. 스마트 컨트랙트와 댑(DApp) 이전글 [이더리움과 월드 컴퓨터] 1-3. 가스와
kwjdnjs.tistory.com
[이더리움과 월드 컴퓨터] 2-4. 컨트랙트 계정
이전글 [이더리움과 월드 컴퓨터] 2-3. EVM 이전글 [이더리움과 월드 컴퓨터] 2-2. EOA 이전글 [이더리움과 월드 컴퓨터] 2-1. 주소 이전글 [이더리움과 월드 컴퓨터] 1-4. 스마트 컨트랙트와 댑(DApp) 이
kwjdnjs.tistory.com
[이더리움과 월드 컴퓨터] 2-5. 솔리디티
이전글 [이더리움과 월드 컴퓨터] 2-4. 컨트랙트 계정 이전글 [이더리움과 월드 컴퓨터] 2-3. EVM 이전글 [이더리움과 월드 컴퓨터] 2-2. EOA 이전글 [이더리움과 월드 컴퓨터] 2-1. 주소 이전글 [이더리
kwjdnjs.tistory.com
1. EVM과 opcode
스마트 컨트랙트는 블록체인에서 동작하는 프로그램입니다. 스마트 컨트랙트는 opcode로 작성되며, EVM을 통해 실행됩니다. EVM의 구조는 다음과 같습니다.
opcode는 컨트랙트 계정(CA)이 생성되는 과정에서 블록체인에 배포됩니다. 스마트 컨트랙트 배포 이후 EOA가 CA를 트랜잭션으로 호출하면, CA에 저장된 코드가 실행됩니다. 이 과정에서 ABI를 통해 데이터를 보내거나 함수를 호출할 수 있습니다.
2. 솔리디티
이더리움의 EVM은 다음과 같이 스택을 사용하여 opcode를 실행합니다.
여기에서 사용되는 opcode는 사람이 직접 읽거나 쓰기 어렵습니다. 따라서 스마트 컨트랙트를 위한 고급언어인 솔리디티가 등장했습니다.
솔리디티를 사용해 작성된 코드는 컴파일러를 통해 opcode로 컴파일됩니다. 이 과정에서 ABI도 생성됩니다.
지금까지 솔리디티와 EVM에 대해 간략하게 정리해 봤습니다. 감사합니다.
다음글
[솔리디티] 2. 리믹스 IDE
이전글 [솔리디티] 1. 솔리디티와 EVM 이전글 [솔리디티] 0. 들어가기 전에 앞으로 이어지는 솔리디티 글은 다음과 같은 내용이 미리 선행되어야 합니다. 1. 프로그래밍 기초: 기초적인 수준의 프로
kwjdnjs.tistory.com
'이더리움 > 솔리디티' 카테고리의 다른 글
[솔리디티] 5. 연산자, 전역 변수, 단위 (0) | 2023.07.13 |
---|---|
[솔리디티] 4. 생성자, 매개변수, 값 타입과 참조 타입, immutable (0) | 2023.07.10 |
[솔리디티] 3. 자료형, 배열, 상수, 상태 변수 (0) | 2023.07.08 |
[솔리디티] 2. 리믹스 IDE (0) | 2023.07.06 |
[솔리디티] 0. 들어가기 전에 (0) | 2023.07.04 |