Author

Topic: Почему именно 288 verify блоков (Read 1074 times)

sr. member
Activity: 460
Merit: 250
December 26, 2014, 06:42:22 AM
#7
я это делаю в свете отрицательных транзакций

а именно при такой проверке (рекурсивной)
CheckTransaction
не видит nTotalIn
что логично ведь проверка идет задомнаперед.... Undecided

а nTotalIn у меня должен быть положительным и известным
однако с отрицательными транзакциями когда totalout может быть отрицательным и нужно делать проверку на положительность суммы nTotalIn+totalout
то есть если идет отрицательный АУТ то  nTotalIn+(-totalout) >=0 иначе ошибка

в данный момент сделал так что при проверке блоков из локальной базы
и при проверке wallet при загрузке кошелька
отключаю проверку nTotalIn+(-totalout) >=0

однако сохраняю эту проверку на уровне майнинга
и прием блоков из сети

типа верю себе
другим не доверяю

не знаю насколько это безопасно...
надо думать
если не безопасно то нужно придумать способ проверки от малого к большему номеру блока,
 а не рекурсивно как сейчас
legendary
Activity: 1400
Merit: 1000
почему в init.cpp именно 288 блоков проверяется а остальные нет?
 в чем магичность этого числа?
почему не 6
 или скажем не 120?
в Novacoin 2500 блоков последних проверяется по умолчанию.
Можно любое число выставить. От этого зависит лишь время проверки, и то насколько качественна это проверка
legendary
Activity: 1260
Merit: 1019
Я поставил себе в батнике проверять 3 (три) последние блока. Хватит.
Впрочем, клиент мне нужен в основном для того, чтобы тянуть из сети базу блоков.
Запущен он у меня не круглосуточно, но даже синхронизировать базу за последние 2-3 дня - это "адъ"
hero member
Activity: 672
Merit: 500
Попробуйте найти ответ сами. Покажите нам что вы отличаетесь от среднего человека который только и ищет готовые ответы.
Undecided

то что это 2 дня и так ясно
можно подумать что 2 дня это некий тайный смысл
с таким же успехом можно и 3 дня поставить

в чем обоснованность?
https://github.com/bitcoin/bitcoin/issues/2205#issue-10237231
sr. member
Activity: 460
Merit: 250
подсказка: 6*24*2
Попробуйте найти ответ сами. Покажите нам что вы отличаетесь от среднего человека который только и ищет готовые ответы.
то что это 2 дня и так ясно
можно подумать что 2 дня это некий тайный смысл
с таким же успехом можно и 3 дня поставить

в чем обоснованность?
hero member
Activity: 672
Merit: 500
почему в init.cpp именно 288 блоков проверяется а остальные нет?
 в чем магичность этого числа?
подсказка: 6*24*2
Попробуйте найти ответ сами. Покажите нам что вы отличаетесь от среднего человека который только и ищет готовые ответы.
sr. member
Activity: 460
Merit: 250
почему в init.cpp именно 288 блоков проверяется а остальные нет?
 в чем магичность этого числа?
почему не 6
 или скажем не 120?
Jump to: