본문 바로가기

blockchain

스마트 컨트랙트 - solidity 개발 환경 셋팅 (Intellij 편)

반응형

블록체인 관련해서 스터디를 하면서 

스마트 컨트랙트 개발을 시작하게 되었습니다..


(아무도 강요하지 않았지만 몇년 후 "엉아가 블록체인 좀 해봤는데" 라는 약을 팔려면.... 시키지 않아도 알아서 해야죠.)


아무튼 


이더리움 기반의 스마트 컨트랙트를 개발하려면 

솔리디티라는 언어에 대한 이해가 필요합니다. 


스마트 컨트랙트에 대한 이해를 하시려면 이더리움을 아셔야 하고.. 

이더리움을 이해하시려면 블록체인에 대해 아셔야하고...


이래서 블록체인이 어려운가 봅니다.. 이해부터가 연결되어 있으니...

아무튼 조금 간단하게 설명을 드리면.. 



이더리움의 창시자 비탈릭은 블록에 거래의 기록만을 넣는 비트코인에 한계를 느끼고 

블록에 거래의 기록만이 아닌 새로운 무언가를 기록하고 싶어했습니다. 

그래서 블록을 하얀 도화지로 만들었고, 이 도화지에는 무엇이든 작성을 할 수 있습니다. 

심지어 로직을 구현한 전자 계약 알고리즘 까지도요.

스마트 컨트랙트는 이러한 도화지에 작성된 거래에 대한 약속이라고 보시면 살짝 이해가 되실 겁니다. 

이렇게 작성된 약속은 블록체인의 특징에 따라 변경을 쉽게 할 수 없고, 누구나 약속에 대해 들여다 볼 수가 있는거죠.

이렇게 만들어진 블록체인이 이더리움이라는 블록체인 플랫폼입니다.



자세한 용어에 대한 개념은 이쪽으로 

https://github.com/TeddyH/blockchain-glossary


이러한 약속 (스마트 컨트랙트)을 작성하시려면 컨트랙트 기반의 고급 프로그래밍 언어라는 솔리디티에 대해 아셔야 합니다.


솔리디티에 대한 자세한 이해는 

http://solidity.readthedocs.io/en/v0.4.24/# (영문)

http://solidity-kr.readthedocs.io/ko/latest/ (한글)

를 참고하시면 됩니다. 



그리고 우선 세상의 모든 언어가 그렇듯!!! 개발을 위한 환경 준비가 필수겠죠?


우선 준비물로 

IntelliJ - 가성비 제대로 하는 개발 툴

인터넷 잘되는 비싼 맥북 - 프로그래머의 생명은 장비

을 준비 합니다. 


솔리디티를 개발하는 도구는 여러 도구가 있습니다. 

하지만 

저는 

Intellij 가 편한 관계로.....


솔리디티 언어를 개발하시려면 우선 plug-in 을 설치 해줍니다. 


Preferences => Plugins Browse repositories.. 를 선택하여Solidity 를 검색하시면 아래와 같은 화면이 보여집니다.



플러그인을 검색하시고 Intellij-Solidity 와 Solidity Solhint 두가지 플러그인을 설치 해 줍니다. 


Intellij-Solidity : https://plugins.jetbrains.com/plugin/9475-intellij-solidity

Solidity Solhint : https://plugins.jetbrains.com/plugin/10177-solidity-solhint


그러면 다음과 같이 Smart Contract 를 새로운 파일로 생성 하실 수 있습니다. 



이제 Smart Contract 를 위한 개발 준비는 되었으니 

프로젝트를 생성하고 개발을 하면 되겠습니다. 


프로젝트 생성은 다음 블로그에서 다시 포스팅 하겠습니다. 


모두가 블록 좀 생성해 봤다는 날이 올때까지~ !!!!




반응형

'blockchain' 카테고리의 다른 글

[블록체인] 암호화폐에서 심볼 의미? 사용이유?  (0) 2018.06.08