이더리움(Ethereum) 이란, 스마트 컨트랙트(Smart Contract)를 실행할 수 있는 플랫폼이다. go,c++,python 등 다양한 언어로 이더리움을 구동할 수 있는 클라이언트가 개발되고 있으며, 현재 가장 많이 사용되는 클라이언트가 go 언어로 개발된 go-ethereum(geth) 이다.
Ethereum Client설치
https://geth.ethereum.org/downloads/
윈도우즈 버전 설치.
설치 진행 중 "Geth, Development tools'를 반드시 설치해야 한다.
설치가 잘 되었다면, 명령 프롬프트에서 "geth version" 을 치면 다음과 같이 나올 것이다.
geth 실행에 문제가 있다면 "윈도우 >> 시스템 >> 고급시스템설정 >> 환경 변수 >> 시스템변수 >> Path" 편집을 통해 geth 설치 경로에 설정한다.
가나슈 (이더리움 DAPP 개발환경) 설치
가나슈(Ganache)란, 테스트 목적으로 PC에 설치해서 사용할 수 있는 일종의 간이 블록체인이다. 간이 블록체인이기 때문에 네트워크와 연결할 필요없이 로컬에서 작동시킬 수 있어, 계약을 손쉽게 배포 및 테스트해볼 수 있다. 개발을 위해 게스(geth) 또는 패리티(parity) 같은 클라이언트를 사용하면 각 트랜잭션을 실행하는 데 15 초씩 걸리기 때문에 개발 속도가 느려질 수 있다. 이 문제를 해결하기 위해 일반적으로 개발 목적으로 가나슈(ganache)라는 메모리 내 블록체인을 사용할 수 있다. ganache-cli 또는 GUI 버전의 커맨드 라인 버전을 설치할 수 있다. 가나슈의 또 다른 장점은 테스트를 위해 100개의 이더가 미리 탑재된 10개의 테스트 계정을 확보하게 된다
가나슈는 스마트컨트랙 개발에 있어서 편한 인터페이스를 제공한다.
https://www.trufflesuite.com/ganache
윈도우즈 버전을 다운로드 받아 설치한다. 설치 후 QUICKSTART 를 누르면 아래와 같은 화면이 나온다.
- CURRENT BLOCK: 노드에서 채굴한 마지막 블록 Number
- GAS PRICE : 노드가 트랜잭션을 채굴하기 위한 가스 최소 가격
- GAS LIMIT : 트랜잭션을 위해 필요한 가스 최대량
- HARDFORK : 하드포크
- NETWORK ID : 서버 내부 블록체인 식별 ID
- RPC SERVER : 서버 주소
- MINING STATUS : 새로운 블록을 채굴하는 속도(기본 AUDOMINING)
- MNEMONIC : 연산기호, 여러 단어들의 조합으로 계정 생성시 사용하는 비밀 문자
- TX COUNT : 이 계정주소에서 몇번 트랜잭션을 처리 했는지
- INDEX : 10개의 계정 중에 몇번재 위치하는지
Node Js 설치
트러플 설치
트러플은 스마트컨트랙을 컴파일, 테스트, 배포할 수 있는 프레임워크이다.
npm install -g truffle (truffle ver 4 이상 설치 필수, Python 설치 필수)
버전 확인 : truffle --version
파이썬 설치
https://www.python.org/downloads
3.11.0 이 내가 본 최신
Remix - Ethereum IDE 활용하기
remix 데몬 설치 및 실행
- remixd 설치 - remix deamon (로컬 서버 역할)
- npm install -g @remix-project/remixd
- remix ide 와 공유(동기화)하고 싶은 폴더(solidity 소스 파일이 있는 곳)로 이동
- 데몬 실행
- remixd -s . --remix-ide https://remix/ethereum.org
https://remix.ethereum.org/ 에 접속
localhost 선택
"connect" 를 선택하면 로컬에서 데몬을 실행한 폴더에 있는 파일들이 나온다.
Visual Studio Code
visual studio code 를 설치 후
사이드바에서 확장(extension)을 선택한 후, solidity를 검색하여 설치한다.
메타마스크 설치
이더리움 개인 지갑이다. 크롬 브라우저에서 extension 에서 설치한다.
이 후 크롬에서 메타마스크 아이콘을 클릭하면 아래와 같다.
"시작하기"를 누르면 경고 화면 과 함께 동의를 구한다. 나는 "동의하기"를 클릭했다.
이후
처음 시작했으니, 오른 쪽 "지갑 생성" 클릭 ("지갑 가져오기"는 복구관련 내용인 것 같다.)
새 비밀번호를 입력하고 "생성" 클릭, 아래 화면에서 영상을 보고 내용 참고.
"다음" 버튼을 누르고 나오는 화면에서 비밀 단어를 다른 곳에 적어서 기록해 둔다.(아무에게도 알려 주면 안된ㄷ.)
다음..
이전 화면에서 기억해 준 12개의 단어들을 순서대로 클릭하고 확인.
위와 같이 나오면 끝. "모두 완료"를 누르면
메타마스크지갑과 가나슈 연결
1)가나슈 SERVER 설정 확인
localhost:7545, NetworkID:5777
2)메타마스크 네트워크 설정
"네트워크 추가"
"네트워크 수동 추가" 클릭 후 가나슈 서버 입력
체인ID 는 1337 ( 기본 값?)
"저장"하기 클릭
3)생성된 가나슈 계정을 메타마스크 지갑으로 연동
메타마스크 계정 가져오기
위 오른쪽 비공개키 설정, 문자열은 가나슈에서 가져오고자하는 계정의 Private Key를 입력한다.
가져오기 완료
"계정 세부 정보"를 통해 이름을 변경할 수 있다.
오른쪽 은 가져온 계정들 목록을 볼 수 있다.
송금해 보기
오른쪽 화면에서 Private Key를 직접 입력하거나,
"내 계정 간 전송"을 클릭후 보내고자 하는 계정을 선택
보내고자 하는 금액(여기는 23 ETH)을 입력하고 "다음"을 누르면 오른쪽 화면과 같이 나오고 "확인"을 누르면
잠시 뒤 송금이 완료 된다.
가나슈 에서도 변경된 내용을 확인할 수 있다.
'Ethereum' 카테고리의 다른 글
[Ethereum] geth Private Network 계정을 MetaMask로 가져오기 (0) | 2022.12.07 |
---|---|
[Ethereum] Geth - 채굴 #2 (0) | 2022.12.07 |
[Ethereum] Geth 로 Private Network 만들기 #1 (0) | 2022.12.06 |