Страницы: 1 2 3 След.
RSS
Расчет хэша биткоин в excel
 
Привет ребята! Добавлено: начал в excel продолжаю в с++

Есть такая табличка (в приложении) рассчитывает хэш биткоина
Хотелось бы сделать цикл такой
Изменять значение Nonce пока начало хэша не будет равно 18 нулям
В табличке я выделил изменяемое значение зеленым, а требуемое условие (18 нулей в начале) желтым

Я вижу это так:
Код
do while I15 <> 000000000000000000 (18 zero) // делаем пока не будет выполнено условие
B7 = n + 1                                                             // параметр n желательно вынести в отдельную ячейку, шаг +1
loop

файл тяжелый форум не пропускает, файл на гугл диске: https://drive.google.com/open?id=1jclhScTbxe8YJsyV8pJwcm4P1U8Hlbyf
заранее благодарен!
Изменено: vbujym - 31.01.2018 11:15:26
 
Для каких целей вам это, и в чем собственно вопрос?
«Бритва Оккама» или «Принцип Калашникова»?
 
vbujym, присоединяюсь к предыдущему оратору, плюс позволю себе побыть кэпом и обратить Ваше внимание на особенности использования типов данных в Excel.
А именно, все ячейки хранят числовые значения, как Double, целочисленные типы из VBA при записи в ячейку преобразуются в Double и округляются до нужного числа знаков.
Догадываетесь, какие проблемы это порождает для вычислений вроде Ваших?
 
Если тут открывается майнинг-ферма, то, может быть, перенести тему в "Курилку"? ))
 
Цитата
пока начало хэша не будет равно 18 нулям
А еще число в Excel не может быть длиннее 15 знаков. Меньшие разряды, которым места не хватило, обнуляются.
 
Биткоин шагает по планете
(в прямом и в локальном смысле)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ваш код можно записать да же так
Код
Do While Not I15 = "000000000000000000" ' (18 zero)
B7 = n + 1
Loop
Но только смысла нет в нем, пока не ясна задача.
А майнить на VBA это треш :)
Минимум пару видюх (лучше Модулей FPGA, или стойка ASIC-процессоров), программное обеспечение, ну или самописное, но явно не на VBA :)
Но по-моему дома смысла мало, нужно было так лет 5 назад, а то и поболее... хотя я давно отстал от темы...
Но понимаю курс растет, народ увлекается..
«Бритва Оккама» или «Принцип Калашникова»?
 
Цитата
vbujym написал:
параметр n желательно вынести в отдельную ячейку
С таким подходом Вы похоже совсем никуда не торопитесь... Каждый шаг будет стоить по времени отображения на экране больше, чем операция n+1 во много раз больше.
И зачем только фермы строят...? :)
Хотя, если серьезно, то объясните пожалуйста суть задачи, а то таблицы весьма безлики, они как и деньги не пахнут...
 
Доброе утро!

Про майнинг: у меня стоит asic s9, это кому интересно про фермы
Про цель:  просто интересно посмотреть как это все происходит
Про целочисленные значения:  сравнение можно производить по типу данных, а-ля '000 000 000 000 000 000' пробелы специально поставил

суть задачи получить список:
при nonce "____"   hash "____"

подскажите хотя бы куда копать, точно уверен, что реализовать можно, решил обратиться к более знающим Excel товарищам за помощью, т.е. к Вам
 
А при чем здесь Excel?)
«Бритва Оккама» или «Принцип Калашникова»?
 
Под asic s9 было спец. ПО, как вы хотите майнить монеты (форки)?
«Бритва Оккама» или «Принцип Калашникова»?
 
Ребят, асик работает и без excel!!! вставил провод, вбил кошелек, пул и все работает, причем тут действительно excel
По поводу асиков и прочего майнинга есть соответствующие форумы, а также ЛС, при всем уважении!

По теме есть идеи реализации?
 
Минимум Нобелевская! По теме идеи какой? Майнинг? Своем мнение написал выше. А по поводу вашего вопроса, лично я так и не понял ваших целей/задач реализуемых в Excel.
«Бритва Оккама» или «Принцип Калашникова»?
 
Цитата
bedvit написал:
А по поводу вашего вопроса, лично я так и не понял ваших целей/задач реализуемых в Excel.
цель ясна как небо в солнечный день:

есть таблица, есть данные, есть изменяемое поле, есть хэш
как организовать некое действие (которое и требуется реализовать в коде VBA Excel или другим способом) чтобы данная таблица искала нужный хэш. Что непонятного? меняем поле nonce и получаем новый хэш, отсеиваем не соответствующий условию (первые 18 знаков нули)
Изменено: vbujym - 13.12.2017 13:31:15
 
