Don't think! Just do it!

종합 IT 기술 정체성 카오스 블로그! 이... 이곳은 어디지?

Smart contract

이더리움 스마트 컨트랙트 공부 순서

방피터 2022. 2. 28. 16:45

이더리움 네트워크는 거대한 세계 컴퓨터라고 보시면 됩니다. 단순히 비트코인처럼 거래 정보만 블록체인에 올라가는 것이 아니고 계약 정보나 고유 ID 같은 데이터도 블록체인에 올릴수도 있습니다. 특정 기능 수행을 위한 연산도 가능하구요 이더리움 기반 토큰도 발행할 수 있어요. 이는 이더리움이 지원하는 스마트 컨트렉트라는 기능 덕분인데요. 이 기술을 이용하여 수많은 Dapp이 만들어지고 있고 이더리움 기반 토큰, NFT 등이 구현될 수 있었죠.

 

스마트 컨트렉트는 Solidity나 Vyper와 같은 언어를 이용하여 만든 코드를 이더리움 네트워크에 업로드하여 수행할 수 있습니다. 관련 책을 한권 사서 스마트 컨트렉트를 작성하는 법, 로컬망에서 테스트하고 실제 메인넷에 업로드하는 등의 전체 과정을 주욱 따라해보는 것도 방법이긴 하겠지만 저는 뭔가를 배우는데에는 각각의 스텝과 충분히 생각할만한 시간이 필요하다고 생각합니다.

 

그래서 추천드리는 시작은 Solidity를 공부하면서 게임을 만드는 크립토 좀비입니다. ethereum.org에서 추천하는 튜토리얼로써 별도로 설치해야하는 소프트웨어는 없으며 브라우저에서 코드를 작성하고 제출하는 방식입니다. 꽤 긴 과정으로 따라하다 보시면 어느 정도 스마트 컨트렉트에 대한 개념을 이해하실 수 있으실거에요.

https://ethereum.org/en/developers/learning-tools/

 

Home | ethereum.org

Ethereum is a global, decentralized platform for money and new kinds of applications. On Ethereum, you can write code that controls money, and build applications accessible anywhere in the world.

ethereum.org

ethereum.org에서 추천하는 학습 튜토리얼

이 튜토리얼을 통해 Solidity 문법, 스마트 컨트렉트 작동 개념, 토큰 발행, NFT 발행 뿐만아니라 웹과의 연동 이더리움 지갑 활용 등도 배우실 수 있습니다.

한글도 지원되니까 너무 걱정하지 않으셔도 됩니다.

하지만 끝부분에 나오는 web과 연동하는 부분은 내용이 약간 부족한 면이 있는데요. 이 부분은 따로 연재를 해야할 것 같습니다. 잘 정돈된 글이 없는 듯 합니다.

 

크립토 좀비 과정을 마치시면 그 다음 순서로는 로컬 개발 환경을 구축하여 테스트 넷에 스마트 컨트렉트를 배포하고 웹과 연동하는 과정인데 공식 과정은 없는 것 같습니다. 이 부분은 별도로 연재하도록 하겠습니다.

Ganache for Local block chain environment
Truffle Ethereum Development Framework

마지막으로 순서로 추천드리는 과정은 Ethernaut입니다. 이더넛라고하는 사람도 있고 이더나우라고 하는 사람도 있는데 뭐가 맞는지는 잘 모르겠습니다. 구글 번역기 발음으로 들어보니 제 귀에는 이더넛라고 들립니다. 뭐 중요한 건 아니겠지요 ㅎㅎ

Ethernaut 튜토리얼 화면 - 개발자 콘솔을 활용하여 튜토리얼이 진행된다.

Ethernauts는 스마트 컨트렉트의 약점을 이용한 해킹 튜토리얼인데요. 해킹을 하면서 해당 스마트 컨트렉트의 약점이나 헛점 등을 파악하여 실제 Solidity 코드 작성시 결함이나 버그를 방지하거나 회피할 수 있는 지식을 쌓는 것이 목표입니다. 이 과정 역시 기본적으로 브라우저에서 수행되며 개발자 콘솔을 활용합니다. 다만 metamast 지갑의 설치가 필수이고 Remix Solidity IDE나 Truffle framework이 활용되기도 합니다. 참고하시기 바랍니다.

크롬 브라우저 메타마크스 지갑 extension

이 과정도 쉽지 않아서 레벨별로 연재하도록 하겠습니다.

 

이 정도면 이더리움 스마트 컨트렉트 개발자가 될 수 있을까요? ㅎㅎㅎ 저도 사실 모릅니다. 현업에 계신분들이 좀 알려주면 좋을텐데요 ㅎㅎ 좀 알려주세요.

 

안녕~!

반응형