This modifies the signatures of all the transactions in the invalid transaction data which involve checking signatures to ensure that they are not failing for the wrong reason. In order to make it easier for future updates, it introduces three well-known private keys, 1, 2, and 3, that are used for signing all of the transactions and adds them to the comments in the test data. The first one is used for regular CHECKSIG while all three are used for CHECKMULTISIG. |
||
|---|---|---|
| .. | ||
| data | ||
| consensus.go | ||
| doc.go | ||
| engine_test.go | ||
| engine.go | ||
| error.go | ||
| example_test.go | ||
| internal_test.go | ||
| 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 | ||
| sign_test.go | ||
| sign.go | ||
| stack_test.go | ||
| stack.go | ||
| standard_test.go | ||
| standard.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.
License
Package txscript is licensed under the copyfree ISC License.