Bitcoin Forum
May 07, 2024, 03:39:40 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 [14] 15 16 »  All
  Print  
Author Topic: Как сгенерировать 150 000 000 адресов в кошельке  (Read 66658 times)
greatwork
Member
**
Offline Offline

Activity: 109
Merit: 100

tst text


View Profile
September 12, 2016, 10:03:23 AM
 #261

Да нет, нудный тут ты, давай скрин кошеля.
1715053180
Hero Member
*
Offline Offline

Posts: 1715053180

View Profile Personal Message (Offline)

Ignore
1715053180
Reply with quote  #2

1715053180
Report to moderator
1715053180
Hero Member
*
Offline Offline

Posts: 1715053180

View Profile Personal Message (Offline)

Ignore
1715053180
Reply with quote  #2

1715053180
Report to moderator
1715053180
Hero Member
*
Offline Offline

Posts: 1715053180

View Profile Personal Message (Offline)

Ignore
1715053180
Reply with quote  #2

1715053180
Report to moderator
You can see the statistics of your reports to moderators on the "Report to moderator" pages.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715053180
Hero Member
*
Offline Offline

Posts: 1715053180

View Profile Personal Message (Offline)

Ignore
1715053180
Reply with quote  #2

1715053180
Report to moderator
1715053180
Hero Member
*
Offline Offline

Posts: 1715053180

View Profile Personal Message (Offline)

Ignore
1715053180
Reply with quote  #2

1715053180
Report to moderator
yo-blin
Legendary
*
Offline Offline

Activity: 2296
Merit: 1057



View Profile
September 12, 2016, 10:05:40 AM
 #262

если интересно коллеги вот пара проектов конверсии  blockchain> MS SQL
http://blockchainsql.io/
https://github.com/lontivero/BlockchainParser

