dcrd/rpctest
Dave Collins 4e0be8d2fb
txscript: Split signing code to sign subpackage.
The current code for handling signing standard scripts resides in
txscript and depends on parsing and creating standard scripts.  This
poses a problem for future work which intends to split the standard
script handling from the consensus critical code since that code will
also need to depend on txscript and therefore would result in a circular
dependency.

In order to pave the way for splitting the standard script handling
without running into the aforementioned issue, this moves all of the
signing code in the txscript package to a new subpackage named sign.

As an aside, the signing code really never fit very well in the txscript
package anyway and it only exists there because it was not possible to
parse scripts outside of the package back when the original code was
implemented.  However, that limitation no longer exists.

It should also be noted that this only does the minimum work necessary
to move the code and does not update it otherwise since future work
plans to replace it with a much more robust architecture that properly
handles things such as different script versions and non-standard
scripts which the current code does not handle.
2021-05-07 13:19:00 -05:00
..
debug.go Add debug and trace facility to rpctest. 2020-05-11 12:28:03 -05:00
doc.go rpctest: Upstream create new rpctest package sync. 2017-07-19 14:24:27 -05:00
memwallet.go txscript: Split signing code to sign subpackage. 2021-05-07 13:19:00 -05:00
node.go rpctest: Don't use installed node. 2021-01-21 23:42:15 -06:00
README.md multi: Update README.md files for go modules. 2021-01-22 14:39:23 -06:00
rpc_harness_test.go rpctest: Convert to use new stdaddr package. 2021-04-09 13:39:18 -05:00
rpc_harness.go rpcclient: Convert to use new stdaddr package. 2021-04-09 13:39:18 -05:00
simnet_miner.go multi: Start rpcclient v7 module dev cycle. 2020-11-10 16:51:38 -06:00
utils.go rpc/jsonrpc/types: Start v3 module dev cycle. 2020-12-23 23:23:08 -06:00
votingwallet_test.go multi: Start rpcclient v7 module dev cycle. 2020-11-10 16:51:38 -06:00
votingwallet.go txscript: Split signing code to sign subpackage. 2021-05-07 13:19:00 -05:00

rpctest

Build Status ISC License Doc

Package rpctest provides a dcrd-specific RPC testing harness crafting and executing integration tests by driving a dcrd instance via the RPC interface. Each instance of an active harness comes equipped with a simple in-memory HD wallet capable of properly syncing to the generated chain, creating new addresses, and crafting fully signed transactions paying to an arbitrary set of outputs.

This package was designed specifically to act as an RPC testing harness for dcrd. However, the constructs presented are general enough to be adapted to any project wishing to programmatically drive a dcrd instance of its systems/integration tests.

Installation and Updating

This package is part of the github.com/decred/dcrd module. Use the standard go tooling for working with modules to incorporate it.

License

Package rpctest is licensed under the copyfree ISC License.