Bitcoin Forum
January 18, 2018, 08:41:49 PM *
News: Electrum users must upgrade to 3.0.5 if they haven't already. More info.
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: формат адреса?  (Read 2517 times)
bitcoinex
Sr. Member
****
Offline Offline

Activity: 350


probiwon.com


View Profile WWW
August 05, 2010, 08:45:20 PM
 #1

Какой формат адреса у биткоинов? Нужно для приблизительной проверки валидности адреса

New bitcoin lottery: probiwon.com
- Может, ты ещё и в Невидимую Руку Рынка веруешь? - Зачем же веровать в то, что можно наблюдать непосредственно?
1516308109
Hero Member
*
Offline Offline

Posts: 1516308109

View Profile Personal Message (Offline)

Ignore
1516308109
Reply with quote  #2

1516308109
Report to moderator
1516308109
Hero Member
*
Offline Offline

Posts: 1516308109

View Profile Personal Message (Offline)

Ignore
1516308109
Reply with quote  #2

1516308109
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1516308109
Hero Member
*
Offline Offline

Posts: 1516308109

View Profile Personal Message (Offline)

Ignore
1516308109
Reply with quote  #2

1516308109
Report to moderator
throughput
Full Member
***
Offline Offline

Activity: 158


View Profile
August 06, 2010, 09:06:38 AM
 #2

Какой формат адреса у биткоинов? Нужно для приблизительной проверки валидности адреса
А там точно предусмотрена возможность error-detection, как в ИНН или ISBN?
LZ
Moderator
Legendary
*
Offline Offline

Activity: 1694


P2P Cryptocurrency


View Profile
August 06, 2010, 09:21:49 AM
 #3

Разумеется, проверка есть, но, я так понял, не строгая. Вот код проверки.
Code:
    vector<unsigned char> vch;
    if (!DecodeBase58Check(psz, vch))
        return false;
    if (vch.empty())
        return false;
    unsigned char nVersion = vch[0];
    if (vch.size() != sizeof(hash160Ret) + 1)
        return false;
    memcpy(&hash160Ret, &vch[1], sizeof(hash160Ret));
    return (nVersion <= ADDRESSVERSION);
Как видим, сначала декодируется по Base58, затем извлекается номер версии адреса.

throughput
Full Member
***
Offline Offline

Activity: 158


View Profile
August 10, 2010, 12:54:04 PM
 #4

Разумеется, проверка есть, но, я так понял, не строгая. Вот код проверки.
Code:
    vector<unsigned char> vch;
    if (!DecodeBase58Check(psz, vch))
        return false;
    if (vch.empty())
        return false;
    unsigned char nVersion = vch[0];
    if (vch.size() != sizeof(hash160Ret) + 1)
        return false;
    memcpy(&hash160Ret, &vch[1], sizeof(hash160Ret));
    return (nVersion <= ADDRESSVERSION);
Как видим, сначала декодируется по Base58, затем извлекается номер версии адреса.
Я надеялся на детектирование любого ошибочно введённого бита или двух-трёх-восьми Smiley
LZ
Moderator
Legendary
*
Offline Offline

Activity: 1694


P2P Cryptocurrency


View Profile
September 13, 2010, 04:00:18 PM
 #5

Сделали проверялку на питоне, которая учитывает контрольную сумму: ссылка.

Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!