Bitcoin Forum
May 06, 2024, 07:34:20 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 ... 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 [61] 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 ... 214 »
1201  Alternate cryptocurrencies / Announcements (Altcoins) / Re: DNotes 2.0 - Bridging the Gap Between the Centralized and Decentralized World on: March 01, 2018, 12:11:36 AM
Found the issue -- it's a floating point bug in GetBlockValue()


Thanks flound1129! That is correct, some blocks like 2103797 reward 20.36265624 rather than (25*math.pow(0.95,4)) 20.36265625. The mystery remains, why your node rejects it and all the others seem fine with it.


Hey, Dnote folks, I was mining at multipool.us when Dnote 'had problems'.   I'm currently out over 250 Dnote, but some are out THOUSANDS and THOUSANDS.
flound1129 found the problem (PAY THIS GUY!), so why can't Dnote reimburse us by making our Dnotes valid -- instead of us miners losing, what?  70,000 Dnotes or more?    

Come on, make this right.  If a bug caused all of us to lose 70K coins, why should we ever mine Dnote again -- knowing that a bug could pop up and screw us out of days and weeks of mining?    There are ALOT of pissed-off miners right now -- because of a developer software bug. I know, bugs happen. But please, own up to it and do the right thing for the miners who make the coins.

Just sayin ...

Not to worry cornercafe, we are working on figuring that out right now, so the miners can get the DNotes they thought they were mining. We don't want the miners to suffer as a result.
1202  Alternate cryptocurrencies / Announcements (Altcoins) / Re: DNotes 2.0 - Bridging the Gap Between the Centralized and Decentralized World on: February 28, 2018, 10:43:21 PM
Found the issue -- it's a floating point bug in GetBlockValue()


Thanks flound1129! That is correct, some blocks like 2103797 reward 20.36265624 rather than (25*math.pow(0.95,4)) 20.36265625. The mystery remains, why your node rejects it and all the others seem fine with it.

It's not really a mystery, pow(0.95,4)*25 at https://github.com/DNotesCoin/DNotes/blob/master/src/main.cpp#L851-L853 evaluates to 20.362656249999997 on my system, which evaluates to False in the comparison at https://github.com/DNotesCoin/DNotes/blob/master/src/main.cpp#L1431 when the coinbase transaction vtx[0].getValueOut() == 20.36265625 and thus the block is considered invalid.

Minor correction, since nSubsidy starts out as an int64, the math should be pow(0.95,4)*2500000000 == 2036265624.9999998, which is being cast back to an int64 type at https://github.com/DNotesCoin/DNotes/blob/master/src/main.cpp#L853

Expected behavior when casting a floating point value to an int is that the number is truncated (not rounded).  See https://stackoverflow.com/questions/9695329/c-how-to-round-a-double-to-an-int

Patching main.cpp in the following manner (assuming rounding is the desired behavior) appears to fix the issue:

Code:
diff --git a/src/main.cpp b/src/main.cpp
index 4773964..48d7b3c 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -850,7 +850,7 @@ int64 static GetBlockValue(int nHeight, int64 nFees)
        {
                int yearsElapsed = nHeight / 525949;
                double nReductionPercentage = pow(0.95,yearsElapsed);
-               nSubsidy = nSubsidy * nReductionPercentage;
+               nSubsidy = (int64) ((nSubsidy * nReductionPercentage)+0.5);
        }
     return nSubsidy + nFees;
 }


Appreciate it flound1129! There was 8 or so blocks that reported 20.36265624 reward after the reward change, all of the rest have been 20.36265625, and at the point where it was 20.36265625 is the block your node started rejecting blocks. There have been no other reports of incident since, so I assume the problem is isolated to your specific setup, or as for on the network your machine. The problem is to make changes to the block reward would require forking the network, which creates an even bigger problem and across the entire network. I'll have to check, but I don't believe this can be changed just on your side without impacting the rest of the network.

This doesn't change the block reward, it fixes the truncation.  Adding 0.5 is the recommended way to do this in c++.

Again, see https://stackoverflow.com/questions/9695329/c-how-to-round-a-double-to-an-int

nSubsidy is in satoshis.

I don't know whether this will result in the correct behavior across all platforms, so you should probably pass it to your devs and/or do some quick testing to make sure the returned number is still correct on your systems.

I'd also be happy with an official fix from the DNotes team.

Correct, I understand the fix. I just need to know if changing the block reward rule in this manner requires a network fork or not. Either way, I'll find out.

Edit: I will be meeting with one my developers tomorrow. It may be that we don't have to worry about different calculations across the network short term, and just recompiling on your rig with the change will get you back up and running, so your rig comes to the same conclusion as the rest of the network and everything continues as normal. Will let you know.
1203  Alternate cryptocurrencies / Announcements (Altcoins) / Re: DNotes 2.0 - Bridging the Gap Between the Centralized and Decentralized World on: February 28, 2018, 08:09:50 PM
Found the issue -- it's a floating point bug in GetBlockValue()


Thanks flound1129! That is correct, some blocks like 2103797 reward 20.36265624 rather than (25*math.pow(0.95,4)) 20.36265625. The mystery remains, why your node rejects it and all the others seem fine with it.

It's not really a mystery, pow(0.95,4)*25 at https://github.com/DNotesCoin/DNotes/blob/master/src/main.cpp#L851-L853 evaluates to 20.362656249999997 on my system, which evaluates to False in the comparison at https://github.com/DNotesCoin/DNotes/blob/master/src/main.cpp#L1431 when the coinbase transaction vtx[0].getValueOut() == 20.36265625 and thus the block is considered invalid.

Minor correction, since nSubsidy starts out as an int64, the math should be pow(0.95,4)*2500000000 == 2036265624.9999998, which is being cast back to an int64 type at https://github.com/DNotesCoin/DNotes/blob/master/src/main.cpp#L853

Expected behavior when casting a floating point value to an int is that the number is truncated (not rounded).  See https://stackoverflow.com/questions/9695329/c-how-to-round-a-double-to-an-int

Patching main.cpp in the following manner (assuming rounding is the desired behavior) appears to fix the issue:

Code:
diff --git a/src/main.cpp b/src/main.cpp
index 4773964..48d7b3c 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -850,7 +850,7 @@ int64 static GetBlockValue(int nHeight, int64 nFees)
        {
                int yearsElapsed = nHeight / 525949;
                double nReductionPercentage = pow(0.95,yearsElapsed);
-               nSubsidy = nSubsidy * nReductionPercentage;
+               nSubsidy = (int64) ((nSubsidy * nReductionPercentage)+0.5);
        }
     return nSubsidy + nFees;
 }


Appreciate it flound1129! There was 8 or so blocks that reported 20.36265624 reward after the reward change, all of the rest have been 20.36265625, and at the point where it was 20.36265625 is the block your node started rejecting blocks. There have been no other reports of incident since, so I assume the problem is isolated to your specific setup, or as for on the network your machine. The problem is to make changes to the block reward would require forking the network, which creates an even bigger problem and across the entire network. I'll have to check, but I don't believe this can be changed just on your side without impacting the rest of the network.
1204  Alternate cryptocurrencies / Announcements (Altcoins) / Re: DNotes 2.0 - Bridging the Gap Between the Centralized and Decentralized World on: February 28, 2018, 05:59:46 PM
Found the issue -- it's a floating point bug in GetBlockValue()
  These are my favorite posts in support case type communiques. The one where the solution has been found.

And to follow up on a post above, how are things progressing towards the 2.0 launch overall? Quick shareholder, top-level summary por favor?

We are on track for having the wallet with invoicing and CRISP integrated for mid March. The actual launch date is TBA.

I had a great meeting with the Geneca's team this afternoon. Though the main discussion was about an objective review of our ecosystems and their effectiveness in achieving our overall missions in pursuit of our vision to gain mass adoption of DNotes, we also discussed about DNotes 2.0 launch. We are confident that our phase one and phase two delivery of the wallet with invoicing and CRISP integrated will be in Beta testing stage by March 18, 2018. The launch date will be announced as soon as both teams mutually agreed that the product has been rigorously tested. There is a high level of confidence that the launch date will take place in early April, 2018.

