solidity 02. 기본 문법
BlockChain,NFT,Web3.0/Solidity 2022. 1. 15. 00:20Solidity 소스 파일은 계약 정의, 가져오기 지시문 및 pragma 지시문을 원하는 수만큼 포함할 수 있다
에디터를 열고
이때 확장자(.sol)는 다음과 같이 자동으로 붙는다
SPDX 라이센스 식별자
스마트 계약에 대한 신뢰는 소스 코드를 사용할 수 있는 경우 더 잘 확립될 수 있다
소스 코드를 사용 가능하게 만드는 것은 항상 저작권과 관련된 법적 문제를 다루기 때문에 Solidity 컴파일러는 기계 판독 가능한 SPDX 라이센스 식별자 의 사용을 권장한다
모든 소스 파일은 라이선스를 나타내는 주석으로 시작해야 한다
// SPDX-License-Identifier: MIT
pragma
pragma키워드는 특정 컴파일러 기능 또는 검사를 활성화하는 데 사용된다
pragma 지시문은 항상 소스 파일에 대해 로컬이므로 전체 프로젝트에서 활성화하려면 모든 파일에 pragma를 추가해야 한다
다른 파일 을 가져오는 경우 해당 파일의 pragma가 가져오는 파일에 자동으로 적용 되지 않는다
version pragma는 다음과 같이 사용됩니다.
pragma solidity ^0.5.2;
이렇게 작성한 소스 파일은 버전 0.5.2 이전의 컴파일러에서는 컴파일되지 않으며 버전 0.6.0부터 컴파일러에서도 작동하지 않는다
Contract
Solidity 계약은 이더리움 블록체인의 특정 주소에 있는 코드(기능)와 데이터(상태)의 모음이다
객체 지향 언어의 클래스와 유사하다
상태 변수는 저장되는 영구 데이터를 의미 하며
이러한 변수를 수정할 수 있는 함수가 포함된다
다른 계약(인스턴스)에서 함수를 호출하면 EVM 함수 호출을 수행하므로
호출하는 계약의 상태 변수에 액세스할 수 없도록 컨텍스트가 전환된다
어떤 일이 일어나려면 계약과 그 기능을 호출해야 한다
이더리움에는 특정 이벤트에서 자동으로 함수를 호출하는 개념이 없다
'BlockChain,NFT,Web3.0 > Solidity' 카테고리의 다른 글
solidity 05. 변수 스코프 (0) | 2022.01.15 |
---|---|
solidity 04. 변수 및 데이터 타입 (0) | 2022.01.15 |
solidity 01. 개요 (0) | 2022.01.14 |
Solidity - First Application (0) | 2022.01.14 |
Study01. Hello, Solidity (0) | 2022.01.08 |