Solidity 를 활용한
Ethereum Smart Contract 프로그래밍

수 십번 읽어도 이해하기 힘든 Blockchain, Ethereum, Smart Contract 의 개념을 쉽게 익히고
Blockchain 기술을 활용해 서비스를 만들 수 있도록 다양한 Dapp 개발 실습 예제를 진행하는 8주 과정!

기간 : 미정 | 시간 : 일요일 14:00 ~ 18:00 | 장소 : 패스트캠퍼스 강의장

블록체인?

블록체인은 근본적으로 ‘분산 데이터베이스’ 기술입니다. 그러나 단순히 데이터베이스로 정보만을 저장하는 것에서 그치는 것이 아니라 정보의 이체/교환/전달을 신뢰할 수 있는 방식으로 기록하는 수단이 될 수 있습니다. 이런 블록체인의 기술을 이용하여 암호화폐뿐만 아니라, 분산화된 앱을 작성할 수 있습니다. 대부분의 분산화된 앱은 이더리움을 기반으로 하며, 여기에는 solidity 언어가 주로 사용되고 있습니다. 블록체인 열풍에 힘입어 관련 업계에서는 블록체인 개발자를 모시고 있으나 레퍼런스가 턱없이 부족하여 막상 회사에 들어가도 제대로 배우는 데에만 몇개월씩 소요됩니다.

그래서 개발자를 위한 블록체인 강의를 열었습니다.
더이상 기업별 사례로 이미지만 그리지 말고!
5가지 예제를 통해 블록체인 개발자에게 필요한 기술과 Crowd sale 프로세스를 배워 가세요!

탈중앙 개념

솔리디티 스마트 컨트랙트 개발

Geth, Web3.js 사용

토큰 발행

블록체인 개발자에게 필요한 경험들을 본 강의에서 모두 가져가세요

강의목표

수 십번 읽어도 이해하기 힘든 Blockchain, Ethereum, Smart Contract 의 개념과 특징들을 쉽게 익힐 수 있습니다.

실제 직접 토큰을 발행해보며 Crowd Sale 의 프로세스 및 구조를 배워 바로 현업에 적용할 수 있도록 원리를 익힙니다.

Solidity, Web3.js 를 사용해 Voting, Gambling, ERC20 Token 등 5가지 예제를 통해 직접 개발해보는 실습 진행합니다.

커리큘럼

주차별 상세한 내용은 + 를 누르면 확인할 수 있습니다.

1주차 | Blockchain 개념

  • Smart contract, DApp 의 가능성, 전망
  • Blockchain 개발 수요 현황
  • 강의 소개
  • 커리큘럼
    • 실습 예제 소개
  • Blockchain 개념
    • Blockchain 원리 Demo, 실습
    • 기초 암호학
    • Bitcoin 구조, 특징
    • Ethereum 특징, Bitcoin 과의 차이점

2주차 | Ethereum 개념

  • Ethereum Review
  • Ethereum
    • Consensus
      • Block Time, Uncle Block, GHOST
      • Ethash
    • Account
    • Gas, Ether, Wei
    • Transaction
    • Block 구조 및 Tree, DB
    • EVM
  • Solidity 기초, 실습
    • Remix, Contract 배포
    • Etherscan, MEW 실습
  • ERC20, Oraclize 개념
  • Ethereum 확장성

3주차 | Geth, Web3

  • Solidity
    • Etherscan 배포 및 verify
    • Mapping
    • Contract 상속 (is)
    • Overflow, Underflow, SafeMath, Library
    • ERC20
    • 실습 과제 ( Deposit 예금 시스템 )
  • Geth
    • Geth 개념, 구조
    • Geth 옵션
    • Puppeth 를 통한 Genesis file 생성
    • Geth 명령어
    • 지갑 연동
    • web3.js, web3.py

4주차 | Smart Contract 개념 및 Solidity 문법

  • Solidity
    • 저장소 ( Storage, Memory, Stack )
    • 배열 (Array, List)
    • 반복문 ( for, while )
    • 구조체 ( struct )
    • 상속, Visibility
    • 컨트랙트 간 연동 ( inter-contract )
  • Truffle
  • web3.py Backend
  • 실습 과제 ( Deposit 예금 시스템 + Struct, Mapping, List )

5주차 | Solidity 를 이용한 Smart Contract 및 Dapp 개발 실습 (1)

  • Token
    • SimpleToken 발행
    • ERC20 스펙 분석
    • zeppelin-solidity
    • mintable Token 발행
  • DApp
    • DApp 구조
    • Web3.js
    • Metamask 연동
    • Token 발행 DApp 개발
  • Voting
    • Contract 개발
    • DApp 개발
  • 실습 과제 ( Deposit 예금 시스템 + Token )

6주차 | Solidity 를 이용한 Smart Contract 및 Dapp 개발 실습 (2)

  • Smart Contract 기반 Game 개발 실습
    • 블록체인 내에서의 random 생성 방안
    • Solidity 에서 Block 정보 접근 및 Hash 함수 호출
    • 홀짝, Betting, Lottery 예제 구현
    • 수익 Claim 로직
    • DApp 연동
  • Library
    • 외부 라이브러리 연동, 호출 실습
    • 라이브러리 배포 실습
  • 실습과제 ( Deposit 예금 시스템 + TimeLock + Ownership )

