Skip to content

Conversation

@jquesnelle
Copy link

This pull request adds support for the new extended SegWit transaction format. The new structure can be seen in the Bitcoin source code here.

In addition, this pull changes how block version numbers are handled. Previously, all known version combinations were explicitly white-listed. The version field has been somewhat re-purposed by BIP 9 for soft/hard fork signaling. I've changed the version code to handle this, so every bit combination won't need to be explicitly be checked for.

One housekeeping note: I've removed the StyleCop reference from the project since I don't have this.

I used this branch to fully process the Bitcoin blockchain with BitcoinDatabaseGenerator

@freeskaro
Copy link

So we rebuilt the .dll incorporating the two pull requests here, but still hit error:

File: blk01133.dat. Transferring data:  81%

AN ERROR OCCURRED:
System.ArgumentOutOfRangeException: Non-negative number required.
Parameter name: count
at System.IO.BinaryReader.ReadBytes(Int32 count)
at BitcoinBlockchain.Parser.BlockMemoryStreamReader.ReadBytes(Int32 count)
at BitcoinBlockchain.Parser.BlockchainParser.ParseTransactionOutput(BlockMemoryStreamReader blockMemoryStreamReader)
at BitcoinBlockchain.Parser.BlockchainParser.ParseTransaction(BlockMemoryStreamReader blockMemoryStreamReader)
at BitcoinBlockchain.Parser.BlockchainParser.InternalParseBlockchainFile(String blockchainFileName, BlockMemoryStreamReader blockMemoryStreamReader)
at BitcoinBlockchain.Parser.BlockchainParser.ParseBlockchainFile(String blockchainFileName, BinaryReader binaryReader)
at BitcoinBlockchain.Parser.BlockchainParser.d__22.MoveNext()
at BitcoinBlockchain.Parser.BlockchainParser.d__9.MoveNext()
at BitcoinDatabaseGenerator.DatabaseGenerator.d__21.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at BitcoinDatabaseGenerator.DatabaseGenerator.d__21.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at BitcoinDatabaseGenerator.DatabaseGenerator.d__8.MoveNext()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants