You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
1.6 KiB
40 lines
1.6 KiB
9 years ago
|
// Copyright (c) 2013-2015 The btcsuite developers
|
||
|
// Use of this source code is governed by an ISC
|
||
|
// license that can be found in the LICENSE file.
|
||
|
|
||
|
/*
|
||
|
Package txscript implements the bitcoin transaction script language.
|
||
|
|
||
|
A complete description of the script language used by bitcoin can be found at
|
||
|
https://en.bitcoin.it/wiki/Script. The following only serves as a quick
|
||
|
overview to provide information on how to use the package.
|
||
|
|
||
|
This package provides data structures and functions to parse and execute
|
||
|
bitcoin transaction scripts.
|
||
|
|
||
|
Script Overview
|
||
|
|
||
|
Bitcoin transaction scripts are written in a stack-base, FORTH-like language.
|
||
|
|
||
|
The bitcoin script language consists of a number of opcodes which fall into
|
||
|
several categories such pushing and popping data to and from the stack,
|
||
|
performing basic and bitwise arithmetic, conditional branching, comparing
|
||
|
hashes, and checking cryptographic signatures. Scripts are processed from left
|
||
|
to right and intentionally do not provide loops.
|
||
|
|
||
|
The vast majority of Bitcoin scripts at the time of this writing are of several
|
||
|
standard forms which consist of a spender providing a public key and a signature
|
||
|
which proves the spender owns the associated private key. This information
|
||
|
is used to prove the the spender is authorized to perform the transaction.
|
||
|
|
||
|
One benefit of using a scripting language is added flexibility in specifying
|
||
|
what conditions must be met in order to spend bitcoins.
|
||
|
|
||
|
Errors
|
||
|
|
||
|
Errors returned by this package are of the form txscript.ErrStackX where X
|
||
|
indicates the specific error. See Variables in the package documentation for a
|
||
|
full list.
|
||
|
*/
|
||
|
package txscript
|