Solidity.
#1.Summary.
솔리디티는 언어이기 때문에 Programming Language 목록에 넣어야 될 수도 있지만, 아무래도 이더리움과 밀접한 연관성이 있기에 Virtual Currency 목록에 넣게 되었다. 생소할 수 있는 개념이지만 알아야 된다고 생각하기에 최대한 설명해보겠다. 전문적인 글이 아니라 나 개인의 글이기에 부족하지만 봐주셨으면 좋겠다. 언어적인 요소들은 나중에 Language 목록에서 추가로 설명하도록 하겠고, 이 글에서는 개념적인 부분에 집중했다.
#2.What is Solidity?
일단 위키백과에 서술된 내용을 보면 솔리디티(영어: Solidity)는 계약 지향 프로그래밍 언어로 다양한 블록체인 플랫폼의 스마트계약(Smart Contract) 작성 및 구현에 사용된다. 이더리움 핵심 기여자들이 이더리움과 같은 블록체인 플랫폼 상에 스마트계약을 작성 할 수 있도록 개발하였다라고 나와있다.
좀 더 설명하자면 Solidity는 스마트 계약을 구현하기위한 계약 중심의 고급 언어다. C ++, Python 및 JavaScript의 영향을 받았으며 Ethereum Virtual Machine (EVM)을 목표로 설계되었다. 견고성은 정적으로 형식화되며, 상속, 라이브러리 및 다른 기능 중에서 복잡한 사용자 정의 유형을 지원한다. 즉 투표, 크라우드 펀딩, 블라인드 경매, 멀티 서명 지갑 등에 대한 계약을 체결하는 것이 가능하다. 한 마디로 이더리움과 솔리디티는 뗄래야 뗄 수 없는 관계라고 생각하면 된다.
#3.Go to Solidity.
현재 솔리디티를 시험해 보는 가장 좋은 방법은 Remix를 사용하는 것이다. Remix는 Solidity 스마트 계약서를 작성한 다음 스마트 계약서를 전개하고 실행할 수있게 해주는 웹 브라우저 기반 IDE이다. 즉 서버 측 구성 요소가 없는 통합 컴파일러 및 Solidity 런타임 환경을 갖춘 브라우저 기반 IDE라고 할 수 있다.
#4.Remix.
cf) Remix의 주소는 https://remix.ethereum.org/
Remix를 활용한 솔리디티 프로그래밍 관련 내용들은 다른 글에서 설명해보겠다.
위의 캡쳐는 Remix 홈페이지의 화면이다. 먼저 IDE이기 때문에, 코딩 부터, 컴파일, 배포 등 거의 모든 개발 기능을 사용할 수 있다. 또 웹브라우저 기반이기 때문에 Remix를 사용하는 것은 직접적으로 이더리움 네트워크의 노드를 사용하는 방식이 아니다. 이더리움 네트워크 노드에 웹 접속하여 웹 명령어를 이용해서 노드의 기능을 사용하는 방식이다.
cf) 저 코드는 내가 연습했던 코드이기에 신경 안 쓰셔도 되고, Remix의 화면이 저런거구나라고 아시면 될 것 같다.
Remix는 이렇게 온라인으로 접속해서 하는 방법이 있고, 오프라인으로 Remix 관련 소스를 다운 받아서 사용하는 방법이 있다. 온라인 접속은 위에서 말한 것이고, 오프라인으로 사용하는 방법을 간단하게 설명하겠다.
이더리움 네트워크 노드(geth)를 로컬 컴퓨터에서 실행시키고 브라우저로 접속해야 한다. 즉 Remix를 오프라인에서 사용하기 위해서는 사이트를 접속해서 소스 코드를 다운로드 해야 한다. ==> https://github.com/ethereum/browser-solidity
cf) geth에 대한 개념 정립이 필요할 수 있는데, 차후에 geth 관련 글에서 설명하도록 하겠다.
위의 화면에 빨간색으로 표시했듯이 Clone or download를 누른 후 Download ZIP를 선택해서 코드를 다운받으면 된다. ZIP File을 원하는 폴더안에 저장하고 압축을 풀어주면 된다. 압축을 푼 후 index.html를 실행하면 된다.
cf) 이 정도로 개념에 대한 설명을 하고 차후에 관련 글들을 써보도록 하겠다. Remix를 온라인 or 오프라인 방법이 있는데 나는 그냥 Remix 웹 주소를 즐겨찾기해서 사용하고 있다. 선택은 자유다.
'#Virtual Currency & BlockChain' 카테고리의 다른 글
Japan's Economic Outlook and Major Issues in 2019. (0) | 2019.01.05 |
---|---|
Vyper. (0) | 2018.11.07 |
DASP Top 10. (0) | 2018.10.15 |
Bitcoin White Paper. (0) | 2018.09.27 |
Ethereum White Paper ver 1.2. (0) | 2018.09.27 |