Day 9 : 블록체인 : UTXO / Frontend : startScreen 제작 (날씨API 추가)
Day 10 : 블록체인 : UTXO, Script / Frontend : 개인 startScreen 제작 +발표
- UTXO (Unspent Transaction Output) : 사용되지 않은 출력값
- 비트코인은 계좌나 잔액이 존재하지 않는다 → UTXO가 산재되어 있음
- 사용자의 지갑 잔액 조회시 해당 소유주가 보유하고 있는 UTXO를 전부 더해서 (현재 잔액) 알려줌
- 잔고파악 : 개인키로 소유권 증명 → UTXO 검색 → UTXO의 합 = 나의 잔액
➕ 거래 입력값 : 거래가 소비하는 UTXO / 거래 출력값 : 거래가 생성하는 UTXO
❗ 지갑은 "키"만 보관, "잔액&거래"는 풀노드(체인)에있음
(지갑이 해킹당했다 = 키 소유권을 잃어버렸다.)
- 거래 출력값 & 입력값
- 예상지출(Encumbrance)
: 향후 거래에서 나온 출력값은 새로운 거래에 입력값으로 사용될 수 있다.
( 출력값🔄입력값 )- Locking Script (출력값)
: 특정 금액을 소비하기 위해 충족되어야 하는 조건을 규정 - 공개키- Unlocking Script (입력값)
: 잠금 스크립트 내에 있는 비트코인 주소의 소유권을 입증하는 서명 - 개인키
➕ 공개키만 있어도 잔고 파악 가능, but 사용권한은 개인키
- 거래 스크립트
: 보내는 사람은 받는 사람의 공개키로 lock(hash함수 사용)하여 거래를 보낸다. 받는 사람은 자신의 키를 hash하여 보내온 거래의 lock값과 자신의 값을 비교한다. 일치하면 검증이 완료됨!
- 수수료
: 소비자가 0.5BTC 물건을 사려고 1BTC를 지불했고, 남은 0.5BTC를 본인 지갑 주소로 설정하지 않으면 0.5BTC는 수수료가 된다.
: 거래시 보내는 사람의 지갑주소 & 금액 + 내 지갑주소 & 남길금액을 입력 (남은금액은 자동으로 수수료로 계산됨)
: 대부분 지갑에서 거래수수료를 자동으로 계산하고 그 값을 거래에 포함
JS
- 날씨 API
: https://openweathermap.org/ 에서 API 키 발급 > 위경도 값 읽어오기 > API로 요청 > 불러 들어온 값 표출- 화살표 함수
let func = function(arg1, arg2, ...argN) { return expression; };: 위 함수를 축약하여 아래와 같이 나타낼 수 있다. 모든 함수를 다 화살표 함수로 나타낼 수 있는 건 아니지만 가독성이 좋고 깔끔하게 표기 가능하다. return 값이 한 줄일 때는 { }생략이 가능하다. callback 함수를 불러 오기 좋다.
let func = (arg1, arg2, ...argN) => expression
React
( react 맛보기 )
- JS만으로도 HTML 작성 가능
- React is a free and open-source front-end JavaScript library for building user interfaces based on components.
- pakage.json은 my-app project 설명서이다.
- react 기본 세팅시 아래 사진 참고!
거래를 발생 시킬 때 제일 먼저 자신의 UTXO를 확인한다.