zathras
|
|
January 22, 2014, 05:29:40 AM |
|
Hi all, Update as requested by JR on my progress to date. I have some code cleanup to do and then I'll get these new versions pushed up to git. FYI following discussions with Ron, these new versions will form the first main branch and I'll be moving development to an experimental branch with increased sync frequency to increase visibility. Development- Masterchest Wallet
My wallet software is coming along nicely, this now has full DEx support. Still some work needed, the UI needs a good cleanup and there are still a lot of bugs on my outstanding list. Lots of user-orientated stuff (for example bitcoin config autodetection). Solid progress though, pretty use-able - but as I say still a lot of bugs and I need to do more testing on my validation for the DEx payment on buys. I don't want to put out unfinished stuff so it'll be a little longer for release.
I'd at least like to communicate my progress though, so despite best efforts to stop me by this recording software - I've put up a demo video. You can catch it at the following link: https://masterchest.info/walletdemo
- Masterchest Library
The biggest change in v2 of the Masterchest library is of course DEx support. All DEx messages are supported, and the library handles both encoding and decoding functions. Also some nice performance gains achieved through tuning (recursive inputs etc) which speeds up blockchain scanning in the respective softwares that use it. Lots and lots of bugfixes and new Class A parsing using the simplified model.
- Masterchest Engine
v2 of the Engine has also been rewritten to support the new DEx messages and incorporate DEx state processing. Also runs the consensus system - v2 includes test MSC. DEx state (as with addresses and sends etc) is maintained in easily accessible tables to facilitate ease of use for web devs who may not be coders (as long as someone knows how to run a select * from exchange where type='pendingoffer' and valid=true for example) can build a web service on top of the engine. For the results of the engine please see the masterchest.info website - the engine is what populates the databases for it.
- Masterchest.info
v2 of the website brought with it - you guessed it - DEx support (a theme is appearing ) and a significant redesign. The original v1 site was going to be a web wallet before I thoroughly thought through the security implications and decided security & limited time were not two concepts that mixed well! As such all the text related to web wallet functionality is gone, as are the unnecessary two-step processes for looking up transactions/addresses etc. Charting is real-time & once there are more trades taking place as we ramp this up I'll open up the view options other than 60-day. https://masterchest.info
- Masterchest CLI
Masterchest CLI is your bread & butter 'does what it says on the tin' utility. It simply wraps the Masterchest library in a CLI wrapper so you can call the functions from the command line. Originally built for rbdrbd to help him get a jump start but his project didn't progress for various reasons so this hasn't been developed past an initial alpha. Works fine for creating say for example DEx messages manually on the command line etc, if there is a need for it I can polish up a bit. https://bitcointalk.org/index.php?topic=292628.msg3748546#msg3748546
Testing & Protocol- Appendix - Storing data in the blockchain
Consolidated all the various discussions on transaction storage and drafted an amendment to the spec which would explicitly define how this is done. Onboarded feedback from the other devs until the approaches detailed in the amendment could be agreed by all. Subsequently submitted and this now forms part of the spec. I considered this a fundamental necessity as going into the DEx contest we still had a bunch of ambiguity around transaction storage. This includes adding obfuscation to Class B & introducing the last byte rotation method for ECDSA point validation. Significant transaction storage testing prior to submitting the appendix (everything from testing a couple million pubkeys against byte rotation to simulating various transaction storage methods for their efficacy). https://github.com/mastercoin-MSC/spec#appendix-a--storing-mastercoin-data-in-the-blockchain
- Masterchest Consensus System
Built and introduced the Masterchest consensus system to put the verification API (credit Tachikoma) to use in automated testing. This monitors each address and evaluates differences across the various implementations. I believe this has been a very useful tool allowing us to test consensus quickly and identify areas of ambiguity/differences in spec interpretation and lock these up. Now moving into specific transactions so the consensus system can identify at a glance not only addresses with differences, but highlight which transaction(s) caused said differences. https://masterchest.info/consensus.aspx
- Class A Simplification
Rewrote the rules on Class A to allow for a variety of edge cases that had appeared on the network but were technically invalid per spec. These transactions could be decoded via 'Peek & Decode' and it was hurting consensus having ambiguity on these transactions. Wrote a test version of the library with the simplified logic and performed significant testing against a bunch of edge case transactions to prove the approach was viable before requesting a pull. I (think) there are now no edge cases at all that aren't catered for in the rules and we're now talking about a bounty & inviting people to try and come up with a bug in the modified Class A spec. https://github.com/mastercoin-MSC/spec/pull/36 https://bitcointalk.org/index.php?topic=292628.msg4499342#msg4499342
- Ad-hoc testing as needed (examples simultation testing for multiple change outputs in Class A, testing my own implementation against the other guys etc)
Thanks Zathras
|
|
|
|
Bitoy
|
|
January 22, 2014, 05:39:22 AM |
|
Did we ever fix the balance issue with my account (1LjT88X7Zu8BdbqJw8vfRa83NJuzYL9kqm) Don't really care about the TSMC but just wanted to make sure there wasn't something that could cause a issue later on down the road...
I see 106.12380845 TMSC on Masterchest
108.12380845 TSMC on Masterchain
107.12380845 TSMC on mastercoin-explorer
It seems 107.12380845 is the correct amount (1 Reserved for current sale offer, for a Total of 108.12380845)
Hi ATriz, You have 107.12380845 tmsc. You offered to sell 1. Your available balance is 106.12380845 tmsc.
|
|
|
|
Bitoy
|
|
January 22, 2014, 07:34:26 AM Last edit: January 23, 2014, 02:23:23 PM by Bitoy |
|
Summary of Work MyMastercoins website http://www.mymastercoins.com/Default.aspxSource Code https://github.com/Bitoy88/MyMastercoinsWebsite/Create multisig parsing of Simple Send and Dex transactions from blockexplorer.com and blockchain.org. (Simple send, sell offer, purchase offer, payment) Test MSC DEx order book http://www.mymastercoins.com/Orders.aspx?CurrencyID=2Charts for Simple Send, test msc http://www.mymastercoins.com/About.aspxTransaction module. http://www.mymastercoins.com/Transactions.aspxMyMastercoins thin client wallet MMW (windows based) http://www.mymastercoins.com/MyMSCWallet.aspxSend MSC (simple send) Send TMSC (simple send) Sell TMSC Distributed Exchange Buy TMSC Distributed Exchange Gets data from mymastercoins.com SQL server Used Zathras library to send multisig transaction Help synchronize MSC with tachikoma,grazcoin, and Zathras. Synchoronization of TestMsc ongoing. Sent test transactions using the MMW wallet from address 1BKpa19m5Xy9SvSzC5djPWtCfbuynSDwmb 1QFWodNASZv8KRHnhypKaMys5CGRg7GrFQ
|
|
|
|
superfluouso
|
|
January 22, 2014, 07:47:48 AM Last edit: January 22, 2014, 08:51:28 PM by superfluouso |
|
Edit: never mind
Keep up the excellent work Devs!
|
|
|
|
grazcoin
|
|
January 22, 2014, 12:46:55 PM Last edit: January 22, 2014, 06:02:46 PM by grazcoin |
|
|
|
|
|
|
grimentz
Newbie
Offline
Activity: 12
Merit: 0
|
|
January 22, 2014, 01:54:55 PM |
|
I am the developer of Masterchains's web site. In the previous round, I received the payment together with Grazcoin. In the current round, Grazcoin and I feel that I have made significant contributions that may be relevant to other related implementations testing and projects. These contributions include the integration of BitcoinJS and Javascript implementation of DEx transactions signing and sending. Grazcoin and I really like the visual language I developed to visualize the different types and status of the transactions (please find the link to a detailed documentation of this visual language below.) This helps greatly especially when it comes to testing DEx on masterchain.info. Although Grazcoin is the one that is responsible for most of the communications, please consider processing our payments separately. Detailed list of achievements: Development: * Design icons for all the transaction types and backgrounds to indicate each transaction DEx's status. Document describing all possible transactions / status combinations: https://masterchain.info/downloads/masterchain_icons_list.pdfImplemented the icon / background scheme with transparent icons and CSS classes and integrated in masterchain.info site. * Implemented HTML form + signing (in javascript) + sending of wallet skeleton required for DEx testing. * Implemented an offline version of the signing form in javascript (in final stages of testing, will go live tomorrow). * Responded to users and testers feedback (on mailing list and the forum) and improved usability of the transactions sending form. * Implemented HTML client side wallet for masterchain.info: https://masterchain.info/wallet.html (users add addresses to wallet from address pages.) * Many small html5 features and improvements to masterchain.info Testing: * I tested the status of individual transaction types on masterchain.info using the icons mentioned above and hover HTML message that I also implemented. * Test signing of all possible DEx transactions within masterchain.info. * Suggest structured testing format doc based on the transaction type / status icons and backgrounds I designed: https://masterchain.info/downloads/DEx_test_plan.pdf * Followed the testing document to test transactions on masterchain.info * Testing (+ fixing) of masterchain.info DEx forms on >20 different combinations of platforms, browsers and screen resolutions including 3 tablets (iOS, Android and windows 8.1) and 2 smart phones (iOS and Android.)
|
|
|
|
ripper234
Legendary
Offline
Activity: 1358
Merit: 1003
Ron Gross
|
|
January 22, 2014, 02:00:11 PM |
|
Wow, so many terrific updates, this really shines a light to the wonderful work you guys are doing. Thank you thank you thank you! I summarized a brief TL;DR of the current status on the wiki. Feel free to add more stuff/edit away any mistakes.
|
|
|
|
jakecnn
Newbie
Offline
Activity: 34
Merit: 0
|
|
January 22, 2014, 02:13:48 PM |
|
Testing work:
Installed Bitoy's wallet on 2 systems, but couldn't get those to work. Currently communicating with Bitoy to find and resolve the issues.
Extensive testing of DEx and giving feedback over the last few days using grazcoin's HybridWebWallet and testing plan. Addresses used: 1G3P5bws8wRVrVfKWxv8F85pRjs9qXyyA6 14Q2NNiF5YzDZCjo7vrBuHdbZcmHRJyW3j 1NVNkPqSLo4N2seaZCzAkVFPjcGLPJSZAZ
|
|
|
|
cmlacy
Newbie
Offline
Activity: 4
Merit: 0
|
|
January 22, 2014, 04:48:22 PM |
|
Faiz and I have been working with extending the existing webwallet that grazcoin and Grimentz have posted on masterchain.info. We've taken a crack at making a simple installer, and filled out installation instructions for the wallet, masterchain.info-style server, and obelisk server: https://github.com/LDEngine/msc-webwalletThe bulk of the Distributed Exchange specific stuff will come later - but I wanted to keep the project on people's radar.
|
|
|
|
Loozik
Sr. Member
Offline
Activity: 378
Merit: 250
Born to chew bubble gum and kick ass
|
|
January 22, 2014, 04:49:04 PM |
|
|
|
|
|
Tachikoma
|
|
January 22, 2014, 05:26:36 PM |
|
Hey guys, First off; let me start by saying I'm a little annoyed with the fact that some people are writing down every post or comment on Github they ever did since the start of the bounty. The question was to summarise your work so it can easily be digested by the other participants. I am not going to open every link or read every comment you wrote somewhere on the forums and I highly doubt the value of these contributions. It almost seems like some of you want to inflate the amount of actual work done. I understand that me publicly saying this might decrease my own chances but I think it's only fair I speak my mind. Also please note that none of the Simple Send consensus work was part of this Bounty, if I mention it it's purely informational.I will outline everything I've done in very broad lines, there won't be any links to communication I had via pm/skype/hangouts or anything else. Mastercoin Explorer
Screenshot
| | Main features
Not related to the bounty
Testing Mastercoin-explorer comes with a full rSpec based test suites that automatically tests various different outcomes for parsing Mastercoin transactions.
Where
| Mastercoin Wallet
Screenshot
| | Main features
- Can now display DEx order book.
- Supports all creation and broadcasting of all DEx related messages.
Not related to the bounty
- There is an automatic installer script that can now install the client with one command on Debian/Ubuntu and Fedora/Redhat.
Where
| Mastercoin Ruby Mastercoin-ruby is the encode/decode lookup layer that can lookup transactions. Support for decoding/encoding of DEx messages is now supported in this library. This library also comes with accompanying rSpec suite. $ bin/mastercoin_transaction lookup 8dc0568fbc0cd75cb27c669ff3264ca0f1f13509def3b7ae2f1d175110e5b82b D, [2014-01-22T17:59:58.146204 #5396] DEBUG -- : Transaction type: 20 D, [2014-01-22T17:59:58.146479 #5396] DEBUG -- : Selling offer found Selling Offer from 16rAwebBXhJAM9ALf3fLFbaHKz24r2o3UN of 0.002 Test Mastercoin for 0.0002 Bitcoins. Time limit 5. BTC Fee 10000
Other Mastercoin protocol updatesNot related to the bounty
|
|
|
|
marvschneider
Newbie
Offline
Activity: 4
Merit: 0
|
|
January 22, 2014, 05:31:54 PM |
|
- I published https://github.com/marv-engine/QA/blob/master/MastercoinDistributedExchangeTestPlan.md which describes the strategic approach for Dist-Ex testing (rigorous, comprehensive, repeatable, defensible). I'm looking for feedback.
- I'm working on test requirements for each transaction type - the next level of detail, then test procs can be written for each candidate application.
- I'm working with Dom (& Nikos soon) on promoting MSC testing. I'm already in touch with a few people who want to test. Need to hear from devs when they have something ready for testing.
MSC Spec: - I submitted pull requests to improve & clarify updating/canceling a Sell Offer (tx=20). Wrestling this to closure.
- I've identified other transaction definitions that need to be clarified
Dev: - I'm working with Curtis, Faiz, Yuval on UI/UX for the web wallet
Other: - Suggested using smart properties for raffles, etc to Taariq & Dom. This could be used to generate interest in MSC from the user community at large - buy tickets with MSC, get MSC and/or MSC-derived tokens.
|
|
|
|
Bebopzzz
Newbie
Offline
Activity: 53
Merit: 0
|
|
January 22, 2014, 05:40:30 PM |
|
|
|
|
|
grazcoin
|
|
January 22, 2014, 05:58:04 PM |
|
Hey guys,
First off; let me start by saying I'm a little annoyed with the fact that some people are writing down every post or comment on Github they ever did since the start of the bounty.
If I am the cause for your steam - there was no intention to annoy you. If I did, than I am sorry. I just took literally J.R. words saying to collect the tasks from the forums. I am sure the main developers do not need this summary anyway, as we all know what the others were working on. Such a detailed summary is good for people who do not follow the forums to see the list of the subjects that were on the table during that period. If someone wants to go over on all your posts, he can visit https://bitcointalk.org/index.php?action=profile;u=13172;sa=showPosts or the github. We all know that you work very well and this does not decrease your chances for a high bounty.
|
|
|
|
azmenthe
Newbie
Offline
Activity: 1
Merit: 0
|
|
January 22, 2014, 07:13:41 PM |
|
Faiz brought me on to help out with this web wallet ( https://github.com/LDEngine/msc-webwallet/). I contributed to early API design which was unfortunately abandoned. I helped Faiz with the client side encryption/decryption of private keys using HTML5 local storage I have been testing various new features and assisting with debugging/improvement I have started a fork to move the web wallet to django for maintainability as opposed to python's basic HTTP server Additionally to grok grazcoin's mastercoin-tools ( https://github.com/grazcoin/mastercoin-tools) I forked it and have started to write unit tests.
|
|
|
|
dacoinminster (OP)
Legendary
Offline
Activity: 1260
Merit: 1031
Rational Exuberance
|
|
January 22, 2014, 08:54:45 PM |
|
I'd prefer that everyone err on the side of reporting as much information as possible. However, I will be relying pretty heavily on your mutual evaluation of each other, so as long as you are confident that the other devs know what you contributed, under-reporting will (hopefully) not hurt you I think I mentioned last bounty that this is the stage where feelings get hurt very easily. Please try to keep that in mind, and recognize that EVERYONE will probably feel a bit cheated by the final numbers, since we all tend to over-inflate the value of our own contributions since that is what we know best. I think I've seen reports from the owners of the four major existing implementations now. I'm sure there are a few more of you who qualify for some of this money. Please get your reports in today. Thanks!
|
|
|
|
aTriz
|
|
January 22, 2014, 11:28:42 PM |
|
Summary of Work (TESTING)
- Tested MyMastercoins thin client wallet MMW with Bitoy - Went back and forth with Bitoy and assisted in debugging with the install of the wallet on windows (have multiple PM's with him if needed and posts throughout the thread) - Tested with the MMW wallet: Send TMSC, (simple send) Sell TMSC Distributed Exchange, Buy TMSC Distributed Exchange - Testing on grazcoin's HybridWebWallet. - Debugging with other dev's to find errors with the HybridWebWallet. - All testing was used with my address:1LjT88X7Zu8BdbqJw8vfRa83NJuzYL9kqm
Congrats to all who have contributed to the project, this little bonus is well deserved (especially for the devs!)
|
|
|
|
mastream
Newbie
Offline
Activity: 10
Merit: 0
|
|
January 23, 2014, 03:37:29 AM |
|
alright, after purchasing some TMSC on the DEx yesterday, I tried creating then canceling (by posting a new offer with amount 0) a sell offer with the address 1B4dzdSTt8p1qfMba4MTPUvABDXDYTHT2S The result is as follows: On masterchain the amount of TMSC shown is correct. I see only the first offer, not the cancellation. I'm aware that they don't show up as canceled yet, but shouldn't I see both offers, or do you filter the ones with amount 0? on mymastercoin I see only the (correct) TMSC balance masterchest shows a TMSC balance of 0, although it shows the incoming transaction from yesterday's DEx buy. No sell offers are shown mastercoin-explorer shows both the correct balance, as well as both sell offers sell offer tx: https://blockchain.info/tx/a116be62025ad134f6e071605a577d3e5fb2c8d8e7a86068a520383b1c00b3e3sell offer cancel tx: https://blockchain.info/tx/d063437a4735b3fdb1f6d44af745257b193ce1acffe32b80457d502c5bc65635edit: @dacoinminster I just started participating a bit, been lurking mostly, so what you see here is all I did, lol
|
|
|
|
fthoughts
Newbie
Offline
Activity: 21
Merit: 0
|
|
January 23, 2014, 03:42:34 AM |
|
Faiz and I have been working with extending the existing webwallet that grazcoin and Grimentz have posted on masterchain.info. We've taken a crack at making a simple installer, and filled out installation instructions for the wallet, masterchain.info-style server, and obelisk server: https://github.com/LDEngine/msc-webwalletThe bulk of the Distributed Exchange specific stuff will come later - but I wanted to keep the project on people's radar. Faiz brought me on to help out with this web wallet ( https://github.com/LDEngine/msc-webwallet/). I contributed to early API design which was unfortunately abandoned. I helped Faiz with the client side encryption/decryption of private keys using HTML5 local storage I have been testing various new features and assisting with debugging/improvement I have started a fork to move the web wallet to django for maintainability as opposed to python's basic HTTP server Additionally to grok grazcoin's mastercoin-tools ( https://github.com/grazcoin/mastercoin-tools) I forked it and have started to write unit tests. I think Curtis and Patrick have said it better but we're working on a limited/zero trust web wallet for Mastercoin users. Right now we have client-side encryption, storage, and signing soon to come, and aside from that I think Grazcoin and Grimentz have done great work on their implementation and have been really helpful in getting us up to speed (we're using their fork). The UI will be developed in parallel of Marv Schnieder and Yuval's feedback as well to maximize the user experience of using Mastercoin. It is still in progress but as this is a bounty on reported progress I think it might be good just to inform others of where we stand.
|
|
|
|
|