This adds a new package under dcrutil named txsort which implements a standard lexicographical sort order of transaction inputs and outputs. This is useful to standardize transactions for faster multi-party agreement as well as preventing information leaks in a single-party use case. It is a modified form of BIP69 which has been updated to account for differences with Decred-specific transactions. The sort order for transaction inputs is defined as follows: - Previous transaction tree in ascending order - Previous transaction hash (treated as a big-endian uint256) lexicographically in ascending order - Previous output index in ascending order The sort order for transaction outputs is defined as follows: - Amount in ascending order - Public key script version in ascending order - Raw public key script bytes lexicographically in ascending order |
||
|---|---|---|
| .. | ||
| txsort | ||
| address_test.go | ||
| address.go | ||
| amount_test.go | ||
| amount.go | ||
| appdata_test.go | ||
| appdata.go | ||
| bitflags.go | ||
| block_test.go | ||
| block.go | ||
| const.go | ||
| doc.go | ||
| example_test.go | ||
| hash160.go | ||
| internal_test.go | ||
| README.md | ||
| tx_test.go | ||
| tx.go | ||
| wif_test.go | ||
| wif.go | ||
dcrutil
Package dcrutil provides decred-specific convenience functions and types. A comprehensive suite of tests is provided to ensure proper functionality.
This package was developed for dcrd, a full-node implementation of Decred which is under active development by Company 0. Although it was primarily written for dcrd, this package has intentionally been designed so it can be used as a standalone package for any projects needing the functionality provided.
Installation and Updating
$ go get -u github.com/decred/dcrd/dcrutil
License
Package dcrutil is licensed under the copyfree ISC License.