/mastercoin-tools

Primary LanguagePythonGNU Affero General Public License v3.0AGPL-3.0

mastercoin-tools

What is it?

  • Package of mastercoin related tools.
  • The intention is to help finalizing the mastercoin spec, and enable easy further coding.

Based on what?

Aim of this package

  • Live update - direct "realtime" interaction with the bitcoin network (using sx).
  • Multi platform - python runs on any arch.
  • No additional database is needed (obelisk has its own and can be used remotely, and the parser/validator use filesystem and a python dict).
  • Alternative code base - use libbitcoin instead of "satoshi client".
  • Simple cool and mobile friendly web UI.
  • Send transaction directly using a hybrid web wallet (not "Advisor").
  • Support for offline wallets.
  • Generate parsed data snapshots for download.
  • Low CPU requirement on server side (server serves static html files and json which are rendered on the client side).
  • API (json).

Let's see something

Already implemented

Example UI pages

TMSC on example address showing distributed exchange activity: https://masterchain.info/Address.html?addr=1BKpa19m5Xy9SvSzC5djPWtCfbuynSDwmb&currency=TMSC

MSC on mastercoin-tools tips jar address: https://masterchain.info/Address.html?addr=182osbPxCo88oaSX4ReJwUr9uAcchmJVaL&currency=MSC

Known forks

https://github.com/mastercoin-MSC/omniwallet There you could also find better detailed documentation for API (including wallet), json format, etc.

Parsing usage examples

$ python msc_parse.py -h
Usage: msc_parse.py [options]

Options:
  -h, --help            show this help message and exit
  -d, --debug           turn debug mode on
  -t SINGLE_TX, --transaction=SINGLE_TX
                        hash of a specific tx to parse
  -s STARTING_BLOCK_HEIGHT, --start-block=STARTING_BLOCK_HEIGHT
                        start the parsing at a specific block height (default
                        is last)
  -a, --archive-parsed-data
                        archive the parsed data of tx addr and general for
                        others to download
$ python msc_parse.py -t aa64fd6088532156a37670e6cbd175c74bb101f1406517613a1a0ae6bc02fb02
[I] main: {'currency_type_str': 'Mastercoin', 'transaction_type_str': 'Simple send', 'currencyId': '00000001', 'transaction_method_str': 'multisig_simple', 'recipientAddress': '17RVTF3vJzsuaGh7a94DFkg4msJ7FcBYgX', 'padding': '000000', 'amount': '0000000002faf080', 'changeAddress': '182osbPxCo88oaSX4ReJwUr9uAcchmJVaL', 'formatted_amount': '0.50000000', 'baseCoin': '00', 'dataSequenceNum': '45', 'transactionType': '00000000'}
$
$ python msc_parse.py -t 298a6af50089184f7b434c700f83f390d5dfdd5dac10b39b95f99036a5c66df7
[I] main: {'currency_type_str': 'Test Mastercoin', 'transaction_type_str': 'Simple send', 'currencyId': '00000002', 'transaction_method_str': 'multisig_simple', 'recipientAddress': '17RVTF3vJzsuaGh7a94DFkg4msJ7FcBYgX', 'padding': '000000', 'amount': '0000000000000003', 'changeAddress': '182osbPxCo88oaSX4ReJwUr9uAcchmJVaL', 'formatted_amount': '0.00000003', 'baseCoin': '00', 'dataSequenceNum': '45', 'transactionType': '00000000'}
$
$ python msc_validate.py -h
Usage: msc_validate.py [options]

Options:
  -h, --help   show this help message and exit
  -d, --debug  turn debug mode on

enjoy!

BTC/Mastercoins Tips Jar: