🏷 스마트 컨트랙트의 구조
솔리디티의 컨트랙트는 객체 지향 언어의 클래스와 비슷하다. 컨트랙트는 상태 변수, 함수, 함수 변경자, 이벤트, 구조체, 열거형 등을 포함하고 상속과 다양성도 지원된다.

첫 줄에 주석 처리가 되어 있는 SPDX-License-Identifier: GPL-3.0 이란 코드는 SPDX 라이센스 식별자로 GPL 3.0 버전 라이센스 하에 있다는 것을 의미한다. 모든 소스 파일은 라이센스를 나타내는 주석으로 시작한다.
💬 주석 처리는 어떻게?
한 줄 주석(' // ')과 여러 줄 주석(' /* */ ')이 가능하다.
🔖 pragma
pragma solidity >=0.8.2 <0.9.0;
Solidity 버전을 선언하는 코드로 Solidity 0.8.2 버전을 기반으로 작성되었다는 것을 뜻하며 이후 버전(0.9.0 버전 직전까지)에서도 정상 동작할 수 있게 한다. pragma는 향후 컴파일러 버전에서 호환되지 않는 변경 사항이 발생하게 되면 그 컴파일 버전과의 컴파일을 할 수 없도록 보장한다.
컨트랙트가 다르게 동작할 수 있는 컴파일러 버전에서 컴파일 할 수 없도록 보장한다. pragma라는 키워드는 컴파일러가 소스 코드를 어떻게 처리해야 되는 지 알려준다.
🔖 contract
contract Storage { ... }
배포할 컨트랙트 코드를 작성하는 곳이다.
📚 참고
'Develop > Solidity' 카테고리의 다른 글
| [Solidity] 변수 (0) | 2023.12.23 |
|---|---|
| [Solidity] 솔리디티(Solidity)에 대해서 (0) | 2023.12.20 |