Bitcoin Forum
June 24, 2018, 07:33:37 PM *
News: Latest stable version of Bitcoin Core: 0.16.1  [Torrent]. (New!)
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: формат адреса?  (Read 2541 times)
bitcoinex
Sr. Member
****
Offline Offline

Activity: 350
Merit: 250


probiwon.com


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

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

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

Posts: 1529868817

View Profile Personal Message (Offline)

Ignore
1529868817
Reply with quote  #2

1529868817
Report to moderator
The World's Betting Exchange

Bet with play money. Win real Bitcoin. 5BTC Prize Fund for World Cup 2018.

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

Posts: 1529868817

View Profile Personal Message (Offline)

Ignore
1529868817
Reply with quote  #2

1529868817
Report to moderator
1529868817
Hero Member
*
Offline Offline

Posts: 1529868817

View Profile Personal Message (Offline)

Ignore
1529868817
Reply with quote  #2

1529868817
Report to moderator
1529868817
Hero Member
*
Offline Offline

Posts: 1529868817

View Profile Personal Message (Offline)

Ignore
1529868817
Reply with quote  #2

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

Activity: 158
Merit: 100


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

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

Activity: 1736
Merit: 1015


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
Merit: 100


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: 1736
Merit: 1015


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!