Skip to content

P2PKH

P2PKH 风格签名锁。

txt
Contract P2PKH:
    # 使用 `self.pubKeyHash` 中保存的 20 字节公钥哈希进行锁定。

    # 花费方需要提供签名和完整公钥。
    def verify(sig: hex, pubKey: hex):
        # 哈希前先克隆公钥,原始公钥稍后还要用于验签。
        pubKey_copy = pubKey.Clone()

        # 计算出的哈希必须匹配当前实例中嵌入的哈希。
        pubKeyHash = Hash160(pubKey_copy)
        EqualVerify(pubKeyHash, self.pubKeyHash)

        # `CheckSig` 会把验签布尔结果留给花费路径。
        result = CheckSig(sig, pubKey)