I have a lot of respect for Geneca. We are very fortunate to have an immensely capable team that aligns so well with our business philosophies and commitment to always strive to be best in class. At times, it takes a little longer and cost more. At the end, we always do what is best for DNotes.

Three of Geneca's project managers from their "Experience Team" were assigned to go over everything that we have done for DNotes over the last four years. On the second day, one of them commented that it would take "four years" to read all the contents we have created. They are extremely impressed but also make some great recommendations.






One of the recommendations Geneca proposed was changing the main headline and sub headline:
BRIDGING THE GAP BETWEEN THE CENTRALIZED AND DECENTRALIZED.
Enabling peer to peer transfer of digital assets around the globe.

To something that is easier to understand regardless of the experience and knowledge of the user. If anyone has any recommendations, it would be appreciated.
1205  Alternate cryptocurrencies / Announcements (Altcoins) / Re: DNotes 2.0 - Bridging the Gap Between the Centralized and Decentralized World on: February 28, 2018, 04:09:16 PM
Another question -- how are you planning for people to redeem coins in 2.0?  Will they simply load their existing DNotes wallets into the new client or is there some kind of transaction or swap that will take place?

It will be a 1:1 swap. DNotesVault is the recommended place to store your coins for participating in the swap without any further action, but there will be a manual process in place as well for those who don't use the DNotesVault.

How will people send their coins into the vault after PoW ends?


We will keep both networks running until the specified deadline to ensure there is plenty of time to participate. Any later comers can be handled on a case by case basis.

To elaborate a little on how the process will look.

The block reward will continue until the specified deadline, and all DNotes generated until then can be swapped. Beyond the deadline, we will create a fork with no reward, effectively creating a snapshot of the blockchain up to that point that we may maintain.
1206  Alternate cryptocurrencies / Announcements (Altcoins) / Re: DNotes 2.0 - Bridging the Gap Between the Centralized and Decentralized World on: February 28, 2018, 03:26:35 PM
Another question -- how are you planning for people to redeem coins in 2.0?  Will they simply load their existing DNotes wallets into the new client or is there some kind of transaction or swap that will take place?

It will be a 1:1 swap. DNotesVault is the recommended place to store your coins for participating in the swap without any further action, but there will be a manual process in place as well for those who don't use the DNotesVault.

How will people send their coins into the vault after PoW ends?


We will keep both networks running until the specified deadline to ensure there is plenty of time to participate. Any later comers can be handled on a case by case basis.
1207  Alternate cryptocurrencies / Announcements (Altcoins) / Re: DNotes 2.0 - Bridging the Gap Between the Centralized and Decentralized World on: February 28, 2018, 06:14:47 AM
Another question -- how are you planning for people to redeem coins in 2.0?  Will they simply load their existing DNotes wallets into the new client or is there some kind of transaction or swap that will take place?

It will be a 1:1 swap. DNotesVault is the recommended place to store your coins for participating in the swap without any further action, but there will be a manual process in place as well for those who don't use the DNotesVault.
1208  Alternate cryptocurrencies / Announcements (Altcoins) / Re: DNotes 2.0 - Bridging the Gap Between the Centralized and Decentralized World on: February 28, 2018, 06:12:46 AM
BTW, after patching that bug I am having another issue with block 2112868:

received block f92754272d97decab8f9
Difficulty Retarget - Gravity Well
PastRateAdjustmentRatio = 1.03675
Before: 1b6e0383 00000000006e0383000000000000000000000000000000000000000000000000
After: 1b6e041c 00000000006e041c54ba374cbaf4bff21d62b9cf6d6c186d49d80f66e461ae64
ERROR: FetchInputs() : 55e029f6c8 prev tx cd8c9bac39 index entry not found
InvalidChainFound: invalid block=f92754272d97decab8f9  height=2112868  work=1479669443777755434  date=02/27/18 23:13:05
InvalidChainFound:  current best=b5b2df16b6a852dc161a  height=2112867  work=1479666885287689994  date=02/27/18 23:10:39
ERROR: SetBestChain() : SetBestChainInner failed
ERROR: AcceptBlock() : AddToBlockIndex failed
ERROR: ProcessBlock() : AcceptBlock FAILED
received block c884546d406238eba489
Difficulty Retarget - Gravity Well
PastRateAdjustmentRatio = 1.03705
Before: 1b6e041c 00000000006e041c000000000000000000000000000000000000000000000000
After: 1b6dff50 00000000006dff50f9642ef50b6e7663ec33fe75a457dbe53e0fd8accd7b48ab
Postponing 1 reconnects



