You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently BlockSci does not have segwit support and segfaults when attempting to process a block which includes segwit transactions.
Adding Segwit support to BlockSci involves a number of changes to both the parser and analysis library.
Adding support to the parser to handle the Segwit serialization format is trivial and has already been completed on a private branch. The more complex issue is how to internally handle Segwit scripts.
A solution which has been mapped out, but is still being implemented is to codify in the codebase a distinction between address type and script type. Output scripts can be viewed at two levels of abstraction:
At one level we have all the standard scripts types, P2PK, P2PKH, P2SH, Multsig, OP_RETURN, P2WPKH, and P2WSH. P2SH-P2WSH and P2SH-P2WPKH will are currently not planned to be considered distinct types and instead will be viewed as standard P2SH scripts.
At the other level we have the abstracted notion of authentication method (shorter name tbd). These many categories of script type can be divided into a shorter list of general authentication types. P2PK, P2PKH, and P2WPKH are all based on using a single public key, which could be used interchangeably to create an scriptPubKey of any of those types (Assuming that it's in compressed form). Similarly P2SH and P2WSH have the same form.
Splitting up the current Address and Script modules to operate explicitly under one or the other of these two models will allow BlockSci to easily expand to handle the new Segwit addresses while maintaining clean layers of abstraction.
The text was updated successfully, but these errors were encountered:
Awesome. Thanks for adding segwit support. For correct fee market analysis, BlockSci should use transaction virtual size instead of transaction size (see #43).
Currently BlockSci does not have segwit support and segfaults when attempting to process a block which includes segwit transactions.
Adding Segwit support to BlockSci involves a number of changes to both the parser and analysis library.
Adding support to the parser to handle the Segwit serialization format is trivial and has already been completed on a private branch. The more complex issue is how to internally handle Segwit scripts.
A solution which has been mapped out, but is still being implemented is to codify in the codebase a distinction between address type and script type. Output scripts can be viewed at two levels of abstraction:
Splitting up the current Address and Script modules to operate explicitly under one or the other of these two models will allow BlockSci to easily expand to handle the new Segwit addresses while maintaining clean layers of abstraction.
The text was updated successfully, but these errors were encountered: