writeTo writes bh to w.
(w io.Writer, serflags uint8)
| 154 | |
| 155 | // writeTo writes bh to w. |
| 156 | func (bh *BlockHeader) writeTo(w io.Writer, serflags uint8) error { |
| 157 | w.Write([]byte{serflags}) |
| 158 | |
| 159 | var err error |
| 160 | |
| 161 | _, err = blockchain.WriteVarint63(w, bh.Version) |
| 162 | if err != nil { |
| 163 | return err |
| 164 | } |
| 165 | _, err = blockchain.WriteVarint63(w, bh.Height) |
| 166 | if err != nil { |
| 167 | return err |
| 168 | } |
| 169 | _, err = bh.PreviousBlockHash.WriteTo(w) |
| 170 | if err != nil { |
| 171 | return err |
| 172 | } |
| 173 | _, err = blockchain.WriteVarint63(w, bh.TimestampMS) |
| 174 | if err != nil { |
| 175 | return err |
| 176 | } |
| 177 | |
| 178 | _, err = blockchain.WriteExtensibleString(w, bh.CommitmentSuffix, bh.BlockCommitment.writeTo) |
| 179 | if err != nil { |
| 180 | return err |
| 181 | } |
| 182 | |
| 183 | if serflags&SerBlockWitness == SerBlockWitness { |
| 184 | _, err = blockchain.WriteExtensibleString(w, bh.WitnessSuffix, bh.BlockWitness.writeTo) |
| 185 | if err != nil { |
| 186 | return err |
| 187 | } |
| 188 | } |
| 189 | |
| 190 | return nil |
| 191 | } |