lbcd/txscript
Josh Rickmar a6965d493f all: Remove seelog logger.
The btclog package has been changed to defining its own logging
interface (rather than seelog's) and provides a default implementation
for callers to use.

There are two primary advantages to the new logger implementation.

First, all log messages are created before the call returns.  Compared
to seelog, this prevents data races when mutable variables are logged.

Second, the new logger does not implement any kind of artifical rate
limiting (what seelog refers to as "adaptive logging").  Log messages
are outputted as soon as possible and the application will appear to
perform much better when watching standard output.

Because log rotation is not a feature of the btclog logging
implementation, it is handled by the main package by importing a file
rotation package that provides an io.Reader interface for creating
output to a rotating file output.  The rotator has been configured
with the same defaults that btcd previously used in the seelog config
(10MB file limits with maximum of 3 rolls) but now compresses newly
created roll files.  Due to the high compressibility of log text, the
compressed files typically reduce to around 15-30% of the original
10MB file.
2017-06-19 16:46:50 -04:00
..
data txscript: Implement ScriptVerifyNullFail 2017-01-13 14:19:11 -05:00
consensus.go txscript: Implement CheckSequenceVerify (BIP0112) 2016-10-19 12:06:44 -04:00
doc.go txscript: Significantly improve errors. 2017-01-12 13:12:39 -06:00
engine.go txscript: Implement ScriptVerifyNullFail 2017-01-13 14:19:11 -05:00
engine_test.go txscript: Significantly improve errors. 2017-01-12 13:12:39 -06:00
error.go txscript: Implement ScriptVerifyNullFail 2017-01-13 14:19:11 -05:00
error_test.go txscript: Implement ScriptVerifyNullFail 2017-01-13 14:19:11 -05:00
example_test.go wire: Make NewMsgTx accept the tx version. 2016-10-27 14:09:29 -05:00
log.go all: Remove seelog logger. 2017-06-19 16:46:50 -04:00
opcode.go multi: Switch to upstream golang.org/x/crypto. 2017-05-09 11:35:01 -05:00
opcode_test.go txscript: Significantly improve errors. 2017-01-12 13:12:39 -06:00
README.md multi: Update markdown files for GFM changes. 2017-05-25 12:06:16 -05:00
reference_test.go txscript: Implement ScriptVerifyNullFail 2017-01-13 14:19:11 -05:00
script.go Fix warnings from ineffassign 2017-06-07 17:59:33 -05:00
script_test.go txscript: Significantly improve errors. 2017-01-12 13:12:39 -06:00
scriptbuilder.go txscript: Significantly improve errors. 2017-01-12 13:12:39 -06:00
scriptbuilder_test.go txscript: Significantly improve errors. 2017-01-12 13:12:39 -06:00
scriptnum.go txscript: Significantly improve errors. 2017-01-12 13:12:39 -06:00
scriptnum_test.go txscript: Significantly improve errors. 2017-01-12 13:12:39 -06:00
sigcache.go txscript: Drop the mutex before doing crypto 2017-01-31 13:47:41 -05:00
sigcache_test.go chainhash: Abstract hash logic to new package. (#729) 2016-08-08 14:04:33 -05:00
sign.go Fix warnings from ineffassign 2017-06-07 17:59:33 -05:00
sign_test.go wire: Make NewMsgTx accept the tx version. 2016-10-27 14:09:29 -05:00
stack.go multi: Simplify code per gosimple linter. 2017-03-22 15:34:13 -05:00
stack_test.go txscript: Significantly improve errors. 2017-01-12 13:12:39 -06:00
standard.go txscript: Implement ScriptVerifyNullFail 2017-01-13 14:19:11 -05:00
standard_test.go txscript: Significantly improve errors. 2017-01-12 13:12:39 -06:00

txscript

Build Status ISC License GoDoc

Package txscript implements the bitcoin 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 bitcoin transaction scripts.

Bitcoin Scripts

Bitcoin provides a stack-based, FORTH-like language for the scripts in the bitcoin transactions. This language is not turing complete although it is still fairly powerful. A description of the language can be found at https://en.bitcoin.it/wiki/Script

Installation and Updating

$ go get -u github.com/btcsuite/btcd/txscript

Examples

GPG Verification Key

All official release tags are signed by Conformal so users can ensure the code has not been tampered with and is coming from the btcsuite developers. To verify the signature perform the following:

  • Download the public key from the Conformal website at https://opensource.conformal.com/GIT-GPG-KEY-conformal.txt

  • Import the public key into your GPG keyring:

    gpg --import GIT-GPG-KEY-conformal.txt
    
  • Verify the release tag with the following command where TAG_NAME is a placeholder for the specific tag:

    git tag -v TAG_NAME
    

License

Package txscript is licensed under the copyfree ISC License.