Bitcoin/address validation: Difference between revisions
Content added Content deleted
(add Factor) |
(→{{header|Factor}}: use map-reduce instead of map and reduce) |
||
Line 448: | Line 448: | ||
CONSTANT: ALPHABET "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz" |
CONSTANT: ALPHABET "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz" |
||
: base58 |
: base58>bigint ( digits -- n ) |
||
[ ALPHABET index ] |
|||
[ [ 58 * ] [ + ] bi* ] map-reduce ; |
|||
: |
: base58> ( str -- n ) base58>bigint 25 >be ; |
||
: base58> ( str -- n ) base58-digits digits58>bigint 25 >be ; |
|||
: btc-checksum ( bytes -- checksum-bytes ) |
: btc-checksum ( bytes -- checksum-bytes ) |
||
Line 466: | Line 466: | ||
"1ANNa15ZQXAZUgFiqJ2i7Z2DPU2J6hW62i" btc-valid? . ! f, data changed, original checksum. |
"1ANNa15ZQXAZUgFiqJ2i7Z2DPU2J6hW62i" btc-valid? . ! f, data changed, original checksum. |
||
</pre> |
</pre> |
||
=={{header|FreeBASIC}}== |
=={{header|FreeBASIC}}== |
||
<lang freebasic>' version 05-04-2017 |
<lang freebasic>' version 05-04-2017 |