Skip to main content

helper for creating cash accounts

Project description

Cash Account Helper

You can already take payment information like an address and register a cash account at cashaccount.info. I really recommend you do.

This CLI and library will help you prepare cash account registrations that you can broadcast yourself.

Installation

Requires python3 for now.

pip install pycashaccount

Status / ToDo

It is very basic still. Please file an issue if you have additional use cases for it.

  • OP_RETURN output for electron-cash op_return markdown
  • OP_RETURN hex-like output
  • p2sh output
  • support payment codes
  • generate raw hex output that common node CLIs can use
  • support stealth addresses
  • support lookup of cash accounts

Note about Bip47 payment codes

Bip47 payment codes are very interesting. Please read this introduction to them before using pycashaccount to register a payment code. The payment code itself is non-trivial to generate so pycashaccount lets you create registration info from the xpub as well as the payment code itself. Please be very careful with xpubs. Please make absolutely sure you do not export and start copy-pasting an xpriv.

CLI (command line interface) usage after installation

For example, get the information required for a key hash and script hash accounts:

p2pkh="bitcoincash:qrme8l598x49gmjhn92dgwhk5a3znu5wfcf5uf94e9"
p2sh="bitcoincash:pp4d24pemra2k3mths8cjxpuu6yl3a5ctvcp8mdkm9"
paymentcode="PM8TJTLJbPRGxSbc8EJi42Wrr6QbNSaSSVJ5Y3E4pbCYiTHUskHg13935Ubb7q8tx9GVbh2UuRnBc3WSyJHhUrw8KhprKnn9eDznYGieTzFcwQRya4GA"
xpub="xpub6D3t231wUi5v9PEa8mgmyV7Tovg3CzrGEUGNQTfm9cK93je3PgX9udfhzUDx29pkeeHQBPpTSHpAxnDgsf2XRbvLrmbCUQybjtHx8SUb3JB"

cashaccount keyhash     name1 "$p2pkh"
cashaccount scripthash  name2 "$p2sh"           --format=opreturn
cashaccount paymentcode name4 from-xpub "$xpub" --format=electron-markdown
cashaccount paymentcode name3 from-code "$paymentcode"

Generally:

cashaccount payment_type name payment_info [--format]

Get help:

cashaccount --help

cashaccount keyhash --help

CLI usage directly from repository

Same usage as the installed cli, except you can call it from the cli script at the repository root:

./cli --help

Library usage

Look at cashaccount/cli.py for usage.

For example, create a registration from a name and payment information.

from cashaccount import KeyHashInfo, Registration, opreturn

name = 'emergent_reasons'
info = KeyHashInfo('bitcoincash:qrme8l598x49gmjhn92dgwhk5a3znu5wfcf5uf94e9')
registration = Registration(name, info)
print(registration)
print(opreturn(registration))

Contributions

Code contributions are welcome:

  • Fork the repository and submit a pull request from your fork.
  • Install test requirements pip install -r requirements-test.txt
  • Update tests to cover any changes
  • Confirm all tests pass before submitting a Pull Request (e.g. pytest --cov-report term-missing --cov=cashaccount test/)

Support donations are also welcome:

  • 🌵emergent_reasons#100 (bitcoincash:qz3aq0uhltztqyjy2esa0lshadg9pf87yu7yealu3a)
  • ☯Jonathan#100 for donations to the cashaccount project (bitcoincash:qr4aadjrpu73d2wxwkxkcrt6gqxgu6a7usxfm96fst)
  • Electron Cash (bottom of the page) The team added a general OP_RETURN feature where you can use the opreturn formatting.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pycashaccount-0.3.2.tar.gz (8.2 kB view details)

Uploaded Source

Built Distribution

pycashaccount-0.3.2-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file pycashaccount-0.3.2.tar.gz.

File metadata

  • Download URL: pycashaccount-0.3.2.tar.gz
  • Upload date:
  • Size: 8.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.1

File hashes

Hashes for pycashaccount-0.3.2.tar.gz
Algorithm Hash digest
SHA256 4efef99806fdba1d1fb743bc98c72ca56f0fd32f5f43a0073c24a1881c3b5232
MD5 1a6b25a959d6c420e4f708f6c972aef7
BLAKE2b-256 739ca15b87f8539431f281271b58bdb6776db3ad26eaf999499566861fe2506b

See more details on using hashes here.

File details

Details for the file pycashaccount-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: pycashaccount-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 11.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.20.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.1

File hashes

Hashes for pycashaccount-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 87d0484db232850a25b78f047b38452ce075d025f8190b76659784a1ebb7d0c0
MD5 1c1f32ff7255b585bb33b19230510eef
BLAKE2b-256 31b274ddbd0a9c1b9c0fa4bd0ed913323bdc656ddd707b942b3628b80cebd9dc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page