2024-02-10 12:53:55 +00:00

46 lines
4.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

====== SimpleYggGen-Go ======
SimpleYggGen-Go — перереализация bash-скрипта [[yggdrasil:address_miners:simpleygggen|SimpleYggGen]] на языке программирования Go, позволяющая работать в несколько потоков и более производительная за счет использования родных библиотек криптографии из Yggdrasil и нативного кода. Основана на программе ''cmd/genkeys'' из Yggdrasil, изначально предназначенной для генерации более устойчивых к коллизиям ключей шифрования.
Текущая версия — **v0.2.1**.
За счет нативного кода и отсутствия затрат на запуск Yggdrasil и grep для выборки адресов дает в несколько тысяч раз большую производительность — на майнинг 100 000 000 ключей уходит 27 минут в 8 потоков на AMD Ryzen 1700X.
Исходный код программы доступен под лицензией MIT.
===== Установка =====
При установленном компиляторе Go:
<code>
go get -u -v github.com/tdemin/syg_go
</code>
Также собранные бинарники можно загрузить со [[https://git.tdem.in/tdemin/syg_go/releases|страницы релизов]] или [[http://[324:9de3:fea4:f6ac::ace]/files/software/yggdrasil_address_miners/syg_go/|внутрисетевого репозитория]]. Если вы пользуетесь Arch Linux, вы можете установить программу [[https://aur.archlinux.org/packages/syg_go|из AUR]] одной командой:
<code>
yay -S syg_go
</code>
===== Использование =====
Майнер выполняется в терминале и выводит туда статистику выполнения, а также смайненные ключи.
{{:syg:ygg_syg_go.png?400|}}
У майнера несколько конфигурабельных опций командной строки: ''-threads'', которой устанавливается максимальное число потоков (по умолчанию равно количеству потоков вашего процессора), ''-iter'', с помощью которого задается количество итераций, после которого выводится прогресс (по умолчанию каждые 100 000 итераций для тестов производительности, на современных процессорах имеет смысл задавать в ''100000000'' или выше) и ''-regex'', после которой идет задание целевого регулярного выражения, на соответствие которому проверяется адрес (по умолчанию ''::''). Смысл регулярного выражения тот же, что и у оригинального SimpleYggGen.
С версии 0.1.1 программа перереализует функции вывода адреса для улучшения производительности относительно кода Yggdrasil, включить использование только оригинального кода из Yggdrasil можно опцией ''-original''. С версии 0.1.3 можно также использовать опцию ''-highaddr'', которая устанавливает режим майнинга т.н. "высоких" адресов (т.е. более устойчивых к коллизиям: чем выше начальные биты адреса, тем более устойчив адрес).
Вывод майнера можно сохранять в файл одновременно с выводом в терминал, как это делается, зависит от используемой вами ОС. Например, в *nix-системах можно воспользоваться следующей командой:
<code>
syg_go | tee syg.txt
</code>
===== Ссылки =====
* [[https://github.com/tdemin/syg_go|Репозиторий проекта]]
* [[https://github.com/tdemin/syg_go/releases|Страница загрузок]]
* [[https://aur.archlinux.org/packages/syg_go|Страница в AUR]]