Bitcoin Forum
April 27, 2024, 05:39:00 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 ... 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 [804] 805 806 807 808 809 810 811 812 813 814 »
  Print  
Author Topic: [1500 TH] p2pool: Decentralized, DoS-resistant, Hop-Proof pool  (Read 2591625 times)
sawa
Legendary
*
Offline Offline

Activity: 1308
Merit: 1011



View Profile
December 29, 2017, 02:37:13 PM
Last edit: December 29, 2017, 03:01:44 PM by sawa
 #16061

For all miners, who mine on the DASH p2pool (not only on my nodes).
After updating the DASH wallets to version 0.12.2.2, the DASH network began to generate many orphans.
This can be seen on the graph: https://chainz.cryptoid.info/dash/orphans.dws
Almost 90% of the blocks found by the P2Pool are Orphans. I informed the developers of the DASH P2Pool
https://github.com/dashpay/p2pool-dash/issues/43

A similar message was received by the developers of the coin itself from the owner of another pool https://github.com/dashpay/dash/issues/1822

In both cases, the developers claim that everything is normal and there are no problems, we must wait until the network is stabilized.
So the miners have only 2 options: either to wait for the network to stabilize, or to go to other coins with the X11 algorithm.
If you stay on the DASH p2pool, then only at your own risk. I do not see a decline in the number of orphans in a couple of days.

1714196340
Hero Member
*
Offline Offline

Posts: 1714196340

View Profile Personal Message (Offline)

Ignore
1714196340
Reply with quote  #2

1714196340
Report to moderator
1714196340
Hero Member
*
Offline Offline

Posts: 1714196340

View Profile Personal Message (Offline)

Ignore
1714196340
Reply with quote  #2

1714196340
Report to moderator
1714196340
Hero Member
*
Offline Offline

Posts: 1714196340

View Profile Personal Message (Offline)

Ignore
1714196340
Reply with quote  #2

1714196340
Report to moderator
It is a common myth that Bitcoin is ruled by a majority of miners. This is not true. Bitcoin miners "vote" on the ordering of transactions, but that's all they do. They can't vote to change the network rules.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714196340
Hero Member
*
Offline Offline

Posts: 1714196340

View Profile Personal Message (Offline)

Ignore
1714196340
Reply with quote  #2

1714196340
Report to moderator
1714196340
Hero Member
*
Offline Offline

Posts: 1714196340

View Profile Personal Message (Offline)

Ignore
1714196340
Reply with quote  #2

1714196340
Report to moderator
1714196340
Hero Member
*
Offline Offline

Posts: 1714196340

View Profile Personal Message (Offline)

Ignore
1714196340
Reply with quote  #2

1714196340
Report to moderator
pwalker0863
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
December 29, 2017, 04:40:34 PM
 #16062

Stupid question:  Are we in a drought or are we just suffering from a lack of miners (with heavy iron)?
Kiefff
Newbie
*
Offline Offline

Activity: 32
Merit: 0


View Profile
December 29, 2017, 05:09:06 PM
 #16063

Stupid question:  Are we in a drought or are we just suffering from a lack of miners (with heavy iron)?

What coin / net are you on? I say Jtoomimnet looks strong compared to mainnet, for BTC mining. If you are on mainnet, I suggest just getting on Jtoomimnet now. I tell everyone about the two nets, but I push people to go with Jtoomimnet. They blocked not to long ago and seem to be in the 16day range of estimated block times, while mainnet is 93 days EST. I say, hop on the stronger network.

On the LTC p2pool side, we just hit 4 blocks so far today. Last week was one of the worst weeks Ive had mining LTC on p2pool in my 3 months time on the pool, but again it comes back around. When I first hopped on p2pool LTC, global hashrate was 20GH with 3 day block times. Today, we are between 200-300GH, with 14-20hr block times crushing it. The payouts just get better and better for miners the more hash p2pool gets. Its just peoples patients that will be tested, in the age of instant gratification. But more and more people keep staying on building trust in p2pool based off the payouts they receive, heh. More coders have joined us(p2pool), and now we have block announcements in our discord channel for p2pool LTC blocks. I know it could do it with mIRC, but most seem to favor discord now days. One guy even put together a more modern looking p2pool LTC node scanner. Jtoomim and any other coders or p2pool miners, you are always more than welcome to join us on the discord. Pm me if you want it, I don't want to break any rules here.

LTC p2pool node scanner http://mine.demon.nl/ltc-nodelist.html
He is tweaking it every day it seems.
pwalker0863
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
December 29, 2017, 05:19:33 PM
 #16064

Stupid question:  Are we in a drought or are we just suffering from a lack of miners (with heavy iron)?

What coin / net are you on? I say Jtoomimnet looks strong compared to mainnet. If you are on mainnet, I suggest just getting on Jtoomimnet now. I tell everyone about the two nets, but I push people to go with Jtoomimnet. They blocked not to long ago and seem to be in the 16day range of estimated block times, while mainnet is 93 days EST. I say, hop on the stronger network.


I'm sorry - Bitcoin.  Been mining off and on over the past several years as a node and I'm wondering if it's time to kick the wimpy S3s and S5's that I have to the curb and look at some of the other coinage out there...... 
Kiefff
Newbie
*
Offline Offline

Activity: 32
Merit: 0


View Profile
December 30, 2017, 04:15:35 AM
 #16065

I say if you can still submit shares, why not? Seems s7 owners are still mining away? Are you on mainnet or Jtoomimnet?
jtoomim
Hero Member
*****
Offline Offline

Activity: 818
Merit: 1006


View Profile WWW
December 30, 2017, 05:43:05 AM
Last edit: December 30, 2017, 07:46:28 AM by jtoomim
 #16066

Stupid question:  Are we in a drought or are we just suffering from a lack of miners (with heavy iron)?
Lack of big and medium miners, mostly.

Hosting bitcoin miners for $65 to $80/kW/month on clean, cheap hydro power.
http://Toom.im
tubexc
Hero Member
*****
Offline Offline

Activity: 496
Merit: 500


View Profile
December 30, 2017, 08:15:38 AM
 #16067

Can someone decipher what's happening on mainnet,
3 blocs, zero miners, luck sky high and payments zero?
sawa
Legendary
*
Offline Offline

Activity: 1308
Merit: 1011



View Profile
December 30, 2017, 12:06:12 PM
 #16068

For all miners, who mine on the DASH p2pool (not only on my nodes).
After updating the DASH wallets to version 0.12.2.2, the DASH network began to generate many orphans.
This can be seen on the graph: https://chainz.cryptoid.info/dash/orphans.dws
Almost 90% of the blocks found by the P2Pool are Orphans. I informed the developers of the DASH P2Pool
https://github.com/dashpay/p2pool-dash/issues/43

A similar message was received by the developers of the coin itself from the owner of another pool https://github.com/dashpay/dash/issues/1822

In both cases, the developers claim that everything is normal and there are no problems, we must wait until the network is stabilized.
So the miners have only 2 options: either to wait for the network to stabilize, or to go to other coins with the X11 algorithm.
If you stay on the DASH p2pool, then only at your own risk. I do not see a decline in the number of orphans in a couple of days.

The problem with orphans disappeared. You can mine further

mine4.com
Newbie
*
Offline Offline

Activity: 11
Merit: 0


View Profile
December 30, 2017, 12:12:46 PM
 #16069

Given current fees on the Bitcoin network, in order for donations to be spendable, you need to give more than the fee it would cost to spend it. Currently, that's about 500 sat/byte * 200 bytes = 0.001 BTC per user, minimum. Given how many users there are and the hashrate distribution, a donation smaller than about 0.1 BTC would end up mostly wasted on fees.

I've updated the script. It will now trigger when the account balance is at 0.1 BTC or higher, and pays out to 0.001 BTC.

http://www.mine4.com/#donate

James.
windpath
Legendary
*
Offline Offline

Activity: 1258
Merit: 1027


View Profile WWW
December 30, 2017, 06:50:42 PM
 #16070

Can someone decipher what's happening on mainnet,
3 blocs, zero miners, luck sky high and payments zero?