amaclin - 5 баллов !  Grin  Roll Eyes

                __mmW████████mms_
            ,gW███████████████████Ws_
          gW█████████████████████████Ws.
        g███████████████████████████████s
      ,W█████████████████████████████████W.
     i████~*█████████████████████████A~████s
    i█████  '*█████████████████████A`  █████s
   ,██████    'M█████████████████A~    ██████i
   d██████      'M█████████████A~      ██████W
   ███████        'M█████████A~        ███████.
   ███████          'M█████A~          ███████[
   ███████     W_     'M█Af     ,W     ███████[
   ███████     ██W_     ~     ,W██     ███████`
   Y██████     ████W_       ,W████     ██████A
   '▀▀▀▀▀▀     ██████W.   ,m██████     ▀▀▀▀▀▀`
               ████████W_m████████
               ███████████████████.
      V███████████████████████████████████f
       '*███████████████████████████████A`
         '*███████████████████████████*`
            ~*█████████████████████*f`
               ~~*█████████████*f~
                      ~~~~~
..........

Monero (XMR)
ДОБРО ПОЖАЛОВАТЬ В РУССКОЯЗЫЧНОЕ СООБЩЕСТВО
.форум..telegram..youtube.
..........

.DON'T BUY MONERO,.
.IT'S BAD FOR BANKS...

Sign for rent, СОБИРАЮ МЕRIT! Smiley

NVC: 4YoBLincaRdAEG4v8tbZ4T26ZnKbT9SBsu
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
September 12, 2016, 10:12:57 AM
 #263

Да нет, нудный тут ты, давай скрин кошеля.
Я не пользуюсь "кошелём" (в привычном вам понимании этого).
Ну то есть bitcoin-qt версии 0.8.5 у меня установлен, чтобы качать цепочку блоков на локальный диск,
а мои приватные ключи в файл wallet.dat не импортированы. Зачем мне это? Они в текстовом файле.
Или вы не верите, что два адреса, которые я указал выше принадлежат мне?
Вам сообщение подписать или вы только скринам доверяете?  Grin
vmart1552
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
September 12, 2016, 10:33:20 AM
 #264

если интересно коллеги вот пара проектов конверсии  blockchain> MS SQL
http://blockchainsql.io/
https://github.com/lontivero/BlockchainParser

amaclin - 5 баллов !  Grin  Roll Eyes

Блин, это то что нужно. Вот бы как-то скачать оттуда всю базу и поменстить в sql
vmart1552
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
September 12, 2016, 11:30:38 AM
Last edit: September 12, 2016, 11:42:37 AM by vmart1552
 #265

amaclin,

а подскажи по теории. Как в тразакции расшифровать с какого адреса были отправлены битки? Куда они ушли там понятно, сразу есть адрес и сумма. А вот откуда и скакого адреса не понятно. Есть только "asm" и "hex". Как вот их расшифровать?


Code:
"vin": [
    {
      "txid": "1d212732757927638fb8de4fa8e89c772037f0b3476741b868b4865a47816c07",
      "vout": 0,
      "scriptSig": {
        "asm": "3045022100d39aa17cd112cb8d254fc8c93c6f1017f3e5985ae58936e76c1dbd5785cffba102200eb48b5693f46726100876df3984ad9e57b65805b2718fdc24c36764b4fdc0aa[ALL] 02c3d6248b2c258664cef295f3f3bc50c4ce10aee41aa3aa5f9c146aba3c901ed0",
        "hex": "483045022100d39aa17cd112cb8d254fc8c93c6f1017f3e5985ae58936e76c1dbd5785cffba102200eb48b5693f46726100876df3984ad9e57b65805b2718fdc24c36764b4fdc0aa012102c3d6248b2c258664cef295f3f3bc50c4ce10aee41aa3aa5f9c146aba3c901ed0"
      },
      "sequence": 4294967294
    }
  ],


Разобрался уже. Через "vout" из предыдущей транзакции можно узнать адрес с которого ушли битки.
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
September 12, 2016, 11:44:24 AM
 #266

а подскажи по теории. Как в тразакции расшифровать с какого адреса были отправлены битки?
Куда они ушли там понятно, сразу есть адрес и сумма. А вот откуда и скакого адреса не понятно.
Есть только "asm" и "hex". Как вот их расшифровать?
Есть как минимум два способа. Один "простой", а другой "правильный".

Простой способ: смотрим поле "asm" (это то же самое что и "hex" с синтаксическими изменениями)
Это поле состоит из двух частей через пробел - сигнатура и публичный ключ
Сигнатура нас не интересует, берем только публичный ключ
Это строка 02c3d6248b2c258664cef295f3f3bc50c4ce10aee41aa3aa5f9c146aba3c901ed0
в твоей транзакции. Переводим это из хекса в бинарный формат и берем от этого хэш-функцию
адреса, ведь в биткойне адрес это ripemd-160 (sha256 ( pubkey ) )
Писать алгоритм я не буду сейчас, а просто пойду на http://bitcoinvalued.com/tools.php
введу туда этот публичный ключ и получу адрес 19Z9juPVaFWbiE96ki9zogbPEAMdneeoe7

Правильный способ: у этой твоей транзакции есть входы. в данном случае
1d212732757927638fb8de4fa8e89c772037f0b3476741b868b4865a47816c07:0
причем мимо этой транзакции ты при парсинге блокчейна пройти не мог.
То есть тебе уже должно быть известно что в транзакции
1d212732757927638fb8de4fa8e89c772037f0b3476741b868b4865a47816c07 нулевой
(счет идет начиная с нуля) выход - это перевод 0.5711 BTC на адрес
19Z9juPVaFWbiE96ki9zogbPEAMdneeoe7 - а эта твоя транзакция соответственно списывает
0.5711 BTC с адреса 19Z9juPVaFWbiE96ki9zogbPEAMdneeoe7

Ну вот как-то так.
vmart1552
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
September 12, 2016, 12:22:56 PM
 #267

а подскажи по теории. Как в тразакции расшифровать с какого адреса были отправлены битки?
Куда они ушли там понятно, сразу есть адрес и сумма. А вот откуда и скакого адреса не понятно.
Есть только "asm" и "hex". Как вот их расшифровать?
Есть как минимум два способа. Один "простой", а другой "правильный".

Простой способ: смотрим поле "asm" (это то же самое что и "hex" с синтаксическими изменениями)
Это поле состоит из двух частей через пробел - сигнатура и публичный ключ
Сигнатура нас не интересует, берем только публичный ключ
Это строка 02c3d6248b2c258664cef295f3f3bc50c4ce10aee41aa3aa5f9c146aba3c901ed0
в твоей транзакции. Переводим это из хекса в бинарный формат и берем от этого хэш-функцию
адреса, ведь в биткойне адрес это ripemd-160 (sha256 ( pubkey ) )
Писать алгоритм я не буду сейчас, а просто пойду на http://bitcoinvalued.com/tools.php
введу туда этот публичный ключ и получу адрес 19Z9juPVaFWbiE96ki9zogbPEAMdneeoe7

Правильный способ: у этой твоей транзакции есть входы. в данном случае
1d212732757927638fb8de4fa8e89c772037f0b3476741b868b4865a47816c07:0
причем мимо этой транзакции ты при парсинге блокчейна пройти не мог.
То есть тебе уже должно быть известно что в транзакции
1d212732757927638fb8de4fa8e89c772037f0b3476741b868b4865a47816c07 нулевой
(счет идет начиная с нуля) выход - это перевод 0.5711 BTC на адрес
19Z9juPVaFWbiE96ki9zogbPEAMdneeoe7 - а эта твоя транзакция соответственно списывает
0.5711 BTC с адреса 19Z9juPVaFWbiE96ki9zogbPEAMdneeoe7

Ну вот как-то так.


Не пойму алгоритм как из pubkey (из этого 02c3d6248b2c258664cef295f3f3bc50c4ce10aee41aa3aa5f9c146aba3c901ed0) получить обычный bitcoin адрес. По ссылке работает, а если сам пробую просто перевести этот pubkey по формуле ripemd-160 (sha256 ( pubkey ) ) получается ерунда какая-то...
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
September 12, 2016, 12:24:04 PM
 #268

Не пойму алгоритм как из pubkey (из этого 02c3d6248b2c258664cef295f3f3bc50c4ce10aee41aa3aa5f9c146aba3c901ed0)
получить обычный bitcoin адрес. По ссылке работает, а если сам пробую просто перевести этот pubkey по
формуле ripemd-160 (sha256 ( pubkey ) ) получается ерунда какая-то...

https://webcache.googleusercontent.com/search?q=cache:anEtjhPclnIJ:https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses+&cd=1&hl=ru&ct=clnk&gl=ru

(Прямая ссылка на https://en.bitcoin.it у меня почему-то не открывается - поэтому даю ссылку на закешированную)
vmart1552
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
September 12, 2016, 12:40:42 PM
 #269

Не пойму алгоритм как из pubkey (из этого 02c3d6248b2c258664cef295f3f3bc50c4ce10aee41aa3aa5f9c146aba3c901ed0)
получить обычный bitcoin адрес. По ссылке работает, а если сам пробую просто перевести этот pubkey по
формуле ripemd-160 (sha256 ( pubkey ) ) получается ерунда какая-то...

https://webcache.googleusercontent.com/search?q=cache:anEtjhPclnIJ:https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses+&cd=1&hl=ru&ct=clnk&gl=ru

(Прямая ссылка на https://en.bitcoin.it у меня почему-то не открывается - поэтому даю ссылку на закешированную)

Сижу вникаю и не пойму. На каком этапе в примере там эта строчка, которая есть в транзакции 02c3d6248b2c258664cef295f3f3bc50c4ce10aee41aa3aa5f9c146aba3c901ed0 из моего примера?
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
September 12, 2016, 12:45:26 PM
 #270

Сижу вникаю и не пойму. На каком этапе в примере там эта строчка, которая есть в
транзакции 02c3d6248b2c258664cef295f3f3bc50c4ce10aee41aa3aa5f9c146aba3c901ed0 из моего примера?
на шаге №1
В примере у них публичный ключ в "классическом формате" (начинается с 04 и потом 64 байта)
В биткойне сейчас в основном используется "компактный вариант публичного ключа" (начинается с 02 или 03 и потом 32 байта)
vmart1552
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
September 12, 2016, 12:55:42 PM
 #271

Сижу вникаю и не пойму. На каком этапе в примере там эта строчка, которая есть в
транзакции 02c3d6248b2c258664cef295f3f3bc50c4ce10aee41aa3aa5f9c146aba3c901ed0 из моего примера?
на шаге №1
В примере у них публичный ключ в "классическом формате" (начинается с 04 и потом 64 байта)
В биткойне сейчас в основном используется "компактный вариант публичного ключа" (начинается с 02 или 03 и потом 32 байта)

Блин, наткнулся вот на такую транзакцию, почему-то не удается ее прочитать через getrawtransaction 123f6cb231f8ab4e39cb3a7ab65e2176140d32e5a0b1a08057fd1f6e491e5c
Пишет ошибку - No information available about transaction (code -5)

Почему так и как ее прочитать ?
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
September 12, 2016, 01:12:15 PM
 #272

Блин, наткнулся вот на такую транзакцию, почему-то не удается ее прочитать через
getrawtransaction 123f6cb231f8ab4e39cb3a7ab65e2176140d32e5a0b1a08057fd1f6e491e5c
Пишет ошибку - No information available about transaction (code -5)
Почему так и как ее прочитать ?
Такой транзакции нет в mainchian биткойна. Как ты на неё вышел?
Она в принципе может присутствовать у тебя на диске в орфан-блоке.
Но тебе не надо парсить орфан-блоки.
vmart1552
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
September 12, 2016, 01:24:07 PM
 #273

Блин, наткнулся вот на такую транзакцию, почему-то не удается ее прочитать через
getrawtransaction 123f6cb231f8ab4e39cb3a7ab65e2176140d32e5a0b1a08057fd1f6e491e5c
Пишет ошибку - No information available about transaction (code -5)
Почему так и как ее прочитать ?
Такой транзакции нет в mainchian биткойна. Как ты на неё вышел?
Она в принципе может присутствовать у тебя на диске в орфан-блоке.
Но тебе не надо парсить орфан-блоки.

Просто случайную транзу выбрал на blockchain.info
https://blockchain.info/ru/tx/123f6cb231f8ab4e39cb3a7ab65e2176140d32e5a0b1a08057fd1f6e491e5cf7

Там таких полно, в ранних блоках. Они есть вроде бы, но как их прочитать не понятно. Написано что она в mainchain, в Главной цепочке
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
September 12, 2016, 01:59:32 PM
 #274

Просто случайную транзу выбрал на blockchain.info
https://blockchain.info/ru/tx/123f6cb231f8ab4e39cb3a7ab65e2176140d32e5a0b1a08057fd1f6e491e5cf7
Ну пездец.
Мне пока за консультации бабки брать.
Прочитай своё сообщение еще раз - ты даже номер транзакции не полностью скопировал.
Аккуратнее надо быть, товарищ.
И чтобы клиент отдавал бы информацию обо всех транзакциях надо... проиндексировать...
Короче, поищи сам ответ. Такой вопрос фигурирует на всяких форумах многократно.
vmart1552
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
September 12, 2016, 03:37:05 PM
Last edit: September 12, 2016, 03:50:47 PM by vmart1552
 #275

Просто случайную транзу выбрал на blockchain.info
https://blockchain.info/ru/tx/123f6cb231f8ab4e39cb3a7ab65e2176140d32e5a0b1a08057fd1f6e491e5cf7
Ну пездец.
Мне пока за консультации бабки брать.
Прочитай своё сообщение еще раз - ты даже номер транзакции не полностью скопировал.
Аккуратнее надо быть, товарищ.
И чтобы клиент отдавал бы информацию обо всех транзакциях надо... проиндексировать...
Короче, поищи сам ответ. Такой вопрос фигурирует на всяких форумах многократно.

Сделал reindex, все равно пишет:

18:35:39

getrawtransaction 123f6cb231f8ab4e39cb3a7ab65e2176140d32e5a0b1a08057fd1f6e491e5cf7


18:35:39

No information available about transaction (code -5)


а другие транзы из этого же блока отображает. Это какая-то транза левая или я туплю


Что я заметил, то что там входы другого типа, там во входных данных нету pub key отдельно в строке как в новых транзах. Может в этом дело? Как такую транзу прочитать?

Code:
304402203e53cb7de31cb2409851fbf08540332d561b980bae718186f31da823cf9aa60c022042d0e2895feecdc27166ef2abdef8322b7a94ed7e0ac6b110e83e29781453ece01
а обычно такие выход
Code:
304502204e0e6629fdeedde192649d7efdaa417069626527b13bf7a5fadc368d76f5b37c022100d432566207ef44aee6d5eb442d070d1ea508427dfbb9ededc99af9988feb9e1101 04aa14fb6e72431c84baf5ae1e3cc4b39921115882b68291fbd32bb54704ddd4e60263f5e91dbddd9694ff4c6ac0574a50a4756ca51cf700721567fd09cdbc7617


Тут даже адреса не определяются https://blockexplorer.com/tx/123f6cb231f8ab4e39cb3a7ab65e2176140d32e5a0b1a08057fd1f6e491e5cf7
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
September 12, 2016, 04:00:28 PM
Last edit: September 12, 2016, 04:10:55 PM by amaclin
 #276

Сделал reindex, все равно пишет:
А при чем тут reindex?
а другие транзы из этого же блока отображает. Это какая-то транза левая или я туплю
Попробуй самостоятельно догадаться какие транзакции отображаются, а какие - нет.
В этом же и суть.
Что я заметил, то что там входы другого типа, там во входных данных нету pub key отдельно в строке как в новых транзах. Может в этом дело? Как такую транзу прочитать?
Это ты хорошо заметил. Молодец. Глазастый.
Короче, берешь мой профайл, отлистываешь на два с половиной года назад и читаешь топик, с которого я начал
свой путь на этом сайте. Там всё описано.
Лучше бы тебе своим умом, но если ты хочешь всё и сразу...
vmart1552
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
September 12, 2016, 05:57:09 PM
 #277

Сделал reindex, все равно пишет:
А при чем тут reindex?
а другие транзы из этого же блока отображает. Это какая-то транза левая или я туплю
Попробуй самостоятельно догадаться какие транзакции отображаются, а какие - нет.
В этом же и суть.
Что я заметил, то что там входы другого типа, там во входных данных нету pub key отдельно в строке как в новых транзах. Может в этом дело? Как такую транзу прочитать?
Это ты хорошо заметил. Молодец. Глазастый.
Короче, берешь мой профайл, отлистываешь на два с половиной года назад и читаешь топик, с которого я начал
свой путь на этом сайте. Там всё описано.
Лучше бы тебе своим умом, но если ты хочешь всё и сразу...


Разобрался, спасибо за ускоренное просвещение чайника)) Остался последний неразрешенный вопрос у меня. Я сижу уже пол дня и никак не вкурю, как мы из этого:

Code: (pubkey)
0450863AD64A87AE8A2FE83C1AF1A8403CB53F53E486D8511DAD8A04887E5B23522CD470243453A299FA9E77237716103ABC11A1DF38855ED6F2EE187E9C582BA6
получаем это (из мануала что ты кидал):
Code: (sha256(pubkey))
600FFE422B4E00731A59557A5CCA46CC183944191006324A447BDB2D98D4B408

Сколько не пытался сам хешировать первую строку и уже пробовал онлайн хешировалки, всегда другой результат, а именно:
Code:
32511e82d56dcea68eb774094e25bab0f8bdd9bc1eca1ceeda38c7a43aceddce

Что я делаю не так?
A-Bolt
Legendary
*
Offline Offline

Activity: 2315
Merit: 2312


View Profile
September 12, 2016, 07:08:14 PM
 #278

Я сижу уже пол дня и никак не вкурю, как мы из этого:

Code: (pubkey)
0450863AD64A87AE8A2FE83C1AF1A8403CB53F53E486D8511DAD8A04887E5B23522CD470243453A299FA9E77237716103ABC11A1DF38855ED6F2EE187E9C582BA6
получаем это (из мануала что ты кидал):
Code: (sha256(pubkey))
600FFE422B4E00731A59557A5CCA46CC183944191006324A447BDB2D98D4B408

Сколько не пытался сам хешировать первую строку и уже пробовал онлайн хешировалки, всегда другой результат, а именно:
Code:
32511e82d56dcea68eb774094e25bab0f8bdd9bc1eca1ceeda38c7a43aceddce

Что я делаю не так?

А вот с этим калькулятором получается правильный хеш.
Понятно, почему?
vmart1552
Newbie
*
Offline Offline

Activity: 42
Merit: 0


View Profile
September 12, 2016, 08:12:00 PM
 #279

Я сижу уже пол дня и никак не вкурю, как мы из этого:

Code: (pubkey)
0450863AD64A87AE8A2FE83C1AF1A8403CB53F53E486D8511DAD8A04887E5B23522CD470243453A299FA9E77237716103ABC11A1DF38855ED6F2EE187E9C582BA6
получаем это (из мануала что ты кидал):
Code: (sha256(pubkey))
600FFE422B4E00731A59557A5CCA46CC183944191006324A447BDB2D98D4B408

Сколько не пытался сам хешировать первую строку и уже пробовал онлайн хешировалки, всегда другой результат, а именно:
Code:
32511e82d56dcea68eb774094e25bab0f8bdd9bc1eca1ceeda38c7a43aceddce

Что я делаю не так?

А вот с этим калькулятором получается правильный хеш.
Понятно, почему?

хууух, большое спасибо, понял. Входящие данные из hex в binary надо было преобразовать
negeroy
Legendary
*
Offline Offline

Activity: 1148
Merit: 1051


View Profile
September 12, 2016, 09:45:45 PM
 #280

amaclin,

а подскажи по теории. Как в тразакции расшифровать с какого адреса были отправлены битки? Куда они ушли там понятно, сразу есть адрес и сумма. А вот откуда и скакого адреса не понятно. Есть только "asm" и "hex". Как вот их расшифровать?


Code:
"vin": [
    {
      "txid": "1d212732757927638fb8de4fa8e89c772037f0b3476741b868b4865a47816c07",
      "vout": 0,
      "scriptSig": {
        "asm": "3045022100d39aa17cd112cb8d254fc8c93c6f1017f3e5985ae58936e76c1dbd5785cffba102200eb48b5693f46726100876df3984ad9e57b65805b2718fdc24c36764b4fdc0aa[ALL] 02c3d6248b2c258664cef295f3f3bc50c4ce10aee41aa3aa5f9c146aba3c901ed0",
        "hex": "483045022100d39aa17cd112cb8d254fc8c93c6f1017f3e5985ae58936e76c1dbd5785cffba102200eb48b5693f46726100876df3984ad9e57b65805b2718fdc24c36764b4fdc0aa012102c3d6248b2c258664cef295f3f3bc50c4ce10aee41aa3aa5f9c146aba3c901ed0"
      },
      "sequence": 4294967294
    }
  ],


Разобрался уже. Через "vout" из предыдущей транзакции можно узнать адрес с которого ушли битки.

зачем заморачиваться если есть готовые скрипты?
в частности  https://github.com/znort987/blockparser

компилируете и

Code:
/parser allBalances -w "кол-во аддр с балансом"- > balance.txt

Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 [14] 15 16 »  All
  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!