name mode size
..
coinstack.py 100644 1.18kB
README.md
## General ____________ ### Author * Josh McIntyre ### Website * jmcintyre.net ### Overview * Coinstack is a mock interpreter for basic Bitcoin scripts ## Development ________________ ### Git Workflow * master for releases (merge development) * development for bugfixes and new features ### Building * make build Build the application * make clean Clean the build directory ### Features * Take a basic bitcoin script in string format * Supports basic operators: OP\_ADD, OP\_SUB, OP\_DUP, OP\_HASH160, OP\_EQUALVERIFY, OP\_CHECKSIGVERIFY*, OP\_VERIFY * \* NOTE: In real Bitcoin scripts, OP_CHECKSIG needs message data that exists outside the script. For this educational interpreter, the op will automatically assume the signature is valid so that interpretation can continue. A future update may allow the user to manually pass in message data for real ECDSA signature verification. ### Requirements * Requires Python 3.7 ### Platforms * Linux * Windows * MacOSX * FreeBSD ## Usage ____________ ### Command line usage * Write a Bitcoin script with the supported ops and any data in hex format (preceded by 0x) and save in a file. * Call the script with `python coinstack.py filename.script` * Optionally, specify "-v" after the script name for verbose processing. This option is very useful for debugging and the educational nature of this tool.