Looks like an error on my sites part, I’m traveling, will be able to investigate Tuesday...
notabeliever
Hero Member
*****
Offline Offline

Activity: 722
Merit: 504


View Profile
January 01, 2018, 06:58:52 AM
 #16071

Happy New Year!!

Block Found
tubexc
Hero Member
*****
Offline Offline

Activity: 496
Merit: 500


View Profile
January 01, 2018, 09:41:15 AM
 #16072

May this New year end this p2pool sharechain ambiguity
"There can be only one", Highlander 1986
Happy New year to all <Shocked)
nonnakip
Hero Member
*****
Offline Offline

Activity: 633
Merit: 591



View Profile
January 01, 2018, 09:45:13 AM
Last edit: January 01, 2018, 08:55:25 PM by frodocooper
 #16073

Can someone decipher what's happening on mainnet,
3 blocs, zero miners, luck sky high and payments zero?
Looks like an error on my sites part, I’m traveling, will be able to investigate Tuesday...

On https://nastyfans.org/p2pool a error was triggered also. I investigate and mainnet had invalid blocks posted. P2Pool thinks they are ok. Bitcoin-Core does not. Do we generate bad blocks or is there a rogue/broken node on mainnet?

From Bitcoin-Core log:

Code:
2017-12-30 07:21:06 ERROR: AcceptBlockHeader: Consensus::ContextualCheckBlockHeader: 00000000b9eec159ef734b9d09da67d293c41770899d515df9ed86562f079a90, bad-diffbits, incorrect proof of work (code 16)
2017-12-30 07:21:06 ERROR: ProcessNewBlock: AcceptBlock FAILED
2017-12-30 07:23:57 ERROR: AcceptBlockHeader: Consensus::ContextualCheckBlockHeader: 00000000781d4c5866a28907cd6c93872f4a64f14d105ce71559711b84c66298, bad-diffbits, incorrect proof of work (code 16)
2017-12-30 07:23:57 ERROR: ProcessNewBlock: AcceptBlock FAILED
2017-12-30 07:24:28 ERROR: AcceptBlockHeader: Consensus::ContextualCheckBlockHeader: 00000000ccc8cdc107c3d3c95d18434220ef682c3eb917cd2e60b0d0f4d16bb4, bad-diffbits, incorrect proof of work (code 16)
2017-12-30 07:24:28 ERROR: ProcessNewBlock: AcceptBlock FAILED
2017-12-31 07:04:56 ERROR: AcceptBlockHeader: Consensus::ContextualCheckBlockHeader: 00000000af1a26e2a50d98e0ae1a39584f1469fbdf3c499d86acfe48999b2c25, bad-diffbits, incorrect proof of work (code 16)
2017-12-31 07:04:56 ERROR: ProcessNewBlock: AcceptBlock FAILED
2017-12-31 07:04:56 ERROR: AcceptBlockHeader: Consensus::ContextualCheckBlockHeader: 0000000076c62944c76dde0d392e3b6579bbef22e1cda52a764ecec71d8533c3, bad-diffbits, incorrect proof of work (code 16)
2017-12-31 07:04:56 ERROR: ProcessNewBlock: AcceptBlock FAILED
2017-12-31 09:17:22 ERROR: AcceptBlockHeader: Consensus::ContextualCheckBlockHeader: 00000000cfdc22d96a26653110b108caeec2679ead88f4c1df4ed0a3d62002f0, bad-diffbits, incorrect proof of work (code 16)
2017-12-31 09:17:22 ERROR: ProcessNewBlock: AcceptBlock FAILED

From P2Pool log:

Code:
2017-12-30 07:21:03.375315 GOT BLOCK FROM PEER! Passing to bitcoind! 2f079a90 bitcoin: https://blockchain.info/block/00000000b9eec159ef734b9d09da67d293c41770899d515df9ed86562f079a90
2017-12-31 07:04:55.608788 GOT BLOCK FROM PEER! Passing to bitcoind! 999b2c25 bitcoin: https://blockchain.info/block/00000000af1a26e2a50d98e0ae1a39584f1469fbdf3c499d86acfe48999b2c25
2017-12-31 07:04:55.633524 GOT BLOCK FROM PEER! Passing to bitcoind! 1d8533c3 bitcoin: https://blockchain.info/block/0000000076c62944c76dde0d392e3b6579bbef22e1cda52a764ecec71d8533c3
2017-12-31 09:40:02.985778 GOT BLOCK FROM PEER! Passing to bitcoind! 5d3932d9 bitcoin: https://blockchain.info/block/0000000061942d8f2b87a8d86446b33bd51fe5269e7e3e7b0364c8f95d3932d9
2017-12-31 09:40:03.218905 GOT BLOCK FROM PEER! Passing to bitcoind! bd3baf5c bitcoin: https://blockchain.info/block/00000000316557cb49340b5cd004ee40a1199eb4f9bb754460f70084bd3baf5c
2017-12-31 09:40:03.449055 GOT BLOCK FROM PEER! Passing to bitcoind! 22bbf8ff bitcoin: https://blockchain.info/block/000000007048fe249d2170007db33b69fff2101258013dca7189b65122bbf8ff
2017-12-31 09:40:03.631120 GOT BLOCK FROM PEER! Passing to bitcoind! 3508c1a7 bitcoin: https://blockchain.info/block/00000000e78fab83c10fa9e7136b9597794ad8634adef5d91358838b3508c1a7
2017-12-31 09:40:03.805622 GOT BLOCK FROM PEER! Passing to bitcoind! e3d2f5b8 bitcoin: https://blockchain.info/block/000000009fc5eca2f539fafbb75fd4d35712079516742067aca714d9e3d2f5b8
2017-12-31 09:40:03.979986 GOT BLOCK FROM PEER! Passing to bitcoind! 427f00af bitcoin: https://blockchain.info/block/00000000de3a42fd06c52639d1fc6d69ee43e2f564ec908b0d6760e7427f00af
2017-12-31 09:40:04.149452 GOT BLOCK FROM PEER! Passing to bitcoind! 060fdd82 bitcoin: https://blockchain.info/block/000000002a22080acd1505437d5ad01ad3c1c37627fc7521c23b7c2a060fdd82
2017-12-31 09:40:04.312668 GOT BLOCK FROM PEER! Passing to bitcoind! 2d5fdc2a bitcoin: https://blockchain.info/block/0000000084a21ca0f7873bcb4714b7567d6e6b5673f26228a67dd8fb2d5fdc2a
2017-12-31 09:40:04.476168 GOT BLOCK FROM PEER! Passing to bitcoind! 3497ef28 bitcoin: https://blockchain.info/block/00000000ac1606e3d3f3ae2a085e228f797063309e11bdc3032e84963497ef28
2017-12-31 09:40:04.645000 GOT BLOCK FROM PEER! Passing to bitcoind! 5a27ddfc bitcoin: https://blockchain.info/block/000000006e07e593fda9bcc8007a03339b86492849c5381bfec4b3815a27ddfc
2017-12-31 09:40:04.788773 GOT BLOCK FROM PEER! Passing to bitcoind! d3b5df7e bitcoin: https://blockchain.info/block/00000000fbedce57721d9eff102522fc9989ed5df1518a0c60b75b49d3b5df7e
2017-12-31 09:40:04.923844 GOT BLOCK FROM PEER! Passing to bitcoind! 5bafd658 bitcoin: https://blockchain.info/block/000000005e92853ec268ccd51658e6f5f9337433391574b806f62c385bafd658
2017-12-31 09:40:05.024871 GOT BLOCK FROM PEER! Passing to bitcoind! b3e05600 bitcoin: https://blockchain.info/block/0000000020ecfd1527c9e94c543dbf66c56bcae2608e4c563a2b2012b3e05600
2017-12-31 09:40:05.071724 GOT BLOCK FROM PEER! Passing to bitcoind! 45a023f6 bitcoin: https://blockchain.info/block/0000000024c68335334ac4d1240e44e15f023fb31f78a0437dac23b045a023f6
2017-12-31 09:40:05.094440 GOT BLOCK FROM PEER! Passing to bitcoind! 553f0238 bitcoin: https://blockchain.info/block/00000000f4a8dd32245dcb55bccd61a72fed4d4ed76956e63ba6025f553f0238
2017-12-31 09:40:05.123139 GOT BLOCK FROM PEER! Passing to bitcoind! 07d41983 bitcoin: https://blockchain.info/block/000000001856a9496501a679e92a929471ff0a0b248917df72d250d107d41983
2017-12-31 09:40:05.156326 GOT BLOCK FROM PEER! Passing to bitcoind! 0cdb86f6 bitcoin: https://blockchain.info/block/00000000f487e19adeaf7c5da7df778c8c75416f28292a4012677b2e0cdb86f6
2017-12-31 09:40:05.217414 GOT BLOCK FROM PEER! Passing to bitcoind! ff2d5e95 bitcoin: https://blockchain.info/block/000000006de47fd566534ec923e826f16837e1c9eef767b00ae7cee9ff2d5e95
2017-12-31 09:40:05.293700 GOT BLOCK FROM PEER! Passing to bitcoind! 6a4b4c12 bitcoin: https://blockchain.info/block/000000003bacad8872ff223cf50385fc71ce9d86a17ca4959e78b2416a4b4c12
2017-12-31 09:40:05.299262 GOT BLOCK FROM PEER! Passing to bitcoind! f79b6c35 bitcoin: https://blockchain.info/block/0000000019c98fbfc38adebb251b518c600ab5a122a0a4fba3e44379f79b6c35
2017-12-31 09:40:05.302878 GOT BLOCK FROM PEER! Passing to bitcoind! d62002f0 bitcoin: https://blockchain.info/block/00000000cfdc22d96a26653110b108caeec2679ead88f4c1df4ed0a3d62002f0



(Moderator note: This post was edited by frodocooper to change the quote tags originally used for the logs to code tags instead.)
moharni
Newbie
*
Offline Offline

Activity: 35
Merit: 0


View Profile
January 06, 2018, 11:01:01 PM
 #16074

Hi All,

I am new to P2P pool and I went though online documentations that explain how to mine with P2P pool, and I found these tutorials assume that the reader is expert with coding and network. In may opinion this is why there is less miners in the pool even it was established years ago.

It will be nice and helpful to boost mining hash rate of the pool by attracting more miners by the following:

1) making comprehensive tutorial from A to Z about how to mine with p2p pool and having in mind the reader is not expert.
2) developing the website to include every thing needed instead of searching all around the forums.
3) Having support team to answer question of miners.

I have an Antminers and I would like to create a node to join the pool, and I found it is difficult to follow the given tutorials.

Thank you
Moharni
bitlock1
Newbie
*
Offline Offline

Activity: 12
Merit: 0


View Profile
January 07, 2018, 05:43:02 PM
 #16075

@jtoomim

Replaced the AMD 6128 processor with a AMD 6204 bursting at 3.3ghz which helped a bit.
BTC P2Pool running at ~82% Eff - i have several old S3 pointing at this node so probably holding it down, the Dash and LTC P2Pools on this same server are running 100%+ so
thanks for processor and pypy improvements - will probably upgrade at some point when the machine becomes unstable.

Any news on P2Pool merge?

thanks
alttalker1
Newbie
*
Offline Offline

Activity: 3
Merit: 0


View Profile
January 07, 2018, 08:39:28 PM
 #16076

I am sending the following stratum message to p2pool:
Code:
{"id":1,"method":"mining.subscribe","params":["myclient/0.1"]}
And I am getting back:
Code:
{"error": null, "jsonrpc": "2.0", "id": 1, "result": [["mining.notify", "ae6812eb4cd7735a302a8a9dd95cf71f"], "", 4]} 

Note how the xnonce1 is returned as empty string, while xnonce2_size is 4, which is Ok.

I opened the code of "p2pool-master\p2pool\bitcoin\stratum.py", and I found this. which kind of explained why xnonce1 is empty, regardless of the way I subscribe:
Code:
def rpc_subscribe(self, miner_version=None, session_id=None):
        reactor.callLater(0, self._send_work)
       
        return [
            ["mining.notify", "ae6812eb4cd7735a302a8a9dd95cf71f"], # subscription details
            "", # extranonce1
            self.wb.COINBASE_NONCE_LENGTH, # extranonce2_size
        ]

So, is Stratum not supported yet by p2pool?
-ck
Legendary
*
Offline Offline

Activity: 4088
Merit: 1631


Ruu \o/


View Profile WWW
January 07, 2018, 09:36:45 PM
 #16077

I am sending the following stratum message to p2pool:
Code:
{"id":1,"method":"mining.subscribe","params":["myclient/0.1"]}
And I am getting back:
Code:
{"error": null, "jsonrpc": "2.0", "id": 1, "result": [["mining.notify", "ae6812eb4cd7735a302a8a9dd95cf71f"], "", 4]} 

Note how the xnonce1 is returned as empty string, while xnonce2_size is 4, which is Ok.

I opened the code of "p2pool-master\p2pool\bitcoin\stratum.py", and I found this. which kind of explained why xnonce1 is empty, regardless of the way I subscribe:
Code:
def rpc_subscribe(self, miner_version=None, session_id=None):
        reactor.callLater(0, self._send_work)
       
        return [
            ["mining.notify", "ae6812eb4cd7735a302a8a9dd95cf71f"], # subscription details
            "", # extranonce1
            self.wb.COINBASE_NONCE_LENGTH, # extranonce2_size
        ]

So, is Stratum not supported yet by p2pool?
It's allowed to be zero length.

Developer/maintainer for cgminer, ckpool/ckproxy, and the -ck kernel
2% Fee Solo mining at solo.ckpool.org
-ck
alttalker1
Newbie
*
Offline Offline

Activity: 3
Merit: 0


View Profile
January 08, 2018, 06:22:25 PM
 #16078

I am sending the following stratum message to p2pool:
Code:
{"id":1,"method":"mining.subscribe","params":["myclient/0.1"]}
And I am getting back:
Code:
{"error": null, "jsonrpc": "2.0", "id": 1, "result": [["mining.notify", "ae6812eb4cd7735a302a8a9dd95cf71f"], "", 4]} 

Note how the xnonce1 is returned as empty string, while xnonce2_size is 4, which is Ok.

I opened the code of "p2pool-master\p2pool\bitcoin\stratum.py", and I found this. which kind of explained why xnonce1 is empty, regardless of the way I subscribe:
Code:
def rpc_subscribe(self, miner_version=None, session_id=None):
        reactor.callLater(0, self._send_work)
       
        return [
            ["mining.notify", "ae6812eb4cd7735a302a8a9dd95cf71f"], # subscription details
            "", # extranonce1
            self.wb.COINBASE_NONCE_LENGTH, # extranonce2_size
        ]

So, is Stratum not supported yet by p2pool?
It's allowed to be zero length.

So how do I regard it when I calculate the coinbase tx? as "00000000" or simply as "" ?
-ck
Legendary
*
Offline Offline

Activity: 4088
Merit: 1631


Ruu \o/


View Profile WWW
January 08, 2018, 08:46:07 PM
 #16079

Note how the xnonce1 is returned as empty string, while xnonce2_size is 4, which is Ok.
It's allowed to be zero length.

So how do I regard it when I calculate the coinbase tx? as "00000000" or simply as "" ?
Note I said zero LENGTH, not zeroes, so "".

Developer/maintainer for cgminer, ckpool/ckproxy, and the -ck kernel
2% Fee Solo mining at solo.ckpool.org
-ck
jtoomim
Hero Member
*****
Offline Offline

Activity: 818
Merit: 1006


View Profile WWW
January 10, 2018, 01:46:35 AM
 #16080

Does anyone know how to setup a solo mining pool for scrypt machines?
Roughly, this: set PERSIST=False in p2pool/networks/(networkname).py or p2pool/bitcoin/networks/(networkname).py, then run it with the maximum peers set to 0.

Let me know if you have trouble and I'll give more specific instructions.

Hosting bitcoin miners for $65 to $80/kW/month on clean, cheap hydro power.
http://Toom.im
Pages: « 1 ... 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 [804] 805 806 807 808 809 810 811 812 813 814 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!