트랜잭션(2)
-
[밑바닥비트코인] 7. 스크립트
'스크립트(Script)'는 비트코인 네트워크 내에서 비트코인이 어떠한 조건에서 소비되는지를 기술한 프로그래밍 언어이다. 비트코인 스크립트의 특징은 다음과 같다. 1. 반복 작업을 위한 루프 기능이 존재하지 않는다. (튜링 완전하지 않다) 2. 원소와 연산자 두가지의 요소로 이루어져있다. 반복문이 존재하지 않는 이유는 무한 반복문을 만들어서 네트워크에 부정적 영향을 미칠 수 있기 때문이다. 원소는 고정된 상수라고 생각할 수 있고, 연산자는 원소에 대해서 특정 연산을 수행한다. class Script: def __init__(self, cmds=None): if cmds is None: self.cmds = [] else: self.cmds = cmds 스크립트는 원소와 연산자를 담고 있는 cmds라는 리..
2021.08.01 -
[밑바닥비트코인] 6. 트랜잭션(Transaction)
이번 장에서는 실제로 트랜잭션이 어떻게 구성되는지 살펴보고 트랜잭션을 파싱하고, 직렬화하는 방법에 대해서 알아보도록 하겠다. 트랜잭션의 구조 from lib.helper import hash256 from lib.helper import little_endian_to_int, int_to_little_endian, read_varint, encode_varint from transaction.TxIn import TxIn from transaction.TxOut import TxOut class Tx: def __init__(self, version, tx_ins, tx_outs, locktime, testnet=False, segwit=False): self.version = version self.t..
2021.07.20