Python 블록 체인 생성
블록 체인은 서로 연결된 블록 목록을 포함합니다. 전체 목록을 저장하기 위해 TPCoins라는 목록 변수를 생성합니다.
TPCoins = []
또한 다음과 같은 유틸리티 메소드를 작성합니다. dump_blockchain전체 블록 체인의 내용을 덤핑하기 위해. 먼저 블록 체인에 현재 얼마나 많은 블록이 있는지 알 수 있도록 블록 체인의 길이를 인쇄합니다.
def dump_blockchain (self):
print ("Number of blocks in the chain: " + str(len (self)))
시간이 지남에 따라 블록 체인의 블록 수가 인쇄 할 때 엄청나게 높아질 것입니다. 따라서 블록 체인의 내용을 인쇄 할 때 조사 할 범위를 결정해야 할 수 있습니다. 아래 코드에서는 현재 데모에서 너무 많은 블록을 추가하지 않을 것이므로 전체 블록 체인을 인쇄했습니다.
체인을 반복하기 위해 우리는 for 다음과 같이 루프-
for x in range (len(TPCoins)):
block_temp = TPCoins[x]
참조 된 각 블록은 다음과 같은 임시 변수에 복사됩니다. block_temp.
각 블록의 제목으로 블록 번호를 인쇄합니다. 숫자는 0으로 시작하고 첫 번째 블록은 0으로 번호가 매겨진 생성 블록입니다.
print ("block # " + str(x))
각 블록 내에서 우리는 다음과 같은 변수에 세 가지 트랜잭션 (제네시스 블록 제외) 목록을 저장했습니다. verified_transactions. 우리는이 목록을for 루프하고 검색된 각 항목에 대해 display_transaction 거래 내역을 표시하는 기능.
for transaction in block_temp.verified_transactions:
display_transaction (transaction)
전체 함수 정의는 다음과 같습니다.
def dump_blockchain (self):
print ("Number of blocks in the chain: " + str(len (self)))
for x in range (len(TPCoins)):
block_temp = TPCoins[x]
print ("block # " + str(x))
for transaction in block_temp.verified_transactions:
display_transaction (transaction)
print ('--------------')
print ('=====================================')
여기에서는 코드의 적절한 지점에 구분 기호를 삽입하여 블록과 트랜잭션을 구분했습니다.
이제 블록을 저장하기위한 블록 체인을 만들었으므로 다음 작업은 블록을 만들어 블록 체인에 추가하는 것입니다. 이를 위해 이전 단계에서 이미 생성 한 제네시스 블록을 추가합니다.