Я предлагая 25 BTC щедрот, выплачиваемая мне, первому человеку, который делает следующее:
Создать патч к последней версии Bitcoin, чтобы предложить возможность переиндексации блока цепи, следующим образом:
- Переиндексации должны происходить при запуске, если Bitcoin --reindex поставляются в качестве параметра.
- Пластырь следует читать blk0001.dat и скопировать только самую длинную цепочку в новый файл, отбрасывая любые бесхозных блоки ниже последнего закодированного контрольно-пропускного пункта, а также все, что, очевидно, испорчены. (А затем удалить blk0001.dat и переименовать новый файл в своем месте)
- Перестроить blkindex.dat с нуля на основе исключительно на содержание нового blk0001.dat файла.
- Повторное создание blkindex.dat должно происходить автоматически, в любое время Bitcoin запускается и blk0001.dat найден, но blkindex.dat отсутствует. (В этом случае, если --reindex не входит в комплект, blk0001.dat должен не быть переписано).
Для того, чтобы претендовать на награду, патч должен быть представлен на GitHub и тест успешно. Не обязательно к основному источнику клиента Bitcoin, но только там, где каждый может получить на него. (Или как запрос тянуть или вилку)
- - - - - - - - - - -
ВТОРОЙ BOUNTY (ДРУГОЕ 25 BTC):
если функция переиндексации выполняет следующие действия:
В дополнении к добавлению всех обычных данных в blkindex.dat, а также добавить дополнительный индекс, который, учитывая бинарную форму адреса Bitcoin, возвращает список всех блоков, где можно найти ссылки на этот адрес Bitcoin.
- Этот показатель не должен существовать по умолчанию, если пользователь не просит, чтобы он был построен (например --reindex полностью).
- Там должно быть функцией в коде, что позволяет индекс запрашиваться. (Если индекс не существует, то это нормально для этой функции, чтобы просто сообщить индекс не существует.)
- Pubkeys, появляющийся в операции (например, coinbase) должен быть преобразован в двоичный адрес Bitcoin перед добавлением в качестве ключей к этому индексу.
- Индекс не должен быть связан с ли ссылка на стандартную сделку, нестандартный, txin, txout, что угодно. Просто, если есть ссылка любого рода в рамках транзакции, сделать запись.
- Индекс должен обновляться каждый раз, когда новый блок записывается на диск.
То же самое правило: она должна быть на GitHub и проверяемом за щедрость к уплате.
- - - - - - - - - - -
ТРЕТИЙ BOUNTY (ДРУГОЕ 40 BTC ... ПОЛНЫЙ ПОКА 90 BTC)
Реализовать sweepprivkey функцию как я предложил в Wiki. https://en.bitcoin.it/wiki/Sweepprivkey
Sweepprivkey должен иметь возможность воспользоваться индексом, который является предметом второго Баунти, так что он завершает быстро (как правило, до 2-х секунд). Если индекс не существует, он может (по вашему выбору) либо отчет об отказе, или провести проверку блока цепи при необходимости.
- - - - - - - - - - -
ЧЕТВЕРТЫЙ BOUNTY (ДРУГОЕ 10 BTC ... ИТОГО 100 BTC)
Добавьте функцию стреловидности к пользовательскому интерфейсу. Функция развертки должна быть видна только если дополнительный индекс построен.
Развертки должны иметь свой собственный диалог. При заполнении в Bitcoin адрес и нажмите клавишу Enter, если адрес Bitcoin имеет средства, "ДА НЕТ" диалоговое окно должно появиться, сказать пользователю количество имеющихся средств, а затем задать ДА / НЕТ, "Вы хотите, чтобы подметать", Если Bitcoin адрес является недействительным или не имеет средств, единственный выбор должен быть "ОК" чтобы закрыть диалоговое окно говоря так, не да / нет.
Если пользователь щелкает да, транзакция должна быть немедленно вещать, что сметает средства на новый адрес кошелька.