+-------------------------------------------------+
| ____ _ _ ____ _ |
| | __ )(_) |_/ ___|| |__ __ _ _ __ ___ ___ |
| | _ \| | __\___ \| '_ \ / _` | '__/ _ \/ __| |
| | |_) | | |_ ___) | | | | (_| | | | __/\__ \ |
| |____/|_|\__|____/|_| |_|\__,_|_| \___||___/ |
| ____ _ _ |
| / ___|(_) __ _ _ __ (_)_ __ __ _ |
| \___ \| |/ _` | '_ \| | '_ \ / _` | |
| ___) | | (_| | | | | | | | | (_| | |
| |____/|_|\__, |_| |_|_|_| |_|\__, | |
| |___/ |___/ |
+-------------------------------------------------+
WTFPL litepresence.com Dec 2021 & squidKid-deluxe Mar 2025
ManualSigning re-imagined
Authenticated BUY/SELL/CANCEL without Pybitshares (MIT) Architecture
def WTFPL_v0_March_1765():
if any([stamps, licenses, taxation, regulation, fiat, etat]):
try:
print("No thank you!")
except:
return [tar, feathers]
ALPHA RELEASE - PUBLIC DOMAIN, NO WARRANTY
Joe, a CEX algorithmic trader, discovers Bitshares DEX and asks:
"How do I get reliable public API data that never goes stale?"
- metaNODE.py
"How do I authenticate to the DEX?"
- manualSIGNING.py
Seven small scripts, totaling a mere 105kb, and DEX algo trading barriers to entry are defeated.
You’re instantly connected and authenticated.
Buy, sell, and cancel orders with seamless connectivity and simple authentication — CEX-style data at your fingertips.
FEATURES
prototype_order()generates an order header template.- Edicts can include any combination of operations.
- Automatically scales buy/sell orders to prevent exceeding account budget.
- Ensure you always have enough funds to cover transaction fees with the last two Bitshares.
- Uses multiprocessing to handle websockets and manage faulty order timeouts.
- New edict
{'op': login}matches a WIF (Wallet Import Format) to an account name and returnsTrue/False. - No dependencies on Pybitshares!
HOW DO I USE THIS TOOL?
An order is structured as a dictionary of:
['edicts', 'header', 'nodes']
See help(bitshares_signing.quickstart) for detailed examples.
OBJECTIVES
- Use only standard Python objects. ✅
- Collect necessary Pybitshares objects (copy, paste, cite). ✅
- Strip unnecessary methods from Pybitshares objects. ✅
- Reorganize classes and definitions in a logical, chronological order. ✅
- Enable users to create orders using simple, human-readable terms. ✅
- Build transactions using Graphene-style terms. ✅
- Serialize transactions. ✅
- Validate serialization using
get_transaction_hex_without_sig(). ✅ - Sign transactions with ECDSA. ✅
- Validate signed transactions. ✅
- Broadcast transactions to an RPC node. ✅
- Make the script importable as a module and callable with
broker(order). ✅ - Allow for a list of buy/sell/cancel actions (edicts). ✅
- Implement
cancel-allfunctionality. ✅ - Provide extensive line-by-line commentary for clarity. ✅
ONGOING:
- Make prototype_order take token- and user- names, rather than ids
- Add Liquidity pool swap/stake/unstake
- Simplify and condense Pybitshares methods. (Still in progress)
- Expand and finalize the
manualSIGNINGwhitepaper.md. (5200-word rough draft available) - Transition from object-oriented (class-based) to procedural (function-based) style. (Planned)
DEPENDENCIES
- Python 3
- Linux recommended, other OSes have not been tested
- ecdsa, secp256k1, and websocket-client. (
pip3 install -r requirements.txtto get the right versions)
Note: bitshares_signing has not been tested on python3.10+; for reliable use, use python3.6.9 to python3.9
LICENSE:
Citations to Pybitshares (MIT) & @xeroc as needed. Special thanks to @vvk123, @sschiessl, and @harukaff_bot. All remaining rights under WTFPL March 1765.
Metadata
Release files for bitshares-signing 1.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| bitshares_signing-1.4.0.tar.gz | 38.8 kB | With provenance | Details for bitshares_signing-1.4.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| bitshares_signing-1.4.0-py3-none-any.whl | Python 3 | none | any | Details for bitshares_signing-1.4.0-py3-none-any.whl |
Total release size: 87.3 kB
Security for bitshares-signing 1.4.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.