관리 메뉴

개발이야기

[블록체인 개발] DApp 개발을 위한 환경 구축 본문

블록체인 /블록체인 개발

[블록체인 개발] DApp 개발을 위한 환경 구축

안성주지몬 2018. 8. 9. 13:36

안녕하세요. 이번 블록체인 개발 포스팅에서는 이더리움 기반의 DApp 개발을 위한 기본적인 환경 구축을 하는 방법에 대해 설명해보고자 합니다. 설치는 Window 운영체제에서 진행합니다.


DApp 개발에 필요한 환경 구축하기 

- Window 운영체제


- 코드 편집기로는 visual studio code 사용


- geth, ganache, node js & npm, truffle, metamask 설치 



1. Geth 설치 


go-ethereum의 약자로 이더리움의 전체기능을 사용할 수 있는 풀 클라이언트로서 다양한 인터페이스를 사용할 수 있습니다. 



1) https://geth.ethereum.org/downloads/  에서 설치파일 다운받기

2) 설치 진행하기 



I Agree를 눌러 계속 진행해줍니다.




설치 중 주의해줘야 할 것은 Development tools에 check를 해주어야 한다는 것입니다.


설치가 완료되면 PATH도 추가가 되어있을것입니다. 추가가되어 있지 않다면 Geth가 설치되어 있는 파일의 경로를 추가해줍니다.(보통 C:\Program Files\Geth 일 것입니다.)


3) 설치 확인


마지막으로 Geth가 제대로 설치되었는지 확인하기 위해 cmd 창에서 geth version을 입력하여 봅니다.



제대로 설치된 것을 확인할 수 있습니다.






2. Ganache 설치 


ganache는 스마트컨트랙트를 개발할 때 필요한 편리한 인터페이스를 제공해준다. testRPC에 업그레이드 버전으로 ganache를 설치하면 이미 여러개의 계정이 생성되어 있어 테스트를 하기 용이하다. 



1) https://github.com/trufflesuite/ganache/releases 에서 설치하기 


Ganache-1.1.0.appx를 설치해줍니다.  


2) 설치 진행하기 





3) 설치 완료 



설치가 완료된 후 Ganache 프레임워크에 들어간 모습입니다. 이미 10개의 계정이 생성되어 있고 각각 계정의 100 ETH 씩 들어있는 것을 확인할 수 있습니다. 






3. Node js & npm 설치 

 

Node js는 웹 어플리케이션을 개발할때 사용되며 javascript기반으로 되어있습니다. 네트워크 통신을 사용할때 자주 사용되므로 이더리움 네트워크와 통신을 하기 위해서 반드시 필요합니다. npm 은 자바스크립트 프로그래밍 언어를 위한 패키지 관리자입니다. 



1) https://nodejs.org/ko/download/ 에서 설치하기 



2) 설치 확인하기 


제대로 설치가 되었는지 cmd 창에서 node -v 명령을 통해 확인할 수 있습니다.  npm은 npm -v 명령을 통해 확인할 수 있습니다.




node js 와 npm 설치가 잘 된것을 확인할 수 있습니다. 







4. Truffle 설치




Truffle은 스마트 컨트랙트를 컴파일하고 테스트, 배포까지 할 수 있는 보편적인 프레임워크입니다.

npm 명령을 이용하여 Truffle을 쉽게 설치할 수 있습니다. 



1) npm install -g truffle 





2) 설치 확인


truffle -version 명령을 이용하여 truffle이 제대로 설치되었는지 확인합니다.


 


truffle version 4.1.13이 잘 설치되었음을 확인할 수 있습니다.





5. Metamask 설치


메타마스크(Metamask)는 이더리움 네트워크와 통신을 용이하게 해주는 지갑입니다. 크롬 브라우져의 어플리케이션으로 반드시 크롬을 이용하여 설치해주셔야 합니다. 



1) https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn 에서 설치 




저는 이미 설치를 해놨기 때문에 chrome에 추가되어 있다고 나옵니다. 설치가 안되어있다면 저 위치해 설치 버튼이 있을것입니다.



2) 비밀번호 설정 및 씨드 


메타마스크를 처음 설치 하셨다면 비밀번호 설정후 seed라는 것이 나올 것입니다. 이 seed는 private key 역할을 하기 때문에 잊어버리시거나 다른사람에게 유출되면 안됩니다. 따라서 다른곳에 백업해두시는 것을 추천합니다. 





6. Ganache와 Metamask 연동 


이제 Ganache와 Metamask를 연동시키는 방법을 설명해보겠습니다.


1) Ganache 설정 변경


Ganache 상단을 보시면 빨간색 원부분에 위치하는 설정버튼이 있을 것입니다. 저 아이콘을 클릭하신 후 


SERVER 탭에 들어가서 정보들을 이렇게 변경해주신 후 SAVE&RESTART를 눌러주시면 Ganache에서 설정 변경이 완료됩니다.




2) Metamask에서 연동


Ganache에서 설정 변경이 완료 되셨다면 Metamask에 들어가서 ganache와 연동을 시켜줍니다.



위 캡처화면 같이 메타마스크에서 빨간 색원 표시로 되어있는 부분을 클릭해주시면


위와 같은 창이 뜨고 Ganache에서 변경한 포트 번호인 '로컬호스트 8545' 부분을 클릭해주시면 Ganache와 연동된 것을 확인하실 수 있습니다.


상단의 요상한 색깔의 원을 클릭하시면 위와 같은 창이 뜹니다. + 계좌 생성을 클릭하시면 계좌가 생성되고 이 계좌는 Ganache에서 생성된 10 개의 계정들과 연동되어 있습니다. 



이상으로 DApp 개발을 위한 기본적인 환경 구축이 모두 완료되었습니다. 다음 포스팅에서는 geth를 사용하여 제네시스 블록을 만들고 저만의 프라이빗 네트워크를 구축해보겠습니다. 






Comments