스터디 대부분의 사람들이 윈도우를 사용해서 스터디에서는 윈도우 기준으로 설명을 하였습니다.
저는 윈도우에서 WSL(Windows Subsystem for Linux), Bash on Ubuntu 16.04 on Windows을 사용하여 개발하기 때문에 여기선 제가 설정한 환경을 기준으로 설명합니다.
윈도우에서 사용하는 방법은 필요시 간단하게 언급하겠습니다.
솔리디티 개발 환경 설정
node.js & npm
Nodejs 환경이 섞여서 버전관리가 안되는 상황을 피하기 위해 WSL내에서 NVM(Node Version Manager)을 설치해 Nodejs를 설치하였다.
- nvm github에 들어가서 먼저 NVM을 설치
최신 LTS nodejs 설치
확인(버전은 달라질 수 있다)
윈도우 사용자는 nodejs에 들어가서 바로 설치하고 node windows build toools를 설치하면 된다
truffle
이더리움 개발 프레임워크
위에서 npm 최신버전을 설치하였으면 truffle을 설치하는데 문제는 없다.
truffle을 명령어로 설치
가끔
-g
로 설치하기 위해서 Ubuntu on Windows를 관리자 모드로 열어야 할 때도 있다.
ganache
블록체인 테스트 네트워크를 만들어 주는 프로그램
UI를 이용해 쉽게 사용하기 위해서 윈도우 버전으로 설치 하였다
커멘드 라인에서 사용 가능한 ganache-cli도 있다
- ganache에 들어가서 다운로드 후 설치
Visual Studio Code
코드 작성 프로그램
- Visual Studio Code에서 설치
필수 확장 툴
아래 툴들을 Ctrl + Shift + x
를 눌러서 설치해 준다
- Prettier
- solidity
MetaMask
이더리움을 브라우저에서 사용할수 있게 해주는 크롬 확장 프로그램
- 크롬에서 MetaMask에 들어가서 설치
Remix
온리안 상 solidity 개발 툴
- 코드작성, 컴파일, 디버깅, 테스트 등이 가능하다
- 별도의 설치가 필요 없다
사전에 알아야 할 것(공부 해올 것)
Solidity
이더리움 스마트계약 코드를 작성하기 위한 언어
실습
Rinkeby 이더리움 사용 실습
- 블록체인 클라우드 펀딩 사이트에 들어감
- MetaMask에서 Create Account로 계정을 만들고 계정 주소 복사
- Rinkeby에서 SNS를 통해 이더를 얻음
- MetaMask에서 Network를 Rinkeby로 바꿈
- 사이트 탐색
pet-shop
truffle의 box를 이용해서 실습해보는 이더리움 튜토리얼
ERC20
Ethereum Request for Comment의 20번째 내용인 스마트계약 토큰 표준
여기선 erc20으로 간단하게 토큰을 만들어 본다
- ganache를 실행 setting에서 server 부분을 잘 확인한다
truffle 또는 remix로 환경 초기화
truffle
remix
+
를 눌러서 파일이름.sol 파일을 만든다환경 설정
truffle
- truffle.js와 truffle-cnofig.js를 http://truffleframework.com/docs/advanced/configuration 참고하여 초기화
- 초기화 시 ganache server 부분을 참고한다
remix
- MetaMask에서 Network를 Custom RPC로 바꾼다음 ganache server 부분을 참고하여 변경
- Run -> Environment를 Injected Web3로 설정
ERC20 코드 얻기
- 스터디 리더님의 코드 및 정리를 참고
- 또는 알아서 구해도 된다
가져온 코드 붙이기
- truffle: contracts/CustomToken.sol을 만들어 붙여 넣기
- remix: 이전에 만든 파일에 붙여넣기
complie & deploy
truffle
필요시
$ truffle migrate --reset
을 한다remix
- Compile -> Start Compile
- Run -> Deploy위의 select에서 CustomToken선택
- Deploy 클릭
generate
함수에 값을 넣어 토큰 만들고 여러 함수 만져보기
함수에 대한 것은 스터디 리더님의 코드 및 정리를 참고