fix coinbase inputs

This commit is contained in:
Jan Pochyla 2017-10-09 13:22:52 +02:00
parent aa1b6c2b89
commit ecff25db56

View File

@ -4,6 +4,8 @@ import (
"bytes" "bytes"
"encoding/hex" "encoding/hex"
"github.com/btcsuite/btcd/blockchain"
"github.com/btcsuite/btcd/chaincfg" "github.com/btcsuite/btcd/chaincfg"
"github.com/btcsuite/btcd/txscript" "github.com/btcsuite/btcd/txscript"
"github.com/btcsuite/btcd/wire" "github.com/btcsuite/btcd/wire"
@ -46,12 +48,18 @@ func (p *BitcoinBlockParser) ParseBlock(b []byte) (*Block, error) {
for ti, t := range w.Transactions { for ti, t := range w.Transactions {
vin := make([]Vin, len(t.TxIn)) vin := make([]Vin, len(t.TxIn))
for i, in := range t.TxIn { for i, in := range t.TxIn {
if blockchain.IsCoinBaseTx(t) {
vin[i] = Vin{
Coinbase: hex.EncodeToString(in.SignatureScript),
Sequence: in.Sequence,
}
break
}
s := ScriptSig{ s := ScriptSig{
Hex: hex.EncodeToString(in.SignatureScript), Hex: hex.EncodeToString(in.SignatureScript),
// missing: Asm, // missing: Asm,
} }
vin[i] = Vin{ vin[i] = Vin{
Coinbase: "_",
Txid: in.PreviousOutPoint.Hash.String(), Txid: in.PreviousOutPoint.Hash.String(),
Vout: in.PreviousOutPoint.Index, Vout: in.PreviousOutPoint.Index,
Sequence: in.Sequence, Sequence: in.Sequence,