grazcoin (OP)
|
|
September 10, 2013, 07:32:03 PM |
|
Package of mastercoin related tools. available on https://github.com/grazcoin/mastercoin-toolsThe intention is to help finalizing the mastercoins spec, and enable easy further coding. It is based on https://github.com/spesmilo/sx with minor fixes on https://github.com/grazcoin/sxFor finalizing the spec, a list of address and mastercoins was generated. To get all mastercoins sells during exodus bootstrap in csv format: python msc_bootstrap.py > outputs/bootstrap.log To get total amount of mastercoins for each address: python bootstrap_msc_per_address.py > outputs/msc_per_address.csv python bootstrap_msc_per_address.py > outputs/msc_per_address.csv To get the whole bootstrap story (for fun and debug), check: python msc_bootstrap.py story > outputs/bootstrap_story.log The outputs of those scripts are available under https://github.com/grazcoin/mastercoin-tools/tree/master/outputsOnce this list is agreed on the community, it would be possible to sign it with 1EXoDus address and take it as appendix for the spec (best would be as part of the github repository of the ascii spec). Also future protocol stack implementations could use it. Aim of this package: - Live update - direct interaction with the bitcoin network (using sx monitor).
- Run without a database.
- Be an alternative code base.
Anyone should be able to run at home without the need for a database setup. Next steps: - Parse mastercoin tx for all tx coming from sx-monitor tool listening on 1EXoDus address creating a mastercoin tx log (dropping the syntax invalid tx).
- Accounting validator - checks that enough funds are available for each tx. Insufficient funds would mean invalid tx.
enjoy! BTC/Mastercoins Tips Jar: 182osbPxCo88oaSX4ReJwUr9uAcchmJVaL
|
|
|
|
dacoinminster
Legendary
Offline
Activity: 1260
Merit: 1031
Rational Exuberance
|
|
September 10, 2013, 08:18:53 PM |
|
I approve this thread Here's a copy of my question from the MasterCoin project thread: I'm trying to understand your suggestion about a package with a live update. Are you suggesting that MasterCoin clients should decouple from the block chain completely and rely on a vetted record of transactions? If so, that would seem to lose our decentralization. If not, what are you suggesting? Thanks!
|
|
|
|
grazcoin (OP)
|
|
September 10, 2013, 08:47:58 PM |
|
I approve this thread Here's a copy of my question from the MasterCoin project thread: I'm trying to understand your suggestion about a package with a live update. Are you suggesting that MasterCoin clients should decouple from the block chain completely and rely on a vetted record of transactions? If so, that would seem to lose our decentralization. If not, what are you suggesting? Thanks! repearting the answer in https://bitcointalk.org/index.php?topic=265488.msg3124663#msg3124663The live update is a feature of the command sx-monitor ( https://github.com/grazcoin/sx) which listens to the bitcoin network on specific address (1EXoDus address in our case), and in real time outputs new tx. The code will parse them on-the-fly and show the mastercoin tx. A different mechanism will go over the output (optionally also on-the-fly) and decide if the tx is valid or not according to the mastercoin balance of the address (invalid tx if there are not enough funds).
|
|
|
|
grazcoin (OP)
|
|
September 13, 2013, 09:00:05 AM Last edit: September 13, 2013, 12:25:48 PM by grazcoin |
|
basic mastercoin tx parser was added to mastercoin-tools. The parser goes over all 1EXoDus tx, and outputs: tx_hash,from,to,amount,currency,tx_type currently only simple send is supported usage: python msc_parse.py > outputs/tx_parse.csv updated result can be fetched: https://raw.github.com/grazcoin/mastercoin-tools/master/outputs/tx_parse.csv
|
|
|
|
dacoinminster
Legendary
Offline
Activity: 1260
Merit: 1031
Rational Exuberance
|
|
September 13, 2013, 05:41:34 PM |
|
Note that in the MasterCoin project thread Tachicoma said he tested this code and verified that it agrees 100% with his own parsing code. Great job!
|
|
|
|
grazcoin (OP)
|
|
October 07, 2013, 07:22:07 AM |
|
Added- send mastercoin transaction (the real thing, not "advisor")
- implement sending and parsing of "simple multisig"
simple multisig- dust limit to 1EXoDus
- all the change to BIP11 1-of-2
- pubkey1 is the one of the sender (redeemable)
- pubkey2 is recipientHex+dataHex+padding
on the blockchainparsing$ 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'} $
outputs resultshttps://github.com/grazcoin/mastercoin-tools/blob/master/outputs/parse-with-multisig-simple.logredeem multisighttps://github.com/grazcoin/mastercoin-tools/blob/master/NOTEShelp on commands$ python msc_send.py -h Usage: msc_send.py [options]
Options: -h, --help show this help message and exit -m TX_METHOD, --transaction-method=TX_METHOD basic or multisig -c CURRENCY_ID, --currency-id=CURRENCY_ID 1 for Mastercoin, 2 for Test Mastercoin -a AMOUNT, --amount=AMOUNT amount of coins -x FEE, --fee=FEE fee for transaction -r RECIPIENT_ADDRESS, --recipient=RECIPIENT_ADDRESS recipient address -f FROM_ADDRESS, --from=FROM_ADDRESS from address or pubkey -p PRIV_KEY, --private-key=PRIV_KEY private key for signing the tx (overrides from address) -k, --key-prompt prompt for hidden private key for signing the tx (overrides from address) -s HOST_PORT, --send-tx=HOST_PORT transmit tx to specific bitcoin node HOST:PORT -b, --broadcast-tx broadcast tx to bitcoin network -d, --debug turn debug mode on
$ 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
|
|
|
|
grazcoin (OP)
|
|
October 12, 2013, 04:35:01 PM |
|
Horrey! Grimentz https://bitcointalk.org/index.php?action=profile;u=153554, a known html5 specialist, has joined the mastercoin-tools team and now we are proud to announce http://masterchain.infoIt was hard work, but I think you can see that. - Fully distributed architecture - no need for database or webserver.
- You can use the site offline and update it locally on request.
- Sync to bitcoin network is done using sx which connects to some public obelisk bitcoin node.
- Sending a transaction directly using Send supports offline wallets.
- There is an API section and a Download section for snapshot of parsed data
It is important to note that for "simple send", the "basic" variant is supported as well as "multisig simple" (see MIP1 https://github.com/grazcoin/mastercoin-tools#mastercoin-improvement-proposal-mip1. The previous multisig (with 4 outputs) is not yet implemented. It means currently a fork in parsing. I would like to re-open the discussion on the "multisig simple" in another thread.
|
|
|
|
chsados
|
|
October 14, 2013, 01:18:50 AM |
|
Is there a youtube video explaining/showing all of this?
Is mastercoin an answer to colored coins?
|
|
|
|
|
grazcoin (OP)
|
|
January 16, 2014, 10:46:45 AM |
|
Good news:Tutorial for masterchain.info's cool Hybrid web wallet (TM) that does bitcoin/mastercoin sending as well as Distributed Exchange operations is available on: https://masterchain.info/downloads/masterchain_tutorial.pdfWhat it CAN do: - Show balances of MSC/TMSC/BTC for each of your addresses (just add them to the wallet)
- Initiate a send/sell of each of the funds on the wallet
- Suggest wallet addresses when clicking ACCEPT on an sell offer
- Generate a correct PAY transaction after the offer got accepted
What it CANNOT (yet) do: - Sync wallet with server is not yet implemented. It means that the wallet is kept only locally in your browser. To re-create it, add the addresses to a new wallet
Few technical details: - All view pages are rendered locally on your browser using json data from the server (or from your filesystem). The json files are static (so no problem for 1M users together, since users bring their own CPUs)
- Wallet is kept in browser storage. No private information is stored. A secure mechanism to keep the wallet data online will be later introduced
- Wallet operations are done using a POST request from the server to:
- /wallet/validateaddr/
- /wallet/send/
- /wallet/sell/
- /wallet/accept/
- At this point, the tx gets the bitcion network using pushtx of blockchain.info (will be later changed)
Testing: Not enough testing has been done. There are still sharp edges, and some hick-ups. Example are available in the tutorial. There is still enough work to get to consensus on DEx. Sources: https://github.com/grazcoin/mastercoin-toolsNote: the wallet is not a cold wallet, but a cool wallet ;-)
|
|
|
|
grazcoin (OP)
|
|
January 17, 2014, 06:31:57 AM |
|
From main mastercoin thread: Re: quote from grazcoin above (masterchain.info wallet/DEx)
It looks like you need to create a new wallet first and then search for your mastercoin/bitcoin address. Once you find the address you can add it to the newly created wallet.
Are there any official instructions for beta-testers for the wallet and DEx, like where to acquire test mastercoins and where to report bugs?
Westphalian, Marv has been putting together the test plan for DEx at https://github.com/marv-engine/QA/blob/master/MastercoinDistributedExchangeTestPlan.mdRegarding bug reports, Grazcoin may have a preferred location, but you can ask the devs for their preference, and to receive TMSC. Still finalizing the formal version of the above. Grazcoin, this is looking exceptional! No need to create a new wallet. It gets created automatically if it is not there already, e.g.the first time you click "add to wallet" on some address. No official instructions as the code is still hot directly from the oven. Also being now in the revolutionary & chaotic phase of the development, things may change very fast. Whenever a beta stage comes, I will tag it as beta. Testing - you are more than welcome. Just follow the tutorial and experiment. General testing and testcoins - that's not me. Report bugs to masterchain@bitmessage.ch (please text only).
|
|
|
|
maxmint
|
|
January 18, 2014, 02:22:22 PM |
|
I just tried to create a new sell offer using address 19i7op4JBQWnACZwrHiRX32xpzAHz81uKn When clicking on "verify" I get this error "no pubkey on blockchain". I'm not exactly sure what this means, does masterchain.info not know about this address yet?
|
|
|
|
grazcoin (OP)
|
|
January 19, 2014, 09:44:47 PM |
|
I just tried to create a new sell offer using address 19i7op4JBQWnACZwrHiRX32xpzAHz81uKn When clicking on "verify" I get this error "no pubkey on blockchain". I'm not exactly sure what this means, does masterchain.info not know about this address yet?
It means that you have not signed yet with this address inside the blockchain (did not spend anything yet). In order to create a new bitcoin transaction, the public key is required. If it is cannot be retrieved from the blockchain, you have to supply it. An easy way to get the public key, is to visit http://brainwallet.org/ and give your private key. Then the public key appears. Otherwise,
|
|
|
|
|
marcelus
|
|
January 19, 2014, 11:38:10 PM |
|
subbed
|
|
|
|
PinkPotatos
Full Member
Offline
Activity: 126
Merit: 100
Girls dont crypto?
|
|
January 19, 2014, 11:42:42 PM |
|
Subbed, cant wait to see where this goes.
|
|
|
|
marcelus
|
|
January 20, 2014, 12:12:23 PM |
|
Grazcoin, would it not be an idea to hide the characters (much like when one logs into their internet banking) when someone is entering their private key, in case somebody is watching?
|
|
|
|
prophetx
Legendary
Offline
Activity: 1666
Merit: 1010
he who has the gold makes the rules
|
|
January 21, 2014, 05:14:20 AM |
|
|
|
|
|
marcelus
|
|
January 21, 2014, 02:47:41 PM |
|
I retrieved my private key from blockchain.info to set up a sell offer but masterchain.info tells me that it is invalid. What may the problem be? Or more to the point what am I doing wrong?
|
|
|
|
grazcoin (OP)
|
|
April 29, 2014, 09:55:28 AM |
|
masterchain-tools has already few roles and forks now:
|
|
|
|
|