solidity 02. 기본 문법

BlockChain,NFT,Web3.0/Solidity 2022. 1. 15. 00:20
반응형

Solidity 소스 파일은 계약 정의, 가져오기 지시문 및 pragma 지시문을 원하는 수만큼 포함할 수 있다 

https://remix.ethereum.org/

 

Remix - Ethereum IDE

 

remix.ethereum.org

에디터를 열고 

contracts폴더를 선택한다
우클릭또는 
아이콘을 선택하고 파일을 만들어 준다 

이때 확장자(.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
: