Я пытаюсь создать случайный Bitcoin адрес, используя Go Ланг, но моя текущая настройка не очень случайная, лол.
Это выходной ток кода ниже:
Код:
000000000000000000000000000000000000000000000039bebc16a4f5c1002e
1PFeGBpmGPjyUUHxdEqcDnYsxeyUn7xV77 1BjhbdBuDSjiCvNp48tjz6tpNcYRsBiiCm
00000000000000000000000000000000000000000000003a0c2198c5fdbdfd80
1Gs8MNmFCnCy3fzR4LmTcCu4FgF9njMyLR 1DJZSjW6sZC1PMvisFiDj6WGan7hPtbQFj
00000000000000000000000000000000000000000000003a59871ae705bafad2
1LwZ2nX1TTTw5iiYFNQj16dpnQwGNd4nBW 1Lhj5X5N9Lms4VpbboMD41nFKgyeen2MAA
00000000000000000000000000000000000000000000003aa6ec9d080db7f824
1NRGfrjrEUzMcpEGF5mh9SVNw2NdaYAQET 1HhZikzy4oHy8kDcBuXwM7fiYZhvV2NrtA
00000000000000000000000000000000000000000000003af4521f2915b4f576
18obhg39sdA4vpTgNKsidqNHYpw2iyvBoU 1698kvdkrLFnK5BT1PU7aa5WP43DEUGQDi
00000000000000000000000000000000000000000000003b41b7a14a1db1f2c8
16dVjGbfNEJj73v4ZbTrp5HbSbgjqR97FQ 1BJRdzncmbqcmsaeCvFzvp2MWNv34ndj6i
00000000000000000000000000000000000000000000003b8f1d236b25aef01a
1J3PtXyY1ktmCdECVzVRRKPBTyjmuJfPs9 14Rw7d98cvGciKou7sBtfM1jx1zzQWUf2Q
1PFeGBpmGPjyUUHxdEqcDnYsxeyUn7xV77 1BjhbdBuDSjiCvNp48tjz6tpNcYRsBiiCm
00000000000000000000000000000000000000000000003a0c2198c5fdbdfd80
1Gs8MNmFCnCy3fzR4LmTcCu4FgF9njMyLR 1DJZSjW6sZC1PMvisFiDj6WGan7hPtbQFj
00000000000000000000000000000000000000000000003a59871ae705bafad2
1LwZ2nX1TTTw5iiYFNQj16dpnQwGNd4nBW 1Lhj5X5N9Lms4VpbboMD41nFKgyeen2MAA
00000000000000000000000000000000000000000000003aa6ec9d080db7f824
1NRGfrjrEUzMcpEGF5mh9SVNw2NdaYAQET 1HhZikzy4oHy8kDcBuXwM7fiYZhvV2NrtA
00000000000000000000000000000000000000000000003af4521f2915b4f576
18obhg39sdA4vpTgNKsidqNHYpw2iyvBoU 1698kvdkrLFnK5BT1PU7aa5WP43DEUGQDi
00000000000000000000000000000000000000000000003b41b7a14a1db1f2c8
16dVjGbfNEJj73v4ZbTrp5HbSbgjqR97FQ 1BJRdzncmbqcmsaeCvFzvp2MWNv34ndj6i
00000000000000000000000000000000000000000000003b8f1d236b25aef01a
1J3PtXyY1ktmCdECVzVRRKPBTyjmuJfPs9 14Rw7d98cvGciKou7sBtfM1jx1zzQWUf2Q
Код:
ечать: = rand.Intn (9223372036854775807)
вар rint64 int64
rint64 = int64 (ечать)
// Инициализировать большие числа с малыми числами
рассчитывать, одно: = big.NewInt (rint64), big.NewInt (rint64)
// Создать кусочек раздуть наш счет до 32 байт
проложенные: = сделать ([] байт, 32)
// Цикл навсегда
для {
// увеличиваем наш счетчик
count.Add (количество, один)
байты // копируют подсчитанное значение, чтобы проложенный ломтик
копия (проложенный [32-LEN (count.Bytes ()):], count.Bytes ())
// Получить открытый ключ
_, Общественности: = btcec.PrivKeyFromBytes (btcec.S256 (), проложенный)
// Получить сжатые и несжатые адреса
caddr, _: = btcutil.NewAddressPubKey (public.SerializeCompressed (), &btcnet.MainNetParams)
uaddr, _: = btcutil.NewAddressPubKey (public.SerializeUncompressed (), &btcnet.MainNetParams)
вар rint64 int64
rint64 = int64 (ечать)
// Инициализировать большие числа с малыми числами
рассчитывать, одно: = big.NewInt (rint64), big.NewInt (rint64)
// Создать кусочек раздуть наш счет до 32 байт
проложенные: = сделать ([] байт, 32)
// Цикл навсегда
для {
// увеличиваем наш счетчик
count.Add (количество, один)
байты // копируют подсчитанное значение, чтобы проложенный ломтик
копия (проложенный [32-LEN (count.Bytes ()):], count.Bytes ())
// Получить открытый ключ
_, Общественности: = btcec.PrivKeyFromBytes (btcec.S256 (), проложенный)
// Получить сжатые и несжатые адреса
caddr, _: = btcutil.NewAddressPubKey (public.SerializeCompressed (), &btcnet.MainNetParams)
uaddr, _: = btcutil.NewAddressPubKey (public.SerializeUncompressed (), &btcnet.MainNetParams)
Любая помощь будет оценена и скорее всего вознаграждены.