728x90
반응형
특정 주소에 배포되어있는 TX로 실행가능한 코드
- 스마트 컨트랙트 소스코드는 함수와상태를표현
- 컨트랙트는 어카운트로취급; 컨트랙트 소스코드는 블록체인에저장
- 함수는 상태를 변경하는 함수, 상태를 변경하지 않는 함수로 분류
- 스마트 컨트랙트는 어카운트이기 때문에 주소를 부여
- 사용자(enduser,EOAowner)가 스마트 컨트랙트 함수를 실행하거나 상태를 읽을때 주소가 필요
- 스마트컨트랙트는사용자가실행
- 상태를 변경하는 함수를 실행하려면 그에 맞는 TX를 생성하여 블록에 추가 (TX체결=함수의 실행)
- 상태를 변경하지 않는 함수, 상태를 읽는 행위는 TX가 필요없음(노드에서 실행)
Solidity
- Ethereum/Klaytn에서 지원하는 스마트 컨트랙트 언어
- Klaytn은 Solidity버전 0.4.24, 0.5.6을 지원
- 일반적인 프로그래밍 언어와 그 문법과 사용이 유사하나 몇 가지 제약이 존재
- e.g., 포인터의 개념이 없기 때문에 recursive type의 선언이 불가능
Contract=Code+Data
- Solidity 컨트랙트는 코드(함수)와 데이터(상태)로 구성
- Solidity 함수는 코드 안에 변수로 선언된 상태를 변경하거나 불러옴
- 아래 예시에서 set, get은 함수, stored Data는 상태
contract SimpleStorage { uint storedData; //uint = unsigned int, 상태 function set(uint x) public { // 함수, (uint x 파라미터) storedData = x; } function get() public view returns (uint) { //(uint)값을 반환 받을 수 있다. return storedData; } }
본 포스트는 GroundX 강의 학습내용을 바탕으로 작성되었습니다.
반응형
'블록체인 > Klaytn' 카테고리의 다른 글
14장 - 소스코드 컴파일링 (0) | 2023.05.26 |
---|---|
13장 - Solidity 기본 구조 (0) | 2023.05.25 |
11장 - 블록체인별 트랜잭션 (0) | 2023.05.25 |
10장 - 트랜잭션(Transaction) (0) | 2023.05.25 |
9장 - 블록체인의 상태 (0) | 2023.05.25 |