🏷 Solidity란?
스마트 컨트랙트를 구현하기 위한 컨트랙트 기반의 고급 프로그래밍 언어로써 C++, Python, JavaScript의 영향을 받아 만들어졌다. 자바의 JVM과 유사하게 일종의 가상머신인 Ethereum Virtual Machine(EVM)에서 구동되도록 설계되었다. 정적 타입이며 상속, 라이브러리, 복잡한 사용자 정의 자료형을 지원한다.
💬 스마트 컨트랙트(Smart Contract)란?
블록체인 기반으로 체결하는 계약으로 Solidity를 사용하여 스마트 계약서를 작성한다. 계약 당사자 간의 거래 내용을 코드로 기록해 블록체인에 올리면 계약 조건이 충족됐을 때 계약을 자동으로 이행해주는 시스템이다.
🏷 개발 환경
Remix, IntelliJ IDEA plugin, VSCode Studio Extension, Etheratom 등이 존재하는데 VSCode를 비롯해 인텔리제이 등은 일반적으로 사용하는 데스크톱 IDE로써 자체적으로 Solidity 코드를 디버깅하거나 컴파일하는 기능이 없기 때문에 컴파일, 배포, 테스트, 디버깅을 도와주는 Truffle이나 Hardhat을 사용해야 하고 로컬 환경에 블록체인 테스트넷을 사용할 수 있게 해주는 Ganache를 함께 사용해야 한다.
초보자가 연습하기 가장 좋은 방법은 Remix를 사용하는 것이다. Remix는 별도의 서버 없이 컴파일러와 런타임 환경을 제공하는 웹 브라우저 기반의 IDE로 스마트 컨트랙트를 작성, 배포, 실행할 수 있다.
🔖 Remix

https://remix.ethereum.org/ 로 들어가면 Remix를 이용할 수 있다.
🔖 npm / Node.js
이더리움에서 스마트 컨트랙트를 실행하기 위해서는 솔리디티 코드를 작성하고 솔리디티 컴파일러인 solc로 컴파일하여 이더리움 블록체인에 배포해야 한다.
npm install -g solc
'Develop > Solidity' 카테고리의 다른 글
| [Solidity] 변수 (0) | 2023.12.23 |
|---|---|
| [Solidity] 스마트 컨트랙트의 구조 (0) | 2023.12.20 |