This updates the txscript package to provide support for the errors.Is and errors.As functions introduced in Go 1.13 per the recently documented best practices. The following is an overview of the changes: - Rename the ErrorCode type to ErrorKind and make it a string - Implement the error interface on ErrorKind - Update all error code definitions to the new type - Remove error code string map that is no longer required - Remove unused ErrInternal definition - Change the error code field of the Error type to Err - Implement Unwrap on the Error type to support unwrapping via errors.Is/As - Remove the IsErrorCode function since it is no longer needed due to errors.Is - Update IsDERSigError to cope with the changes - Modify various comments to refer to error kinds instead of codes - Update all test code to use the new ErrorKind directly along with errors.Is for detecting the expect errors - Add full test coverage to ensure the new error definitions work as intended - Update the doc.go errors section accordingly |
||
|---|---|---|
| .. | ||
| data | ||
| bench_test.go | ||
| consensus_test.go | ||
| consensus.go | ||
| doc.go | ||
| engine_test.go | ||
| engine.go | ||
| error_test.go | ||
| error.go | ||
| example_test.go | ||
| go.mod | ||
| go.sum | ||
| log.go | ||
| opcode_test.go | ||
| opcode.go | ||
| README.md | ||
| reference_test.go | ||
| script_test.go | ||
| script.go | ||
| scriptbuilder_test.go | ||
| scriptbuilder.go | ||
| scriptnum_test.go | ||
| scriptnum.go | ||
| sigcache_test.go | ||
| sigcache.go | ||
| sighash_test.go | ||
| sighash.go | ||
| sign_test.go | ||
| sign.go | ||
| stack_test.go | ||
| stack.go | ||
| standard_test.go | ||
| standard.go | ||
| tokenizer_test.go | ||
| tokenizer.go | ||
txscript
Package txscript implements the Decred transaction script language. There is a comprehensive test suite.
This package has intentionally been designed so it can be used as a standalone package for any projects needing to use or validate Decred transaction scripts.
Decred Scripts
Decred provides a stack-based, FORTH-like language for the scripts in the Decred transactions. This language is not turing complete although it is still fairly powerful.
Installation and Updating
$ go get -u github.com/decred/dcrd/txscript
Examples
-
Standard Pay-to-pubkey-hash Script Demonstrates creating a script which pays to a Decred address. It also prints the created script hex and uses the DisasmString function to display the disassembled script.
-
Extracting Details from Standard Scripts Demonstrates extracting information from a standard public key script.
-
Manually Signing a Transaction Output Demonstrates manually creating and signing a redeem transaction.
-
Counting Opcodes in Scripts Demonstrates creating a script tokenizer instance and using it to count the number of opcodes a script contains.
License
Package txscript is licensed under the copyfree ISC License.