안녕하세요. 이타인클럽입니다. 저는 매우 다양한 주제로 글쓰고 있는데요, 사실 이더리움 개발에도 관심이 많습니다. 이타인클럽에 어울리는 dApp을 개발해 보고 싶고, 개발 예정에 있습니다. 아직 진행된 것은 별로 없지만 개발 진행하면서, 공부하면서 개발 내용을 정리해 보려고 합니다.
이더리움 개발에 어려운 점이 개발환경 구축이 어렵다는 것이었습니다.
그러던 중 지인으로부터 마이크로소프트에서 통합개발환경이 나왔다는 얘기를 듣게 되었습니다.
그래서 설치하려고 했더니... 설치가 아예 안되고 (참고로 저는 리눅스에서 개발하려고 합니다.), 이게 클라우드 서비스라서 클라우드 이용 비용을 지불해야 한다는 것을 알게 됐습니다.
그렇게 아쉬워하다가 마이크로소프트의 Visual Studio에서 이더리움의 주요 개발 언어인 Solidity를 지원하는 내용을 찾게됐습니다.
https://marketplace.visualstudio.com/items?itemName=ConsenSys.Solidity
윈도우즈에서 개발하실 분들은 Visual Studio와 위 extension을 설치하시고 개발하시면 됩니다. 아래 사이트를 참고하시면 설치 및 Smart Contract 파일을 컴파일하실 수 있을거예요.
저는 리눅스에서 개발할 예정으로, Visual Studio의 리눅스 버전인 Visual Studio Code를 설치했습니다.
https://code.visualstudio.com/
리눅스의 Visual Studio Code용으로도 Solidity 개발용 extension이 존재하는 것을 알게됐습니다.
https://github.com/juanfranblanco/vscode-solidity/
설치 및 테마 변경을 위해 아래 사이트가 도움이 되었습니다.
https://davidburela.wordpress.com/2016/11/18/configuring-visual-studio-code-for-ethereum-blockchain-development/
리눅스나 윈도우즈에서 Visual Studio (Code)를 설치하고 Solidity extension을 설치하면 Smart Contract 개발을 편하게 할 수 있습니다!
위와 같이 따라 하셨나요? 그럼 지금부터 간단히 샘플 Solidity 파일 하나를 만들고 Visual Studio Code에서 smart contract를 컴파일하여 Byte Code 생성까지 해보겠습니다. 그냥 쭈욱 한 번 과정을 보세요.
1. 작업할 폴더와 테스트 파일을 만듭니다. 여기서는 solidity_test라는 폴더를 만들었습니다.
- solidity 파일명은 my_contract.sol로 하여 새로 생성합니다. 지금은 빈 파일입니다.
2. 새 Solidity 파일 생성
- Visual Studio Code를 실행합니다.
- Visual Studio Code에서 File -> Open Folder를 선택하고 1에서 생성한 폴더를 선택합니다.
- 그러면 1에서 만들어 놓은 my_contract.sol 파일이 왼편에 보일 것입니다. 그것을 클릭합니다.
3. Contract 코드 작성
- 지금은 직접 solidity 코드를 작성하기 보다는 예제 contract를 복사해서 붙여 넣기로 하죠.
- https://ethereum.org/greeter 을 방문하여 중간에 Your first citizen: the greeter 부분의 샘플 코드를 복사하여 my_contract.sol에 붙여 넣습니다.
- 그럼 아래와 같이 예쁘게 표시된 solidity 코드를 보실 수 있을 겁니다.
4. Contract 코드 컴파일
- Visual Studio Code 화면에서 F1를 누릅니다.
- 그러면 윗쪽에 검색창이 뜨고, 거기에 "Solidity: Compile Current Solidity Contract"라고 칩니다.
5. 컴파일 결과 확인
- 컴파일이 되면 몇 가지 Warning( solidity 버전을 안적어줬서)이 뜨지만 제일 윗줄에 "Compilation completed succesfully!"라고 뜹니다.
- 그리고 Visual Studio Code의 왼편의 Explorer에 컴파일에 의한 bin이란 폴더가 새로 생겼습니다.
- bin폴더에 Contract deploy를 위한 ByteCode와 ABI가 보입니다.
6. 마지막으로 Contract를 Deploy하기
- 아쉽게도 Visual Studio Code에는 Deploy기능이 없습니다.
- 그러나 윈도우즈용인 Visual Studio에는 클릭만으로 컴파일한 contract를 deploy할 수가 있습니다! 이에 대한 자세한 사항은 아래 사이트를 참고하시면 되겠습니다.
https://koukia.ca/build-and-deploy-an-ethereum-smart-contracts-using-visual-studio-10218d3b8091
Smart Contract 개발을 미뤄왔던 이유중 하나가 개발환경이 깔끔하지 않다는 것이었는데 Visual Studio Code를 만나고 나니 개발할 의욕이 생기네요.
다음 글에서는 개발에 본격적으로 들어가기 전에 개발에 필요한 Ethereum과 Solidity의 개념을 정리하려고 합니다. 관련하여 좋은 참고 자료가 있어서 공유합니다. PDF파일이어서 받아서 보시면 좋습니다~
Introducing Ethereum and Solidity
다음에 만나요~