На самом деле, макрос очень простой:
Код
Sub Майнинг()
    Do
        Range("B7") = Val(Range("B7")) + 1    ' увеличиваем nonce на единицу
        DoEvents
    Loop Until Range("B9") Like String(Len(Range("B9")), "0")    ' до тех пор, пока строка в ячейке B9 не будет состоять из одних нулей

    ' если код дошел до этого места, - у нас всё получилось
    MsgBox "Ура, готово", vbInformation, "Не прошло и миллиона лет, как мы подобрали значение"
End Sub
Изменено: Игорь - 13.12.2017 13:39:16
 
Цитата
Игорь написал:
Не прошло и миллиона лет
VBA бессмертно!!!  :D
 
строку В9 состоящую из всех нулей никогда не получить,  sha256 != 64 нулям, нужно дать условие первые 18 нулей
 
Замените строку
Код
Loop Until instr(1,Range("B9"),String(18, "0"))=1
Изменено: AAF - 13.12.2017 14:00:41
 
Цитата
AAF написал:
Замените строку
ага, спасибо огромное, код действительно простой. у меня на одном потоке считает примерно 7 хэшей в секунду))))) в 4 потока будет 28, а программка на с++ давала 37 хэшей в секунду, но я тогда не смотрел сколько потоков.
Игорь, AAF, Спасибо огромное за код!  
 
doevents можно убрать, будет быстрей, он вставлен для остановки по требованию и не стоит делать прогон обязательно через ячейку, но отображение тоже станет не в реальном времени, кстати...
Изменено: AAF - 13.12.2017 14:41:11
 
Цитата
vbujym написал:
в 4 потока будет 28
на VBA?
«Бритва Оккама» или «Принцип Калашникова»?
 
bedvit, тут, может быть, вопрос в определении сущности потока?
Изменено: AAF - 13.12.2017 19:09:58
 
Да было бы интересно узнать что за поток. Мне интересно, как здесь используется VBA. Как по мне, в майнинге каждый такт каждого чипа дорог (макс. производительность на киловатт энергии). VBA - транслируемый код, + однопоточный, + работает с ЦП (не знаю механику работы на asic s9, отдельное ли это вычислительное ядро или как для видюхи нужен спец софт, да же если писать на Си, к примеру СUDA, но подозреваю VBA на нем не сможет что либо делать, там ведь сотни процессоров/чипов - это многопараллельный интерфейс) И не совсем понятно что за
Цитата
vbujym написал:
7 хэшей в секунду
, на примере ждал минут 5 - выключил за неимением результата. Вот если бы это было на Си/С++, да еще бы и в потоках, я бы поучаствовал в теме :)
«Бритва Оккама» или «Принцип Калашникова»?
 
bedvit, в майнинге — да, в майнерах — нет. VBA — непаханое поле для создания и распространения офисной малвари, которая будет делать медленный софт ещё медленнее и тихо-мирно считать хэши. Никаких нативных api, никакого вирусоподобного поведения, выдающих макровирусы. Пусть даже считать макромайнер будет на порядок-другой медленнее сишного, зато и спалить его особо не на чем. Окучив n-e количество офисов и убрав из кода работу с ячейкой, можно вполне иметь профит.
Но, я надеюсь, у топикстартера более благородная цель:).
 
Irregular Expression, да же не представляю как это может работать :)  И насколько на офисном барахле (серваки не считаем, там все хорошо админится) можно что-то сделать (доступ к интернету, отключение безопасности макросов и т.д.). Очевидно asic s9 с его 189 процессоров/чипов и 13,5 TH/s (терахешей в секунду, т.е. 10 в 12 степени в секунду) просто и непринужденно сделает весь офисный центр Москвы :)
Могу ошибатся, т.к. не в теме.
«Бритва Оккама» или «Принцип Калашникова»?
 
Цитата
Irregular Expression написал:
Но, я надеюсь, у топикстартера более благородная цель:).
абсолютно не преследую такой цели
цель данного файла простое понимание и визуализация работы алгоритма sha256, плюс можно поиграться с диапазонами nonce
Цитата
AAF написал:
вопрос в определении сущности потока?
имею ввиду, что excel использует только один процессор из 4, в диспетчере задач 25%
Цитата
AAF написал:
не стоит делать прогон обязательно через ячейку, но отображение тоже станет не в реальном времени, кстати...
что имеется ввиду?  
 
1. Запись в ячейку занимает кучу времени
2. Обновление экрана тоже
Если можно было бы выводить, скажем каждый сотый раз, то 99 изменений происходили бы значительно быстрее.
Цитата
Игорь написал:
Не прошло и миллиона лет
Без вывода можно смело скостить лет 900000... :)
 
как это можно реализовать? вывод можно сделать только правильного значения
 
Цитата
vbujym написал:
excel использует только один процессор из 4, в диспетчере задач 25%
потому как
Цитата
bedvit написал:
VBA - транслируемый код, + однопоточный, + работает с ЦП
:)
«Бритва Оккама» или «Принцип Калашникова»?
 
А какое правильное?
Как его идентифицировать для вывода?
Изменено: AAF - 14.12.2017 17:07:36
Страницы: 1 2 3 След.
Читают тему
Наверх