Hey Grazcoin, You'll need to look at your multi-packet handling. From your de-obfuscated packet It looks like you're SHA hashing the second packet only once. You'll need to hash seqnum times (so in this case 2). In terms of a 'definition' for Class B I think the closest thing we have at the mo is my suggested amendment hereHope that helps ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Grazcoin, You might want to try convert the first hash to uppercase letters before hashing it again. hashString1 = the first hash string ex Dim HashString2 As String = GetHash(hashString1.ToUpper) This worked for me.
|
|
|
Hi Tachikoma
Buyer 1EdAjiApS5cCpHdH4RKPMab1xmMVRWjLvk posted a Buy 20 Test MSC for .00002 TxID: 33644e6f24b29e1ef170d78ff04eab6f7e19368908edc6d477f9902697a71d67
But there is no confirmed payment transaction.
When buyer posted a sell Transaction (.11 and .9 Test MSC) it is invalid because there was no payment yet for the first transaction.
After reparsing I only found one valid purchase
Buy .2 Test MSC for .003232 BTC TxID: c7103de53a8ea3a20cec9a74543132f98302f75ab1868092e911dd5516f322a5 Confirm Payment TxID: 2bb54346f7d0ddfcb084451227089665bc1a7ebf8f0a9338d14d713592c268ed
|
|
|
Console.WriteLine((1 - (0.5 ^ ((1383212745 - 1377993600) / 31557600))) * 56316.23576222) 6099.57209816932
Sorry should have addressed this to Zathras =) DateDiff(DateInterval.Second, #1/1/1970#, #9/1/2013#) = 1377993600 Correct. DateDiff(DateInterval.Second, #1/1/1970#, #10/01/2013 10:45:45#) = 1380624345 Not the same with your result. =1383212745 How did you get 1383212745 ?
|
|
|
That's correct, a payment to Exodus is required when sending the BTC payment (though it doesn't necessarily have to be 0.00006, anything >dust is fine). There have been some trades already done (see for example 18xEZx3po1iJWP5H2aM3Do11dCGQyaebnT) that appear to be valid ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) 3 Payment transaction confirmed =) http://mymastercoins.com/Orders.aspx?CurrencyID=2
|
|
|
It maybe a rounding off issue Zathras * 56316.23576222 Tachikoma *.01 * 563162.23576222 Zathras /31557600 Tachikoma / 60 / 60 / 24 / 365.25 Also What is "+0100" in the time 2013-10-31 10:45:45 +0100 Not sure what changed but I ran the code again now and got a different answer somehow. It's still not a 100% match though. 1.9.3-p286 :002 > tx_date = Time.parse("2013-10-31 10:45:45 +0100") => 2013-10-31 10:45:45 +0100 1.9.3-p286 :003 > time_difference = (tx_date - Mastercoin::END_TIME) / 60 / 60 / 24 / 365.25 => 0.1653847250741501 1.9.3-p286 :004 > exodus_vesting = (1-(0.5**time_difference)) * 0.1 * 563_162.23576222 => 6099.570778312406
|
|
|
I've expanded out the numbers for clarity: Console.WriteLine((1 - (0.5 ^ ((1383212745 - 1377993600) / 31557600))) * 56316.23576222) 6099.57209816932
For my implementation of the distributed exchange it'll be a few more days before I open up the wallet for testing and push the new engine up to Masterchest as I still have some areas to fix up from the changes (had to change the way I handled transactions) but I'll start putting some of my tests in the blockchain soon and see how my stuff interops with the stuff you guys have already done ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) "waiting for payment" means it hasn't seen a payment made by the buyer to the seller for the purchase transaction.
The way I understand it is the buyer has to send a btc payment direct to the sellers address and .00006 btc to the exodus address (one transaction 2 sends) before the test msc is transferred.
That's correct, a payment to Exodus is required when sending the BTC payment (though it doesn't necessarily have to be 0.00006, anything >dust is fine). There have been some trades already done (see for example 18xEZx3po1iJWP5H2aM3Do11dCGQyaebnT) that appear to be valid ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Your calculations for msc dev coins looks correct to me. 18xEZx3po1iJWP5H2aM3Do11dCGQyaebnT paid 0.003232 in 2bb54346f7d0ddfcb084451227089665bc1a7ebf8f0a9338d14d713592c268ed But there is a transfer fee of .001. My implementation is expecting payment of .004232. Transfer fee paid by the buyer?http://mymastercoins.com/Orders.aspx?CurrencyID=2Ok got it the fee is 0.001 will fix the bug. https://blockchain.info/tx/2bb54346f7d0ddfcb084451227089665bc1a7ebf8f0a9338d14d713592c268ed
|
|
|
Here is my implementation of the Distributed Trade processing. http://mymastercoins.com/Orders.aspx?CurrencyID=2Some notes CFSID = Currency for Sale ID. Available = No of Test MSC left for sale. If BTCDesired = 0. Set all Available to 0 (for that Currency). Buying If AmounttoPurchase > Available AmountPurchased = Available Comments are very welcomed =) This is pretty nice. I notice that completed transactions all show as "Waiting for payment" The seller ID's with links are a cool touch - do the existing ID's reference anything specific? "waiting for payment" means it hasn't seen a payment made by the buyer to the seller for the purchase transaction. The way I understand it is the buyer has to send a btc payment direct to the sellers address and .00006 btc to the exodus address (one transaction 2 sends) before the test msc is transferred. Clicking sellers Id will redirect you to a link ex. http://mymastercoins.com/default.aspx?AID=998Click find Select test msc. You will see the buying and selling of that address. Will try to see if I can automate this ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif)
|
|
|
For the transaction above, is the btc payment( for the test btc) in the multi sig ?
|
|
|
Here is my implementation of the Distributed Trade processing. http://mymastercoins.com/Orders.aspx?CurrencyID=2Some notes CFSID = Currency for Sale ID. Available = No of Test MSC left for sale. If BTCDesired = 0. Set all Available to 0 (for that Currency). Buying If AmounttoPurchase > Available AmountPurchased = Available Comments are very welcomed =)
|
|
|
Thanks TKeenan. Btw I haven't turned on the transaction processing (data as of nov 4 only) because of debugging on distributed exchange. http://www.mymastercoins.com/Orders.aspx?CurrencyID=2MyMastercoins.com http://mymastercoins.com/Default.aspxshow MSC and test MSC balance per address transactions per address (checked with mastercoin-explorer,masterchest,masterchain) calculates and validates MSC dev coins vb.net sql server Awesome!!! Way to go. Very cool work.
|
|
|
MyMastercoins.com http://mymastercoins.com/Default.aspxshow MSC and test MSC balance per address transactions per address (checked with mastercoin-explorer,masterchest,masterchain) calculates and validates MSC dev coins vb.net sql server
|
|
|
The transaction "48d09647a8b233dbd2eecf16873bdcd99afa73ecbcd3c8b5ca39d79f0abfa1d5" is valid but there is no payment confirmation to the seller (13NRX88EZbS5q81x6XFrTECzrciPREo821). I was expecting a send to many transaction ie. 1. 13NRX88EZbS5q81x6XFrTECzrciPREo821 0.000101 Btc (Payment for 1 Test MSC coin) 2. Exodus Address .00006 btc Seller 13NRX88EZbS5q81x6XFrTECzrciPREo821
Currency for Sale #. Time, Amount 1. 11/2/2013 2:54:18 PM, 20 2. 11/2/2013 1:53:12 PM, 20 note: zero amount not valid 3. 10/28/2013 7:46:57 PM, 10 4. 10/28/2013 11:48:56 AM, 10 5. 10/25/2013 2:25:07 PM, 1
Accepted Time,Amount 11/2/2013 8:17:50 PM, 20 (Accepted 4@#3 16@#2 ) 11/2/2013 2:16:37 PM, 1 (Accepted 1@#3 ) 10/28/2013 9:50:50 PM, 10 (Accepted 7@#4 and 3@#3 ) 10/28/2013 4:15:23 PM, 2 (Accepted 2@#4) 10/28/2013 3:58:55 PM, 2 (Accepted 1@#5 and 1@#4)
|
|
|
I would like to make a suggestion
Regarding the time limit, Currently the timelimit is in # blocks. My suggestion is to set it to days so that user will know when his offer will expire.
Timelimit is not for the seller; it's for the person sending an Accept Offer message. When making a payment,Seller sends payment in BTC to Buyer Address and a dust amount (ex. 0.00007) to the exodus address.
This will make parsing of payments easier.
This is already in the spec. Yes the time limit is for the seller. What if the seller would like to place a time limit on his offer? Ie price is valid 7 days from now. Anyway it is just a thought. Thank you for your response. Is there already a transaction Id with a confirmed payment?
|
|
|
I would like to make a suggestion
Regarding the time limit, Currently the timelimit is in # blocks. My suggestion is to set it to days so that user will know when his offer will expire.
When making a payment,Seller sends payment in BTC to Buyer Address and a dust amount (ex. 0.00007) to the exodus address.
This will make parsing of payments easier.
|
|
|
Yeah, I think we should use the timestamp of the most recent bitcoin block, rather than the node's local clock.
I guess the full formula is actually (1-(0.5^y)) * 10% * total number of mastercoins bought at 1Exodus before the deadline
Could somebody confirm my vesting calculation is correct? Let's set the time to 2013-10-31 10:45:45 +0100 the output I get for the Exodus vesting is MSC 6103.51504811. Just a quick note on this one - I'm getting slightly different amounts, can you let me know what you're using for your fixed values? I'm using: * Seconds in a year: 31557600 * End of funding: 1377993600 * Total Reward Mastercoins: 56316.23576222 Using your example time (1383212745) I'm seeing 6099.57209817. I'm getting 6107.4878641923424 Seconds in a year: (60*60*24*365) 31536000 End of funding: 9/1/2013 Total Reward Mastercoins: 6107.4878641923424 My code is Dim Gencoins2 As Double = (1 - (0.5 ^ (DateDiff(DateInterval.Second, #9/1/2013#, #10/31/2013 10:45:45 AM#) / 31536000))) * 0.1 * 563162.36
|
|
|
Hi Tachikoma,
Please check 1GD6YyXnd7DKvfUKs22Fp3FSGuvK6n4F4j
the MSC balance is negative.
also 1HRE7U9XNPD8kJBCwm5Q1VAepz25GBXnVk Master-explorer balance 500
The balance in Masterchest is 0. Same as what I got in my server.
|
|
|
Hey Bitoy, For clarity ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) * Bonus/Early Adopter MSC were extra Mastercoins awarded to people based on how early they invested * Reward MSC are extra Mastercoins awarded to the Exodus address for additional development funding It looks like you're trying to calculate the Bonus/Early Adopter MSC amount. For this you can simply use my library using getmastercointx with the "generate" flag to see how many MSC were generated in a given transaction. Since you asked how it's computed I'm guessing your heading in your own direction though (which is also great ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) ) - I notice you're working in .NET too so here's a quick copy/paste on Masterchest's code for working out the bonus: Dim dif As Long = 1377993600 - tx.result.blocktime Dim bonus As Double = 0.1 * (dif / 604800) If bonus < 0 Then bonus = 0 'avoid negative bonus Dim totalmscexo As Double = exoamount * 100 * (1 + bonus) * 100000000
Thanks! ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Hi Zathras, I see. Thank you for for pointing out the difference and "Bonus" code! (Will double check the results with your website =) btw for the "Rewards MSC" how will this be implemented? Any simple send made by the Exodus address will be a valid generated MSC?
|
|
|
563,162.35762218 were purchased from the Exodus address, which created 56,316.23576222 reward MSC giving a total cap of 619,478.59338440 MSC. Thanks! ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Speaking of reward MSC. How is it computed? Example sent 5 btc on 8/31/2013 MSC = 5 x 100 = 500 Reward MSC is 500 * (8/31/2013 - 9/01/2013) / 7 * 10 % ? (I'm trying to build another mastercoin website, but my MSC reward calculations is wrong.)
|
|
|
Hi Zathras,
Thank you for pointing me to "scriptPubKey". Finally I was able to parse from the multi sig from the txhash =).
txhash: cca8984303daf2304845b72cfe3b797b391792db7fad28f38cb3d8cb3296908c
CLEAR TEXT: 010000000000000001000000002060ba100000000000000000000000000000 01: 1 (01) Trans Type: 0 (00000000) Currency ID: 1 (00000001) Amount to Send: 543210000 (000000002060ba10)
|
|
|
|