Question to all devs working on creating a distributed exchange: in your opinion, what's a realistic timeframe for a decentralized MSC <> BTC exchange? 1 week? 2 weeks? 1 month?
Together with Pouncer I'm running the Mastercoin
order book. Adding and editing entries is done manually and takes quite a lot of time.
So I was thinking about setting up a self-service order book where people could add, edit and remove orders on their own. This would be done by signing messages with their Mastercoin addresses so there would be no fake orders (balance of addresses can be easily checked using the Mastercoin-explorer API).
Creating such an improved order book would take some time and effort and I'm wondering if it makes sense to do this at this point in time. If we have a working decentralized exchange within a week or two it might be better to continue with the current order book. But if we're talking about a month then I guess it would make sense to invest time in an improved order book. After all, Mastercoin trades are really booming right now.
So what's your estimates, when will we see a decentralized MSC <> BTC exchange?
I think I need to implement two more validation cases, mainly around reserved balances, and then it should be done on my part. However this is where the fun starts. We will need to do a whole lot of testing to make sure we got all the edge cases. I think the best way is to start trading for real and see what happens. We should have three sites online very soon that will be able to parse the transactions so we can check if we all have the same idea.
I think the ultimate question will actually be; when will the Mastercoin users trust the MSC <> BTC exchange protocol enough to actively choose this over doing everything by hand. I'm afraid this might be still a long way out. Technically you could use it right now.
Actually, no. 8932.02057119
I've run some test cases and I can get your number - same as before mate, you're using 9 decimal places in your dev MSC total.
In this part of your formula
you are effectively multiplying by 56316.22357622
2 - note the additional decimal. You can fix your code by changing:
(1-(0.5**time_difference)) * 0.1 * 563_162.23576222
to either of:
(1-(0.5**time_difference)) * 56316.22357622
(1-(0.5**time_difference)) * (0.1 * 563_162.23576222).round(8)
I've been hammered with the day job this last week but I can see there is some stuff I need to catch up on the main thread (eg Luke's patch). I'm determined to get the Masterchest update out today, at least to the website - once I've got that finished I'll catch up on what's been happening.
Thanks!
See this is what I currently hate about doing all the MSC stuff. I'm currently switching between projects (wallet, site, validation site, library) and I often forget I was doing something else before switching energy. It's just too much stuff to do. I modified it and I now get the proper amount. Although if we want to do it totally correct we should round the last digit up so in theory it should be 8932.02250395 instead of 8932.02250394. If we can agree on this I can finally consider vesting to be perfect
Speaking of which - Tachikoma, I'm keen to identify why our orderbook states don't match. I've taken a quick look at Bitoy's site and his orderbook state looks like mine - I'll look into each
I need to do a fresh import & validation on the Purchase Offer code. These transactions were verified using older code an I need to recheck them. It is probably fixed by now but I need to look into it when I can find enough time to do something useful. I'm still having huge issues getting proper block numbers from Bitcoin-ruby which is really a time sink at the moment, once I fix that I can move on