Smart Contract 개발 #1 Visual Studio로 Solidity 프로그래밍하자

in #coinkorea3 years ago (edited)

안녕하세요. 이타인클럽입니다. 저는 매우 다양한 주제로 글쓰고 있는데요, 사실 이더리움 개발에도 관심이 많습니다. 이타인클럽에 어울리는 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하기


Smart Contract 개발을 미뤄왔던 이유중 하나가 개발환경이 깔끔하지 않다는 것이었는데 Visual Studio Code를 만나고 나니 개발할 의욕이 생기네요.

다음 글에서는 개발에 본격적으로 들어가기 전에 개발에 필요한 Ethereum과 Solidity의 개념을 정리하려고 합니다. 관련하여 좋은 참고 자료가 있어서 공유합니다. PDF파일이어서 받아서 보시면 좋습니다~
Introducing Ethereum and Solidity

다음에 만나요~

Sort:  

Cheer Up!

  • from Clean STEEM activity supporter

개발도 하셨군요. 대단하십니다.

대단하긴요 직업이 개발입니다.

아... 그러게요. 죄송합니다. 당연한건데 뭔가 되게 달라보였습니다.

죄송할거 없죠. ㅎㅎ
저는 kmlee님이 더 대단하신듯해요.

이타인님 굉장히 박학다식하시네요;;;
명상이나 심리쪽 뿐만 아니라...이더 개발까지...

그냥 잡다하게 많이 하는 걸 좋게 봐주시니 고맙습니다. dapp개발은 평소 하고 싶더라구요. 공부해가며 해보려구요.

나중에 쭉 따라가보겠습니다. ^^

아직 개발전이예요. 공브해가며 강좌 만들어볼라구요. 개발전에 개발환경 구축이 참 중요하더라구요.

솔리디티가 접근성이 이렇게 좋아졌다니 덕분에 알게 되었습니다.. Visual Studio Code로 deploy까진 아니어도 테스트는 가능한가요? 사실 지식이 전혀 없이 항상 궁금해하기만 했었는데.. 조만간 접할 기회를 가져봐야겠어요 ^^ 감사드립니다.

저도 예전에 잠깐 smart contract 예제 따라해봤는데 개발환경이 좀 귀찮더라구요. 비주얼 스튜디오로 컴파일까지 되니(윈도우즈용은 deploy까지) 한결 편해졌네요.
저도 배워가며 만들어 볼라구요~

오오 저 윈도우에서 비주얼 스튜디오로 개발하는데 진짜 제가 엄청 원하던 강좌입니다. 완전 감사해요. 풀보리스팀 할게요 :)

개발하시는 분이시라서 개발 내용이 맘에 드시나 보네요. 아직 시작은 안했어요. 그전에 개발환경 구축만 먼저 올렸습니다.
윈도우즈에서 하시면 deploy까지 된다고 하니ㅜ더욱 편한 개발환경이 되겠네요.

풀보팅, 리스팀 너무 고맙습니다.

제가 DApp 개발에 관심이 있어서 책까지 공수해서 보고 있는데도 시작도 못하고 있습니다. 완전 맘에 듭니다 ㅎㅎ
개발환경 구축이 가장 중요한건데 그걸 이렇게 꼼꼼히 대신 알아봐주시니 너무 좋아요 >.<
지금 2편까지 올리셨던데 앞으로의 강좌도 기대하겠습니다 :)

개발도 하세요? ^^ 놀랍습니다.ㅎㅎㅎ Solidity가 개발 언어 이군요. ㅎㅎ

직업이 sw개발이예요. 블락체인은 아직 개발경험은 딱히 없고 이제 배워가며 해보려구요.
재밌을거 같아요~

아.... 제가 이타인클럽님 글을 처음 접한 뇌와 정보체 생각만 하고 ^^ 소프트웨어 엔지니어 이실줄 전혀 몰랐어요. ㅎㅎ죄송합니다. ^^

죄송할게 뭐 있나요 ㅎㅎ
왠지 직업보단 취미가 재밌는 법이죠.

Hi, there. Wishes to you, too

와우 개발하시군요 정말 대단하시네요~~~

대단하긴요. 막 시작한 병아리예요~

Coin Marketplace

STEEM 0.15
TRX 0.03
JST 0.024
BTC 13120.79
ETH 384.40
USDT 1.00
SBD 0.98