amaclin1
|
|
July 02, 2019, 06:01:52 AM |
|
No information available about transaction (code -5)
Попробовать не getrawtransaction, а gettransactionПервая команда берет из блокчейна+мемпула, вторая - из кошелька Если транзакция невалидная для блокчейна - она в кошельке может остаться мусором, а в блокчейне+мемпуле, разумеется, её не будет. Естественно, если ваш клиент такое позволяет.
|
|
|
|
|
|
|
|
In order to get the maximum amount of activity points possible, you just need to post once per day on average. Skipping days is OK as long as you maintain the average.
|
|
|
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
|
|
|
amaclin1
|
|
July 02, 2019, 06:44:30 AM |
|
И то и то работает. Индексация всех транзакций сделана по умолчанию Без этого полноценная работа клиента невозможна. Да при чем тут индексация транзакций, если транзакции нет в блокчейне?
|
|
|
|
neiros (OP)
Legendary
Offline
Activity: 3500
Merit: 1100
|
|
July 02, 2019, 06:57:38 AM |
|
И то и то работает. Индексация всех транзакций сделана по умолчанию Без этого полноценная работа клиента невозможна. Да при чем тут индексация транзакций, если транзакции нет в блокчейне? В данном случае не при чём. Информация gettransaction бесполезна. getrawtransaction показывает входы и выходы транзакции. Вот эти inы и outы проблемной транзакции и нужно узнать.
|
|
|
|
amaclin1
|
|
July 02, 2019, 07:39:56 AM |
|
Информация gettransaction бесполезна. getrawtransaction показывает входы и выходы транзакции. Вот эти inы и outы проблемной транзакции и нужно узнать.
Ну блин. То что выдает gettransaction надо скормить в decoderawtransactionБудут вам и входы и выходы.
|
|
|
|
neiros (OP)
Legendary
Offline
Activity: 3500
Merit: 1100
|
|
July 02, 2019, 11:53:29 AM |
|
Сами-то поняли, что написали и где ошиблись? Информация gettransaction бесполезна. getrawtransaction показывает входы и выходы транзакции. Вот эти inы и outы проблемной транзакции и нужно узнать.
Ну блин. То что выдает getrawtransaction надо скормить в decoderawtransactionБудут вам и входы и выходы. для примера: getrawtransaction c0af3d495038affbad2f8ea10b0e51f272056c011f5921f04ceb428107adbdbc 1
Вот эта строчка делает тоже самое. Ничего дополнительно декодировать ненужно.
|
|
|
|
amaclin1
|
|
July 02, 2019, 04:55:10 PM |
|
Вот эта строчка делает тоже самое. Ничего дополнительно декодировать ненужно. Бля, ну ты долбоёб. Эта строчка сделает то же самое если найдет транзакцию в блокчейне или в мемпуле. А если, блядь, транзакция существует только в валлет.дат - то нихуя не то же самое! Человек как раз и спрашивает про эту ситуацию
|
|
|
|
neiros (OP)
Legendary
Offline
Activity: 3500
Merit: 1100
|
|
July 03, 2019, 03:26:09 AM |
|
Вот эта строчка делает тоже самое. Ничего дополнительно декодировать ненужно. Бля, ну ты долбоёб. Эта строчка сделает то же самое если найдет транзакцию в блокчейне или в мемпуле. А если, блядь, транзакция существует только в валлет.дат - то нихуя не то же самое! Человек как раз и спрашивает про эту ситуацию Транзакция в кошельке? В кошельке. В wallet.dat`е? В wallet.dat`е. В мемпуле этого кошелька, на обратной стороне Луны или в ваших фантазиях? Я практически уверен что в мемпуле этого кошелька. Поэтому я и попросил wallet.dat чтобы самому разобраться где она действительно находится. Если getrawtransaction показывает параметры неподтверждённых транзакций (добавлю, и никому более не известных транзакций изолированного от сети клиента), то он должен показать параметры проблемной. Либо же это был банальных орфан блок и он, при перезагрузке кошелька, уже сам давно испарился. Без wallet.dat я могу пока только предполагать.
|
|
|
|
amaclin1
|
|
July 03, 2019, 04:19:43 AM |
|
Транзакция в кошельке? В кошельке. В wallet.dat`е? В wallet.dat`е. В мемпуле этого кошелька, на обратной стороне Луны или в ваших фантазиях? Я практически уверен что в мемпуле этого кошелька. Нет такого понятия "мемпул кошелька". Мемпул - это транзакции, которые могут быть включены в блок, но пока еще не включены. К кошельку это никакого отношения не имеет. Но Bitcoin Core устроен так, что в файле wallet.dat хранятся копии транзакций, которые имеют отношение к приватным ключам юзера. В некоторых случаях получается так, что копия есть в файле wallet.dat а в мемпуле и блокчейне транзакции нет. Это можно получить несколькими способами - например, если отправить свою транзакцию из несинхронизированного клиента при том условии, что средства уже были потрачены - в wallet.dat такая транзакция попадет, а после синхронизации этой транзакции нигде больше не будет. Поэтому я и попросил wallet.dat чтобы самому разобраться где она действительно находится. Если getrawtransaction показывает параметры неподтверждённых транзакций (добавлю, и никому более не известных транзакций изолированного от сети клиента), то он должен показать параметры проблемной. От того, что wallet.dat будет лежать на вашем компьютере команда getrawtransaction не заработает Потому что в wallet.dat за транзакциями она не лезет. Впрочем, проверяйте сами. Может в каких-то версиях и лезет. Либо же это был банальных орфан блок и он, при перезагрузке кошелька, уже сам давно испарился. Без wallet.dat я могу пока только предполагать. Не, ну если владелец wallet.dat согласен его пересылать кому-то - да пожалуйста! Ебитесь на здоровье. Я лишь предложил способ разобраться с проблемой без передачи wallet.dat который может быть и незапаролен.
|
|
|
|
neiros (OP)
Legendary
Offline
Activity: 3500
Merit: 1100
|
|
July 03, 2019, 07:25:20 AM Last edit: July 03, 2019, 07:35:33 AM by neiros |
|
Транзакция в кошельке? В кошельке. В wallet.dat`е? В wallet.dat`е. В мемпуле этого кошелька, на обратной стороне Луны или в ваших фантазиях? Я практически уверен что в мемпуле этого кошелька. Нет такого понятия "мемпул кошелька". Есть. Не вводите в заблуждение. И в Bitcoin раньше был и сейчас есть и должен быть. Где же ему быть-то, как не в кошельке(клиенте). Мемпул - это транзакции, которые могут быть включены в блок, но пока еще не включены. К кошельку это никакого отношения не имеет. К кошельку Bitcoin Core для обычных пользователей уже, можно сказать, не имеет, а к кошельку TDC это имеет самое прямое и непосредственное отношение. Поэтому не стоит мешать одно с другим. TDC это не нынешняя фигня ввиде Bitcoin Core и его однообразных форков. Но Bitcoin Core устроен так, что в файле wallet.dat хранятся копии транзакций, которые имеют отношение к приватным ключам юзера. В некоторых случаях получается так, что копия есть в файле wallet.dat а в мемпуле и блокчейне транзакции нет. Это можно получить несколькими способами - например, если отправить свою транзакцию из несинхронизированного клиента при том условии, что средства уже были потрачены - в wallet.dat такая транзакция попадет, а после синхронизации этой транзакции нигде больше не будет. Поэтому я и попросил wallet.dat чтобы самому разобраться где она действительно находится. Если getrawtransaction показывает параметры неподтверждённых транзакций (добавлю, и никому более не известных транзакций изолированного от сети клиента), то он должен показать параметры проблемной. От того, что wallet.dat будет лежать на вашем компьютере команда getrawtransaction не заработает Потому что в wallet.dat за транзакциями она не лезет. Впрочем, проверяйте сами. Может в каких-то версиях и лезет. Для меня же Bitcoin не чёрная коробка. Я же его изъездил и изучил на уровне кода вдоль и поперёк(старую версию конечно, а не ту хрень, что уже расплодилась). Неужели вы думаете, что я не смогу, при желании, из клиента, который сам сделал, достать из wallet.dat транзакцию, если она там действительно есть? Либо же это был банальных орфан блок и он, при перезагрузке кошелька, уже сам давно испарился. Без wallet.dat я могу пока только предполагать. Не, ну если владелец wallet.dat согласен его пересылать кому-то - да пожалуйста! Ебитесь на здоровье. Я лишь предложил способ разобраться с проблемой без передачи wallet.dat который может быть и незапаролен. Спасибо конечно, но по-моему с каждой новой версией Bitcoin Core вы, да наверное и не только вы, становитесь всё большим дилетантом в ключевых вопросах. На мой взгляд, конечно.
|
|
|
|
amaclin1
|
|
July 03, 2019, 07:59:02 AM |
|
Спасибо конечно, но по-моему с каждой новой версией Bitcoin Core вы, да наверное и не только вы, становитесь всё большим дилетантом в ключевых вопросах. На мой взгляд, конечно. Ну, короче, сами справитесь без моей помощи. Я, действительно, не особо этим вопросом озабочен. Что там вы наваяли в клиенте. Да и не назвал бы это "ключевым вопросом". Это вообще ниачом вопрос. Дело началось с того, что у чела не работала getrawtransaction, я предложил попробовать другую команду. Чего это вы так возбудились - мне непонятно.
|
|
|
|
neiros (OP)
Legendary
Offline
Activity: 3500
Merit: 1100
|
|
July 03, 2019, 08:20:03 AM |
|
|
|
|
|
Yodo
Jr. Member
Offline
Activity: 45
Merit: 1
|
|
July 31, 2019, 09:54:37 AM |
|
a total coin supply постоянно растет- получается эмиссия ничем неограничена? просто с ростом сложности и уполовиниванием награды будет поступать все меньше монет? Если сумма комиссий транзакций в блоках становится больше заданной алгоритмом величины, эмиссия прекращается. -это произойдет совсем нескоро и только если монетой вовсю начнут пользоваться? а до этого coin supply может раздуться и до 100млн?
|
|
|
|
|
neiros (OP)
Legendary
Offline
Activity: 3500
Merit: 1100
|
|
August 01, 2019, 06:44:07 AM |
|
a total coin supply постоянно растет- получается эмиссия ничем неограничена? Количество монет пока растёт согласно алгоритму эмиссии. Эмиссия ограниченна. Но жесткого ограничения нет. просто с ростом сложности и уполовиниванием награды будет поступать все меньше монет?
Да. Если сумма комиссий транзакций в блоках становится больше заданной алгоритмом величины, эмиссия прекращается. -это произойдет совсем нескоро и только если монетой вовсю начнут пользоваться? а до этого coin supply может раздуться и до 100млн?
До 100млн вряд ли. Примерно +/- на это количество 128 * 210000 * 2 = 53760000 можно ориентироваться. Да. nukis, похоже, умеет мыслить самостоятельно.
|
|
|
|
neiros (OP)
Legendary
Offline
Activity: 3500
Merit: 1100
|
|
October 16, 2019, 01:05:44 PM Last edit: January 14, 2021, 12:29:14 PM by neiros |
|
_оффтопик_
| Чем в последнее время я занимался.
Сделал геотермальный контур: 8 скважин (2*4), 285 метров пнд труб 25-ого диаметра. Кому надо пробурить дырку в земле, обращайтесь. Пол дня делов, без учета подготовительных работ. Тепловой насос - кондиционер MSS-12R08 с минимальными "косметическими" переделками наружного блока. Установил один ветрогенератор. Плюс к этому ещё один, нежданчик, бонусный, почти бесплатный(спасибо китайцам) установил на мачту которую пришлось сварить из металлолома, что под рукой был. А также заборы, ворота, калитки и т.п. мелочи. Всё вполне нормально и выглядит и работает.
Так что переход на использование только энергии солнца и ветра для отопления(?) и электроснабжения в сибирских условиях вполне реален и даже относительно мало затратен как по материалам, так и по времени. Конечно для тех у кого руки из нужного места растут. Как-нибудь про это дело отдельную статью надо будет написать.
Ведь налоги за солнечный свет, за ветер, за воздух и т.п. пока ещё ни одно централизованное хуйло в законе не догадалось ввести.
|
Всё-таки обрабатывать какую-нибудь деревяшку, железку или чинить/латать какую-угодно фиговину мне больше нравиться, чем пилить какой-нибудь программный код. Но сейчас уже руки дошли до возможного решения этой проблемы - https://bitcointalk.org/index.php?topic=2254304.msg51666221#msg51666221Самый простой вариант примерно такой: 1. Не создавать, а соответственно и не отправлять, транзакцию если нет соединения хотя бы с одной нодой. 2. Если есть соединение, узнаём текущую высоту блокчейна. 3. Создаём и отправляем транзакцию только из тех выходов, глубина которых не ниже рабочей длины блокчейна минус некоторая константа по времени, определяемая через количество блоков для относительно гарантированного попадания транзакции в блокчейн из расчета одни сутки это ~ 24 * 12 блоков в час. Думаю круглой цифры в 1000 блоков будет достаточно. Это почти 3 с половиной дня. Так как при создании транзакции наибольший приоритет у самых древних непотраченных выходов - https://github.com/neiros/TDC/blob/TDC/src/wallet.cpp#L1038 , то если глубина таких выходов будет больше 105000, то не имеет смысла включать эти выходы в транзакцию, так как они уже будут пустыми, т.е. потраченными коинтрансфер транзакцией. По-моему этого пока будет вполне достаточно. Осталось собраться, освежить подзабытые навыки и знания, и сделать и добавить что-то примерно подобное, а может и более навороченное. Тут уж как получится.
|
|
|
|
Deff
Sr. Member
Offline
Activity: 939
Merit: 261
Data HDD Repair - Recovery of lost information
|
|
October 17, 2019, 11:35:27 AM |
|
У тебя вот это срабатывает // Broadcast (передача) if (!wtx.AcceptToMemoryPool(false)) { // This must not fail. The transaction has already been signed and recorded. Это не должны подвести. Транзакция уже подписана и зарегистрированна. printf("CommitTransaction() : Error: Transaction not valid"); return false; } Нужна проверка до записи в Wallet.dat. У тебя в Wallet.dat транзакция записывается а дальнейшую проверку она пройти не может.
|
|
|
|
neiros (OP)
Legendary
Offline
Activity: 3500
Merit: 1100
|
|
October 17, 2019, 01:31:43 PM Last edit: January 14, 2021, 12:29:55 PM by neiros |
|
У тебя вот это срабатывает // Broadcast (передача) if (!wtx.AcceptToMemoryPool(false)) { // This must not fail. The transaction has already been signed and recorded. Это не должны подвести. Транзакция уже подписана и зарегистрированна. printf("CommitTransaction() : Error: Transaction not valid"); return false; } Нужна проверка до записи в Wallet.dat. У тебя в Wallet.dat транзакция записывается а дальнейшую проверку она пройти не может. Это дело AcceptToMemoryPool(false) ведёт нас сюда - https://github.com/neiros/TDC/blob/TDC/src/main.cpp#L1078А это accept(state, *this, fLimitFree, NULL) сюда - https://github.com/neiros/TDC/blob/TDC/src/main.cpp#L803где находится ещё довольно много стандартных проверок, которые и не пускают даблспенд транзакции. В общем то это правильно. Как я и предполагал. Какие-либо проверки до записи в wallet.dat при отсутствии коннекта с сетью или при не синхронизированном блокчейне, как вероятно получилось в недавнем случае, бесполезны. Разве что можно ещё учитывать текущее время компа, но это так себе проверка - одно название по сути. Больше потенциального вреда от неё скорее всего можно ожидать, чем пользы. Самое простое и быстрое, как мне кажется, возможное решение такой проблемы я предложил постом выше. Это не совсем стопроцентное решение, но чтобы с эмулировать возникновение подобного случая нужно быть ещё тем извращенцем или уж очень "везучим" на такое пользователем.
|
|
|
|
Deff
Sr. Member
Offline
Activity: 939
Merit: 261
Data HDD Repair - Recovery of lost information
|
|
October 17, 2019, 01:48:14 PM |
|
У тебя вот это срабатывает // Broadcast (передача) if (!wtx.AcceptToMemoryPool(false)) { // This must not fail. The transaction has already been signed and recorded. Это не должны подвести. Транзакция уже подписана и зарегистрированна. printf("CommitTransaction() : Error: Transaction not valid"); return false; } Нужна проверка до записи в Wallet.dat. У тебя в Wallet.dat транзакция записывается а дальнейшую проверку она пройти не может. Это дело AcceptToMemoryPool(false) ведёт нас сюда - https://github.com/neiros/---TTC--TDC---/blob/TDC/src/main.cpp#L1078А это accept(state, *this, fLimitFree, NULL) сюда - https://github.com/neiros/---TTC--TDC---/blob/TDC/src/main.cpp#L803где находится ещё довольно много стандартных проверок, которые и не пускают даблспенд транзакции. В общем то это правильно. Как я и предполагал. Какие-либо проверки до записи в wallet.dat при отсутствии коннекта с сетью или при не синхронизированном блокчейне, как вероятно получилось в недавнем случае, бесполезны. Разве что можно ещё учитывать текущее время компа, но это так себе проверка - одно название по сути. Больше потенциального вреда от неё скорее всего можно ожидать, чем пользы. Самое простое и быстрое, как мне кажется, возможное решение такой проблемы я предложил постом выше. Это не совсем стопроцентное решение, но чтобы с эмулировать возникновение подобного случая нужно быть ещё тем извращенцем или уж очень "везучим" на такое пользователем. Причину этой ошибки думается ты лучше знаешь, разговор о другом. В любом случае в Wallet.dat не должна попадать транзакция с ошибками при проверке ее валидности. Или добавь новую проверку - до включения транзакции в Wallet.dat или измени очередность имеющихся.
|
|
|
|
neiros (OP)
Legendary
Offline
Activity: 3500
Merit: 1100
|
|
October 17, 2019, 02:37:48 PM |
|
Причину этой ошибки думается ты лучше знаешь, разговор о другом. В любом случае в Wallet.dat не должна попадать транзакция с ошибками при проверке ее валидности. Вне всяких сомнений. Или добавь новую проверку - до включения транзакции в Wallet.dat или измени очередность имеющихся.
Так точно, сэр! Есть, сэр! Слушаюсь, сэр! Разрешите исполнять, сэр?! Есть только один небольшой момент консенсуса данного коина: транзакция может быть абсолютно валидной в некий конкретный момент времени, но уже через секунду сталь совершенно невалидной. Я вместо 1 секунды сделаю временной лаг в 3 с половиной дня и если после этого никаких подобных проблем не всплывёт, значит проблема, можно сказать, будет решённой. Хотя по хорошему здесь нужен гораздо более основательный подход, с учётом всех возможных и не возможных вариантов. Но на данное время этот коин не настолько популярен, чтобы уделять такой незначительной мелочи уж очень пристальное внимание.
|
|
|
|
|