Glad to hear you got past it. So it's saying it didn't find the tx inputs (which are there https://chainz.cryptoid.info/note/tx.dws?cd8c9bac39f87eb87bdc16bd9c70256ae75ac26b9e15e326d30578768bd9980f.htm)?
Did it halt updating here? If so, close and restart or reindex?
1209  Alternate cryptocurrencies / Announcements (Altcoins) / Re: DNotes 2.0 - Bridging the Gap Between the Centralized and Decentralized World on: February 28, 2018, 02:47:29 AM
is there any way to earn dnotes without mining or buying? maybe a site with little jobs or something else? i like the project, but i have no the financial reserve to buy me coins. so i search ways to earn coins or token. the dnote community offer this option for people like me?

Welcome sabine80! Please feel free to email me at contact@dnotescoin.com and we can discuss further.
1210  Alternate cryptocurrencies / Announcements (Altcoins) / Re: DNotes 2.0 - Bridging the Gap Between the Centralized and Decentralized World on: February 28, 2018, 02:45:48 AM
Found the issue -- it's a floating point bug in GetBlockValue()
  These are my favorite posts in support case type communiques. The one where the solution has been found.

And to follow up on a post above, how are things progressing towards the 2.0 launch overall? Quick shareholder, top-level summary por favor?

We are on track for having the wallet with invoicing and CRISP integrated for mid March. The actual launch date is TBA.
1211  Alternate cryptocurrencies / Announcements (Altcoins) / Re: DNotes 2.0 - Bridging the Gap Between the Centralized and Decentralized World on: February 28, 2018, 02:39:28 AM
Found the issue -- it's a floating point bug in GetBlockValue()


Thanks flound1129! That is correct, some blocks like 2103797 reward 20.36265624 rather than (25*math.pow(0.95,4)) 20.36265625. The mystery remains, why your node rejects it and all the others seem fine with it.
1212  Alternate cryptocurrencies / Announcements (Altcoins) / Re: DNotes 2.0 - Bridging the Gap Between the Centralized and Decentralized World on: February 27, 2018, 08:54:58 PM
Still not getting past 2103808.  This is 3rd try of deleting the entire .DNotes directory other than DNotes.conf.

debug.log has the following for every block after 2103808.



Let me see if I can replicate the issue on my end. Checkpoints updated as well if you want to rebuild and try again. In the meantime, would you mind emailing me your full debug.log at contact@dnotescoin.com?

So far, I have been unable to replicate the issue, reset and downloaded from the beginning and it updated fine. The logs do not indicate any issues rebuilding the blockchain. As far as I can tell, everything else on the network seems to be running fine. I can upload the data files, and you may be able to send them to your server.

full log from 3rd erase/resync WITH updated checkpoints:  

again stuck at 2103808

OS is Debian 9.2 with libboost 1.62

You might want to look at block 2103809 and think about why some nodes might think this block is invalid.

Right, I was looking at the same:
https://chainz.cryptoid.info/note/block.dws?5f6005b9bcb8b85afc122b5e20ce89c4cdb9619db6458736237fe616147daf84.htm

Followed the hashes in both directions about 20 blocks, and the data available. I'm not seeing a problem.

I will PM you the data files, if you want to go that route.

I use a couple different variations of ubuntu, so I don't think Debian would make a difference. I can't see how os would make a difference unless it couldn't compile properly.
1213  Alternate cryptocurrencies / Announcements (Altcoins) / Re: DNotes 2.0 - Bridging the Gap Between the Centralized and Decentralized World on: February 27, 2018, 04:30:00 PM
Hi, everybody , it's been a long time since i put some bucks on Dnotes...

Just create my account right now on bitcointalk, because, i'm  bored, to see dnotes publishing stuffs on every crypto news... but always almost nothing about dnotes...
What's the point ? for most of us, or people interested in crypto world..

whaouuu bitcoin hits 10 000 $ , whaouuu bitcoin hits 15 000 $ , whaou bitcoin back under 10000 $ , etc, etc...

We all already know that... i think..


But what about Dnotes ?
When Dnotes will be available on other exchanges ?
When wallet 2.0 will really be available ?
When will you have some  (good) news for us ?

Just wondering...


(sorry for my english , if i made some mistakes.... i'm not very fluent ; )

Cheers

Hi karayo, we are preparing for the launch of DNotes 2.0 mid March and the wallet is on track with invoicing and CRISP included. Once 2.0 is released we intend to make a push to get listed on additional exchanges and have been reaching out and getting in contact with a few.
1214  Alternate cryptocurrencies / Announcements (Altcoins) / Re: DNotes 2.0 - Bridging the Gap Between the Centralized and Decentralized World on: February 27, 2018, 03:12:39 PM
Still not getting past 2103808.  This is 3rd try of deleting the entire .DNotes directory other than DNotes.conf.

debug.log has the following for every block after 2103808.



Let me see if I can replicate the issue on my end. Checkpoints updated as well if you want to rebuild and try again. In the meantime, would you mind emailing me your full debug.log at contact@dnotescoin.com?

So far, I have been unable to replicate the issue, reset and downloaded from the beginning and it updated fine. The logs do not indicate any issues rebuilding the blockchain. As far as I can tell, everything else on the network seems to be running fine. I can upload the data files, and you may be able to send them to your server.
1215  Alternate cryptocurrencies / Announcements (Altcoins) / Re: DNotes 2.0 - Bridging the Gap Between the Centralized and Decentralized World on: February 27, 2018, 03:11:27 AM
Still not getting past 2103808.  This is 3rd try of deleting the entire .DNotes directory other than DNotes.conf.

debug.log has the following for every block after 2103808.



Let me see if I can replicate the issue on my end. Checkpoints updated as well if you want to rebuild and try again. In the meantime, would you mind emailing me your full debug.log at contact@dnotescoin.com?
1216  Alternate cryptocurrencies / Announcements (Altcoins) / Re: DNotes 2.0 - Bridging the Gap Between the Centralized and Decentralized World on: February 26, 2018, 07:24:33 PM
I'm on version 1020000 and so are all my peers.  I already had several of the addnodes you listed.

I'm running the latest code from //github.com/DNotesCoin/DNotes.git

$ DNotesd getpeerinfo|grep ver
        "version" : 1020000,
        "subver" : "/DNotes:1.2.0/",
        "version" : 1020000,
        "subver" : "/DNotes:1.2.0/",
        "version" : 1020000,
        "subver" : "/DNotes:1.2.0/",
        "version" : 1020000,
        "subver" : "/DNotes:1.2.0/",
        "version" : 1020000,
        "subver" : "/DNotes:1.2.0/",
        "version" : 1020000,
        "subver" : "/DNotes:1.2.0/",
        "version" : 1020000,
        "subver" : "/DNotes:1.2.0/",



Good, I would recommend reset and re-download the blockchain.

Yes, as I said I have already done that.   There is obviously a group of forked nodes out there so it would be great if you could update checkpoints.cpp.

Also, why is DNotesd missing so many RPC calls?  You're missing getchaintips, getcheckpoint, and several other useful ones.

I will update checkpoints today. That is possible, but the network should ban bad nodes.

We don't plan on adding any RPC calls, we are working on our DNotes 2.0 release, coming in about a month.

Is 2.0 going to be a rebase on a more recent bitcoin/litecoin or is it compleltely new code?

It will be POS and based on stratis.
1217  Alternate cryptocurrencies / Announcements (Altcoins) / Re: DNotes 2.0 - Bridging the Gap Between the Centralized and Decentralized World on: February 26, 2018, 06:12:13 PM
I'm on version 1020000 and so are all my peers.  I already had several of the addnodes you listed.

I'm running the latest code from //github.com/DNotesCoin/DNotes.git

$ DNotesd getpeerinfo|grep ver
        "version" : 1020000,
        "subver" : "/DNotes:1.2.0/",
        "version" : 1020000,
        "subver" : "/DNotes:1.2.0/",
        "version" : 1020000,
        "subver" : "/DNotes:1.2.0/",
        "version" : 1020000,
        "subver" : "/DNotes:1.2.0/",
        "version" : 1020000,
        "subver" : "/DNotes:1.2.0/",
        "version" : 1020000,
        "subver" : "/DNotes:1.2.0/",
        "version" : 1020000,
        "subver" : "/DNotes:1.2.0/",



Good, I would recommend reset and re-download the blockchain.

Yes, as I said I have already done that.   There is obviously a group of forked nodes out there so it would be great if you could update checkpoints.cpp.

Also, why is DNotesd missing so many RPC calls?  You're missing getchaintips, getcheckpoint, and several other useful ones.

I will update checkpoints today. That is possible, but the network should ban bad nodes.

We don't plan on adding any RPC calls, we are working on our DNotes 2.0 release, coming in about a month.
1218  Alternate cryptocurrencies / Announcements (Altcoins) / Re: DNotes 2.0 - Bridging the Gap Between the Centralized and Decentralized World on: February 26, 2018, 09:40:12 AM
I'm on version 1020000 and so are all my peers.  I already had several of the addnodes you listed.

I'm running the latest code from //github.com/DNotesCoin/DNotes.git

$ DNotesd getpeerinfo|grep ver
        "version" : 1020000,
        "subver" : "/DNotes:1.2.0/",
        "version" : 1020000,
        "subver" : "/DNotes:1.2.0/",
        "version" : 1020000,
        "subver" : "/DNotes:1.2.0/",
        "version" : 1020000,
        "subver" : "/DNotes:1.2.0/",
        "version" : 1020000,
        "subver" : "/DNotes:1.2.0/",
        "version" : 1020000,
        "subver" : "/DNotes:1.2.0/",
        "version" : 1020000,
        "subver" : "/DNotes:1.2.0/",



Good, I would recommend reset and re-download the blockchain.
1219  Alternate cryptocurrencies / Announcements (Altcoins) / Re: DNotes 2.0 - Bridging the Gap Between the Centralized and Decentralized World on: February 26, 2018, 04:37:42 AM
Hi, our DNotes wallets are currently forked and I am unable to get back on the same fork as the block explorer, even starting with a brand new DNotes installation removing peers.dat, wallet.dat, etc.

Block explorer currently shows latest block to be 2110200, however we are unable to sync past 2103808.

Client displays error: "WARNING: Displayed transactions may not be correct!  You may need to upgrade, or other nodes may need to upgrade."

Please advise.


Hi flound1129,

What version is your wallet/daemon reporting?

V1.2 or 1020000?

Currently all of my nodes are reporting last block is:
2110213

None of them are reporting that message.

If you or someone you are connected to is running the wrong version, or mining the wrong version, you would get that message. Or somehow you just got stuck.

Edit: If you are running the correct version from our github:
https://github.com/DNotesCoin/DNotes

I would recommend reset and redownload your blockchain. Close the client, rename/remove the blk0001.dat & blkindex.dat, restart the client.
Also, make sure your DNotes.conf includes:
addnode=n6.dnotescoin.com
addnode=n7.dnotescoin.com
addnode=n4.dnotescoin.com
addnode=n5.dnotescoin.com
addnode=128.199.239.199
addnode=95.85.44.200
addnode=162.243.225.90
addnode=104.236.53.154
addnode=46.101.166.193
1220  Alternate cryptocurrencies / Announcements (Altcoins) / Re: DNotes 2.0 - Bridging the Gap Between the Centralized and Decentralized World on: February 25, 2018, 05:41:35 PM



Pages: « 1 ... 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 [61] 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 ... 214 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!