NFT 프로젝트를 위해 학습한 내용을 정리해보았습니다.
블록체인 분류
유형 | 특징 | 관련 기술 |
Public | 누구나 네트워크에 참여 | Bitcoin, Ethereum, Zcash, Litecoin, ... |
Private | 하나의 조직 혹은 기관이 관장하는 네트워크, 승인된 주체만 자료를 읽고, 지정 노드만 거래를 승인 | Quorum, MultiChain, Iroha, Monax, ... |
Consortium | 이해 관계자 간에 컨소시엄을 구성하여 네트워크를 구성, 네트워크 참여자에 의해 접근 허용 | Hyperledger Fabric, Tendermint, R3 Corda, Private Technologies, ... |
이더리움 네트워크
메인넷: 실제 거래를 위한 네트워크
테스트넷: 테스트를 위한 네트워크
프라이빗 네트워크
- 누구나 공개된 Client SW로 프라이빗 네트워크를 구축 가능
- besu는 엔터프라이즈 환경에 맞게 개량된 Hyperledger의 ethereum 프로젝트
클라이언트(Client)란?
- 네트워크에 노드로 참여하며, RPC(Remote Procedure Call) 요청을 수신하고, 결과를 반환하는 Endpoint
Ropsten 실습 환경 준비
1. MetaMask 설치
2. 계정 생성
3. 네트워크 연결
4. 테스트 이더 받기
1. MetaMask 설치
- Chrome Extension으로 설치
MetaMask 지갑
지갑(Wallet)이란?
- 블록체인 네트워크를 사용할 수 있도록 계정의 개인키(private key)를 관리하는 프로그램
- 개인키로 사인(sign)하여 트랜잭션을 보냄
계정 생성 절차
- 개인키 생성: 256bit의 무작위 숫자 -> 64자리의 Hex값으로 인코딩
- 타원곡선전자서명 알고리즘(ECDSA, secp256k1)을 사용하여 공개키 생성
- Keccak-256 hasing
- 계정주소 : 0x + 해싱한 결과값의 마지막 20Byte
시작하기
실습에 사용할 지갑 생성
지갑 생성 클릭
암호 생성
- 니모닉(Mnemonic) 구문 생성 및 구문 백업 확인
비밀 단어를 잊으면 복구할 수 없으니 메모장에 저장합시다
지갑 생성 완료!
Ropsten 네트워크 연결
show/hide test networks 클릭
show test networks 활성화
테스트 이더 받기
- Ropsten에서 사용할 이더받기
- Faucet(수도꼭지)
- 테스트넷 환경을 사용할 수 있도록 가치없는 통화를 무료로 제공하는 자금원
- rETH 또는 ROP으로 표기하기도 함
- 구글에 "ropsten faucet" 검색하고 아무 페이지에 접속하여 내 주소로 테스트 이더 보내기
내 주소
https://ropsten.etherscan.io/ 에 접속하여 요청한 이더 내역에 대해 확인할 수 있음
Ropsten 테스트넷 실습
- MetaMask에서 트랜잭션 보내기
- MetaMask Provider 이용하기
- MetaMask에서 트랜잭션 보내기
- Account2 생성 혹은 받을 계정 준비
- send 클릭
새 계정 생성
전송할 계정의 주소를 복사하고 이더를 가지고 있는 계정에서 보내기 클릭
이더를 보내기 위해서는 수수료 개념의 가스를 내야함
수신을 받게 되면 얼마를 받았고, 수수료는 얼마가 붙었고 등등 확인할 수 있음
가스비 하향 조정
가스비를 낮출 수 있는데, 대신 낮춘만큼 거래가 늦어질 수 있음, 가스비를 조정하지 않으면 가장 빠르게 송금됨
MetaMask Provider API 활용 실습
프로바이더(Provider)란?
클라이언트를 통해 이더리움 네트워크에 접근할 수 있도록 제공된 Javascript 객체(Object)
https://docs.metamask.io/guide/ethereum-provider.html 접속하여 개발자 도구 켜기
1. Ethereum Provider(인스턴스) 확인
콘솔창에 ethereum 작성
현재 접속되어진 정보 등을 확인할 수 있음
2. 연결 상태 확인
다양한 함수 사용 가능
3. 계정 활성화
다양한 함수 실습 가능
4. 활성화된(선택된) 계정 확인
5. Ethereum Provider로 RPC API 보내기
parseInt를 해보면 현재까지 몇개의 이더리움 블럭을 쌓아왔는지 확인할 수 있다
주요 개념 정리
- 이더리움 네트워크의 종류와 특징
- 클라이언트
- 프로바이더
- 지갑과 계정
- 수도꼭지(Faucet)
- 가스
- 이더리움에서 RPC(Remote Procedure Call)
'SW > 개발' 카테고리의 다른 글
[Unity] 유니티 설치하기 (0) | 2022.04.22 |
---|---|
[Spring] 스프링 DI - 의존관계 주입 (0) | 2022.04.21 |
[Android/Kotlin] Todo List 앱을 만들어보자! - 7 (할 일 삭제) (4) | 2021.11.20 |
[Android/Kotlin] Todo List 앱을 만들어보자! - 6 (할 일 수정) (0) | 2021.11.19 |
[Android/Kotlin] Todo List 앱을 만들어보자! - 5 (목록 불러오기) (1) | 2021.11.18 |
댓글