import datetime
import hashlib
import json
from flask import Flask, jsonify
클래스를 이용해서 복잡한 프로그램 등 원하는 모든 것을 구현할 수 있습니다. 그 이유는 클래스가 속성, 함수, 도구, 메서드 등을 포함할 수 있는 향상된 구조로 구성되어 있기 때문에 설계하려는 것과 상호 작용하기 때문입니다.
예를들어, 자율 주행 차를 위한 클래스를 ㅁ나든다면 자율 주행 차의 모든 속성을 클래스에서 정의하고 더불어 전진, 후진, 좌회전, 우회전, 브레이크 등의 메서드를 추가해야 합니다. 이 모든 작업을 클래스에 포함한 메서드에 넣을 수 있습니다. 이런 향상된 시스템을 블록체인을 설계할 때 사용할 것입니다.
블록체인의 모든 컴포넌트와 모든 특징을 정의합니다.
class Blockchain:
def __init__(self):
self.chain = []
self.create_block(proof = 1, previous_hash = '0')
def create_block(self, proof, previous_hash):
block = {'index' : len(self.chain) + 1,
'timestamp' : str(datetime.datetime.now()),
'proof' : proof,
'previous_hash' : previous_hash}
self.chain.append(block)
return block
def get_previous_block(self):
return self.chain[-1]
이후 블록체인을 유효하게 만들 몇 가지 도구를 추가하여 해킹하거나 깨트릴 수 없는 유효한 블록체인이 됩니다.