7주차 | Solidity 를 이용한 Smart Contract 및 Dapp 개발 실습 (3)

  • ICO 개념 및 절차
    • private sale(SAFT), presale, public sale
    • softcap, hardcap
    • Token 타입
    • Token Contract, Crowdsale Contract 연동 및 구조
  • Crowd Sale, ICO 실습
    • 발행량 및 초기 토큰 할당, hardcap 설정
    • 기간 처리, Timed Crowdsale
      • Crowdsale open, close time 설정
      • 기간 별 토큰 가격, rate 변화
    • 환불처리, Refundable Crowdsale
      • softcap (미도달 시 refund)
    • Whitelist 등록 및 ICO 참여 제한
  • ICO, Crowd Sale 시 고려사항
    • KYC ( 신원 확인을 통해 중복 참여, 불법자금 방지 및 참여량 한도 제한 )
    • Airdrop 을 통한 토큰 분배

8주차 | ICO 심화 및 Smart contract 최신 기술, 동향 분석

  • ICO 페이지
    • ICO, Token Sale DApp
    • web3.py backend, Contract 연동
    • Cap 도달률 표기
  • DAICO
    • 투자자의 Voting 을 통해 ICO 자금의 사용량 관리 및 환불 제공
    • 수익 배당 구현 방법
  • Smart Contract 보안
    • smart contract 해킹 사건 분석 및 secure coding
  • 외부 데이터 연동
    • oraclize, ethereum-bridge
    • 거래소 API 호출, 현재 ETH 가격 연동
  • 외부 저장소 이용
    • IPFS, Ownership 관리
  • ERC721
    • CryptoKitties 특징 및 구조 분석

실습예제

수업 중 다루게될 DApp 예제 중, ERC20 기반의 MyToken을 Contract 을 통해 배포 후 일정 비율에 따라 ETH 로 구입 할 수 있도록 하는 예제 입니다. Web3.js 를 통해 DApp 을 구현하여 Metamask 지갑을 통해 Transaction 을 진행합니다.

수업 중 다루게될DApp 예제 중 소지 한 MyToken 을 통해 투표에 참여 및 결과를 확인하는 DApp 예제 입니다.

수업 중에 다루게될 DApp 예제 중, IPFS 부분입니다. 이미지를 업로드하여 smart contract 로 ownership 관리 및 price 지정, 구매 등을 가능하게 하는 DApp 입니다.

수강대상

Blockchain 엔지니어가 되고 싶은 개발자

Blockchain의 분야가 현재 핫하고 앞으로 더 유망해질 것으로 전망되어 많은 개발자들이 Blockchain 엔지니어가 되려고 마음 먹지만, 국내에선 아직 생소한 분야이다보니 레퍼런스도 많이 부족해서 어떻게 공부해야 할지 난감했다면 이 강의는 더욱 더 놓쳐서는 안됩니다 🙂

※단, 본 강의는 아래와 같은 경험이 있으신 분을 대상으로 합니다.

  • Javascript code 를 읽을 수 있고 개발 경험이 있으신 분
  • 자료구조, 객체지향, 함수, 클래스, 상속의 개념을 이해하고 Python 등 하나 이상의 고급언어를 사용한 경험이 있는 분
  • 웹 서비스의 Server, Client 구조를 이해하고, CLI 환경에 거부감 없는 분

강사소개

변동삼

수석 블록체인 엔지니어, LangNet.io
ICO, Blockchain 프로젝트 기술 고문 및 Smart Contract Auditing 참여

고려대학교 일반대학원 컴퓨터학 (컴퓨터 보안 연구)

이더리움, 비트코인 등 블록체인 오픈소스 컨트리뷰터
이더리움 연구회(이연) 1기

Solidity Korea: 한국 솔리디티 개발자 그룹 운영

안녕하세요, 강사 변동삼입니다. 저는 현재 블록체인 엔지니어로 일하며 여러 ICO 및 블록체인 프로젝트 개발에 참여해 오고 있습니다.

Blockchain 및 Smart Contract 를 통해 중간자 없이도 신뢰할 수 있는 자동화된 계약, 거래 등 서비스 구현이 가능해짐으로써, 기존의 중앙화되어 있고 중개자가 있어 수수료가 들던 많은 서비스들이 과도기를 거쳐 재개발될 것이라 생각합니다.

Ethereum 은 Smart Contract, Dapp 개발에 있어 가장 활발하게 사용되고 계속 발전 중이며, 이미 넓은 개발 생태계를 가꾸고 있습니다. 현재 ICO 에 있어서 빛과 그림자가 있기는 하나 국내 해외에 상관없이 그 치솟는 개발 수요를 공급(개발자)이 못따라가고 있는 실정입니다. 저 또한 그 가능성과 전망을 보고, 백엔드, 머신러닝 쪽으로 쌓던 커리어를 과감히 Blockchain 쪽으로 전향하게 되었습니다.

본 강의를 통해 아직 초기 단계인 Blockchain 및 Smart Contract 개발 분야에 빠른 시작을 할 수 있도록 도움을 드리고 싶습니다.

강의 안내 및 수강료

블록체인 개발자를 꿈꾼다면 놓치지 말아야할

Solidity를 활용한
Ethereum Smart Contract
프로그래밍 CAMP

일    정 미정
매주 일요일 14:00 ~ 18:00 | 총 8주
준비물 개인 노트북 사용 추천
(본인 PC에 맞는 개발 환경 설정 및 원활한 개별 실습을 위하여)
장    소 패스트캠퍼스 강의장
문    의 김상근 매니저 : 02-518-4834
궁금하신 사항이 있으면 언제든 연락주세요 🙂

수강료 : 200만 원170만 원(~5/17)
/* 대학생 특별 할인 중 | 추가 30만원 할인! */

블록체인 뉴스레터 Block Weekly  받아보기

* indicates required