Bitcoin/address validation: Difference between revisions

→‎{{header|Factor}}: use map-reduce instead of map and reduce
(add Factor)
(→‎{{header|Factor}}: use map-reduce instead of map and reduce)
Line 448:
CONSTANT: ALPHABET "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"
 
: base58-digits>bigint ( strdigits -- digitsn ) [ ALPHABET index ] { } map-as ;
[ ALPHABET index ]
[ [ 58 * ] [ + ] bi* ] map-reduce ;
 
: digits58base58>bigint ( digitsstr -- n ) 0base58>bigint [25 [ 58 * ] [ + ] bi* ] reduce>be ;
 
: base58> ( str -- n ) base58-digits digits58>bigint 25 >be ;
 
: btc-checksum ( bytes -- checksum-bytes )
Line 466:
"1ANNa15ZQXAZUgFiqJ2i7Z2DPU2J6hW62i" btc-valid? . ! f, data changed, original checksum.
</pre>
 
=={{header|FreeBASIC}}==
<lang freebasic>' version 05-04-2017
Anonymous user