목차(클릭하세요)
스마트 컨트랙트?
- 비트코인과 이더리움을 구분하는 결정적 키워드!
- 블록체인 각 블록의 몸통안에 추가로 표함되는 정보
1. 강력한 라이벌 구조
1-1. 스마트 컨트랙트가 없는 비트코인
## 스마트 컨트랙트 가 없는 블록체인의 블록 구조 (비트코인)
import datetime
import hashlib
block_body =  { "transaction1": {
                            '판매자' : '파이썬',
                            '구매자' : '김민수',
                            '개수' : '3개',
                            'timestamp' : 1652247422892844,
                               },
                    "transaction2": {
                            '판매자' : '파이썬',
                            '구매자' : '이영호',
                            '개수' : '3개',
                             'timestamp' : 165224743233231
                               }
                   }
block_header =  {  'Block_height' : 0,
                   'Block_created_at' : datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
                   'Miner' : "0xea674fdde714fd979de3edf0f56aa9716b898ec8",
                   'Block_Reward' : 2.132,
                   'Difficulty' : 12382889997310022,
                   'Nonce'  : '0x7ccf42b8e05d031f',
                   'Block_size' : '178556 bytes',
                   'Parent_hash' : '0xe1f3d0e83542e20735d453006cc6d8975920e7aec951c3b974eade52901e97e7',
                   'Body_hash' : hashlib.sha256(str(block_body).encode()).hexdigest()
                }
body_hash = hashlib.sha256(str(block_body).encode()).hexdigest()
block1 =  { 'header' : block_header,
            'transaction' : block_body
           }
block1
Python
복사
1-2.스마트 컨트랙트가 있는 이더리움
## 스마트 컨트랙트 가 있는 블록체인의 블록 구조 (이더리움)
import datetime
import hashlib
block_body =  { "transaction1": {
                            '판매자' : '파이썬',
                            '구매자' : '김민수',
                            '개수' : '3개',
                            'timestamp' : 1652247422892844,
'smart_contract' : {}
                               },
                    "transaction2": {
                            '판매자' : '파이썬',
                            '구매자' : '이영호',
                            '개수' : '3개',
                            'timestamp' : 165224743233231,
'smart_contract' : {}
                               }
                   }
block_header =  {  'Block_height' : 0,
                   'Block_created_at' : datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
                   'Miner' : "0xea674fdde714fd979de3edf0f56aa9716b898ec8",
                   'Block_Reward' : 2.132,
                   'Difficulty' : 12382889997310022,
                   'Nonce'  : '0x7ccf42b8e05d031f',
                   'Block_size' : '178556 bytes',
                   'Parent_hash' : '0xe1f3d0e83542e20735d453006cc6d8975920e7aec951c3b974eade52901e97e7',
                   'Body_hash' : hashlib.sha256(str(block_body).encode()).hexdigest()
                }
body_hash = hashlib.sha256(str(block_body).encode()).hexdigest()
block1 =  { 'header' : block_header,
            'transaction' : block_body
           }
block1
Python
복사