Изучаю гитхаб и некоторые уже
закрытые пулреквесты, какие там вкусности...
*
https://github.com/bitcoin/bitcoin/pull/841 - rpc gettransaction для любых транзакций, а не только из кошелька (закрыт), жаль еще не работает для пула неподтвержденных транзакций (я бы разделил разными командами), нереально полезное изменение (блин там кода кот наплакал... не могли раньше сделать, а я дурак думал там сложно)
теперь с помощью только rpc на запущенном клиенте можно анализировать базу:
1. ключом указать приложение, автоматически запускаемое при появлении нового блока -blocknotify
2. с помощью getinfo узнаем последний блок
3. с попомощью getblockhash узнаем хеш блока по индексу (кстати -blocknotify в параметрах запуска приложения может указать хеш нового блока)
4. с помощью getblock получаем краткую информацию по блоку и список хешей транзакций
5. с помщью gettransaction получаем информацию по любой транзакции!!!
Теперь приложение, анализирующее блокчейн не требует утилиты или abe и занимает всего одну страничку кода (даже меньше), все это в реальном времени, без перезапуска и остановки клиента (у меня был вариант с созданием снапшота lvm для диска, на котором размещен блокчейн, все лучше чем останавливать офф клиент или хранить две базы блоков рядом)
p.s. пока есть недостаток, нужно самостоятельно парсить "scriptSig" и "scriptPubKey" (в чистом виде не показаны адреса)
*
https://github.com/bitcoin/bitcoin/pull/1386 - запуск комманд при появлении транзакций в соответствии с условием (еще открыт)
*
https://github.com/bitcoin/bitcoin/pull/1174 - поддержка tor (bitcoin как нода сети) (еще открыт но я так понимаю уже работает), странно что для i2p нет аналогичного реквеста
*
https://github.com/bitcoin/bitcoin/pull/570 - возможность узнать до отсылки и даже принудительно указать свою комиссию на транзакцию (открыт), даже без принудительного указания я считаю очень полезная вещь (мне бы хватило возможности указать допустимые границы для комиссии, и если она их превышает - выдавать error вместо создания транзакции)
...
p.s. есть желающие/способные перевести мой
issue в статус реквеста? Я думаю это очень полезное и удобное нововведение, не требующее серьезного кодинга:
Разделение wallet.dat на две части - приватные ключи и остальное
wallet.dat слишком часто обновляется, имеет неоправданно большой размер, это создает неудобства при его обслуживании и резервном копировании.
1. wallet-private.dat: часть с секретными ключами должна содержать только ту информацию, достаточную чтобы обеспечить полный доступ к бумажнику, на данный момент это может быть только список адресов в виде пар их открытого и закрытого ключей.
2. wallet-cache.dat: остальная информация (метки, комментарии, кэша транзакций и т.д.) должна быть перемещена в другой файл. Наиболее важная информация из этого может быть восстановлена из blockchain и предыдущего файла с ключами с помощью ключа командной строки -rescan
p.s. Также можно добавить два дополнительных ключа командной строки для указания различных мест хранения этих файлов (я думаю, что wallet-private.dat может находиться на съемном диске, а, например, в будущем, на других устройств с доступом по API, подобно клиенту Электрум)