이번에는 노드의 거래 내역과 채굴 결과 등 블록체인에 저장된 transaction을 투명하게 공개할 수 있는 블록 스캔 사이트인 pyBTC Block scan 페이지를 제작해보자. 1. 블록 스캔 사이트 만들기 (one_node_chainScan.ipynb)1) 블록 스캔 사이트 Back-end 구축from flask import Flaskfrom flask import render_templateimport requestsimport jsonimport osimport pandas as pdapp = Flask(__name__, template_folder=os.getcwd())@app.route('/')def index(): headers = {'Content-Type' : 'applicatio..
블록체인
** 파이썬으로 공부하는 블록체인 (일등박사) 서적 기반으로 작성 ** 앞서 배운 내용들을 기반으로 다음 단계를 진행해볼 것이다.1) PoW(Proof of Work) 기반의 블록체인 노드를 구현하고, 해당 노드가 블록체인의 원리에 의해 작동하는지 확인한 뒤 노드에 거래 내역을 저장2) 블록체인 네트워크의 거래 내역을 확인할 수 있는 Block scan 사이트를 구현하여 채굴될 때마다 저장되는 거래 내역과 previous hash 값을 확인3) 사용자가 생성된 코인을 거래할 수 있는 거래 지갑 사이트를 구축 - 여기서 구축할 블록체인 네트워크의 코인 명칭은 pyBTC- 해당 지갑 사이트를 통해 사용자는 자신의 지갑의 잔액을 확인할 수 있으며, 다른 지갑으로 py BTC 코인을 전송할 수 있을 것- 또한..
** 파이썬으로 공부하는 블록체인 (일등박사) 서적 기반으로 작성 ** 블록체인의 정의블록체인은 데이터가 저장된 "Block"이 "Chain"으로 연결되어 있는 것이다.데이터가 계속 생성되기 때문에 블록도 계속해서 생성되며, 이런 블록들의 연속성을 위하여 체인들이 각 블록을 연결한다. 기존에 많이 사용되는 데이터 저장 방식은 RDB(Relational Database) 로 데이터를 확인해보면 다음과 같다. 위 db에서는 현재 사탕을 3개 구매한 사람들의 기록을 저장하고 있는 것을 볼 수 있다.이를 블록체인 방식으로 저장하면 다음과 같이 표현할 수 있다. 위 사진처럼 각각의 블록에 거래 내역 데이터가 저장되며 체인들이 이 블록을 연결하여 블록의 관계를 알 수 있다.위 블록체인 구조를 파이썬 코드로 변환해..