Я тест с небольшим количеством (0,1 BTC) и сделками, созданных в порядке.
Когда я пытаюсь сделать полную сумму оплаты, я получил эту ошибку.
Я использую BitcoinQT0.6.2
Кто-то пожалуйста, объясните, в чем может быть проблема.
|
24 июня 2012, 1:38:40 AM | # 1 |
Сообщения: 658
цитировать ответ |
Re: Помогите! Я получаю «Ошибка: создание транзакций не удалось»
Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome" Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e подробнее... Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru Я тест с небольшим количеством (0,1 BTC) и сделками, созданных в порядке.
Когда я пытаюсь сделать полную сумму оплаты, я получил эту ошибку. Я использую BitcoinQT0.6.2 Кто-то пожалуйста, объясните, в чем может быть проблема. |
24 июня 2012, 7:11:13 PM | # 2 |
Сообщения: 1512
цитировать ответ |
Re: Помогите! Я получаю «Ошибка: создание транзакций не удалось»
Получил 1806 Биткоинов
Реальная история. Была ошибка была написана в debug.log?
Я хотел бы закрыть и повторный запуск Bitcoin с опцией -rescan командной строки, так что вы можете быть уверены, что ваш баланс является правильным (они могут быть неправильными адреса изменения и т.д., вы можете не увидеть проблему баланса в Bitcoin-QT. Вот код, который, кажется, генерировать ошибку, функция SendMoney: wallet.cpp Код: Строка CWallet :: SendMoney (CScript scriptPubKey, int64 nValue, CWalletTx& wtxNew, BOOL fAskFee) { CReserveKey reservekey (это); int64 nFeeRequired; если (IsLocked ()) { Строка strError = _ ("Ошибка: Кошелек заблокирован, не может создавать транзакции "); Е ("SendMoney ():% s", StrError.c_str ()); вернуться strError; } если (! CreateTransaction (scriptPubKey, nValue, wtxNew, reservekey, nFeeRequired)) { строка strError; если (nValue + nFeeRequired > GetBalance ()) strError = strprintf (_ ("Ошибка: Эта сделка требует плату за транзакцию, по крайней мере,% s из-за его размера, сложности или использования недавно полученных средств "), FormatMoney (nFeeRequired) .c_str ()); еще strError = _ ("Ошибка: создание транзакций не удалось "); Е ("SendMoney ():% s", StrError.c_str ()); вернуться strError; } если (fAskFee && ! ThreadSafeAskFee (nFeeRequired, _ ("Посылка ..."))) вернуть "ПРЕРВАНО"; если (! CommitTransaction (wtxNew, reservekey)) вернуть _("Ошибка: Сделка была отклонена. Это может произойти, если некоторые из монет в кошельке были уже потрачены, например, если вы использовали копию wallet.dat и монеты были потрачены в копии, но не помечены как провели здесь."); MainFrameRepaint (); вернуть ""; } Это, кажется, ошибки-неоднородная, что функция CreateTransaction () не удалось, но не из-за баланса, проблемы плата или блокировки файлов. Что-то пошло не так здесь и не вернулся истинным: Код: BOOL CWallet :: CreateTransaction (Const вектор<пара { Int64 nValue = 0; BOOST_FOREACH (Const PAIRTYPE (CScript, Int64)& с, vecSend) { если (nValue < 0) вернуться ложным; nValue + = s.second; } если (vecSend.empty () || nValue < 0) вернуться ложным; wtxNew.BindWallet (это); { Lock2 (cs_main, cs_wallet); // txdb должен быть открыт до замка mapWallet CTxDB txdb ("р"); { nFeeRet = nTransactionFee; петля { wtxNew.vin.clear (); wtxNew.vout.clear (); wtxNew.fFromMe = TRUE; Int64 nTotalValue = nValue + nFeeRet; двойная dPriority = 0; // vouts к ремитентам BOOST_FOREACH (Const PAIRTYPE (CScript, Int64)& с, vecSend) wtxNew.vout.push_back (CTxOut (s.second, s.first)); // Выбираем монеты для использования задавать<пара Int64 nValueIn = 0; если (! SelectCoins (nTotalValue, setCoins, nValueIn)) вернуться ложным; BOOST_FOREACH (PAIRTYPE (Const CWalletTx *, беззнаковое целое) pcoin, setCoins) { Int64 nCredit = pcoin.first->Vout [pcoin.second] .nValue; dPriority + = (дважды) nCredit * pcoin.first->GetDepthInMainChain (); } Int64 nChange = nValueIn - nValue - nFeeRet; // если требуется изменить суб-цент, плата должна быть увеличена по крайней мере MIN_TX_FEE // или пока nChange не станет равным нулю // Примечание: это зависит от конкретного поведения GetMinFee если (nFeeRet < MIN_TX_FEE && nChange > 0 && nChange < CENT) { Int64 nMoveToFee = мин (nChange, MIN_TX_FEE - nFeeRet); nChange - = nMoveToFee; nFeeRet + = nMoveToFee; } если (nChange > 0) { // Примечание: Мы используем новый ключ здесь, чтобы держать его не очевидно, какая сторона является изменение. // Недостаток состоит в том, что, не повторное использование ранее ключ, то изменения могут быть потеряны, если // восстановлении резервной копии, если резервная копия не имеет новый секретный ключ для изменения. // Если мы повторно старый ключ, можно было бы добавить код для поиска и // заново открыть неизвестные транзакции, которые были написаны с ключами нашего, чтобы восстановить // после резервного копирования изменений. // Резервного новая пара ключей от ключевого пула вектор<неподписанные символ> vchPubKey = reservekey.GetReservedKey (); // утверждают (mapKeys.count (vchPubKey)); // Заполнить Vout самим себе // TODO: пройти в scriptChange вместо reservekey так // сделка изменения не всегда обращает к Bitcoin-адрес CScript scriptChange; scriptChange.SetBitcoinAddress (vchPubKey); // Вставка изменения TxN в случайном месте: вектор wtxNew.vout.insert (положение, CTxOut (nChange, scriptChange)); } еще reservekey.ReturnKey (); // Заполнить ВИНА BOOST_FOREACH (Const PAIRTYPE (Const CWalletTx *, беззнаковое целое)& монета, setCoins) wtxNew.vin.push_back (CTxIn (coin.first->GetHash (), coin.second)); // Знак INT NIN = 0; BOOST_FOREACH (Const PAIRTYPE (Const CWalletTx *, беззнаковое целое)& монета, setCoins) если (! SignSignature (* это * coin.first, wtxNew, NIN ++)) вернуться ложным; // Ограничить размер неподписанных INT = ::-байт GetSerializeSize (* (CTransaction *)&wtxNew, SER_NETWORK, protocol_version); если (число-байт >= MAX_BLOCK_SIZE_GEN / 5) вернуться ложным; dPriority / = число-байт; // Проверка, что достаточно плату входит Int64 nPayFee = nTransactionFee * (1 + (Int64) число-байт / 1000); BOOL fAllowFree = CTransaction :: AllowFree (dPriority); Int64 nMinFee = wtxNew.GetMinFee (1, fAllowFree, GMF_SEND); если (nFeeRet < макс (nPayFee, nMinFee)) { nFeeRet = макс (nPayFee, nMinFee); Продолжать; } // Заполнит vtxPrev путем копирования из предыдущих сделок vtxPrev wtxNew.AddSupportingTransactions (txdb); wtxNew.fTimeReceivedIsTxTime = TRUE; ломать; } } } возвращает истину; } Я хотел бы посмотреть на все "вернуться ложным" случаев выше, и выяснить, если что-то о вашей сделке (остатки, и т.д.) может установить от одного из них. Еще одна вещь, которую вы можете сделать, чтобы бросить случайные идеи на эту проблему создать больше резервных адресов, начиная Bitcoin с параметром командной строки bitcoin.exe -keypool = 150. Другая возможность состоит в том, что есть большая плата требуется из-за текущий размер или размера входов, которые вы используете блок, но ошибка в клиенте не запрашивая, что вы могли бы ударяться добровольным взносом в клиенте .01 и посмотреть, если он идет. |
24 июня 2012, 11:30:43 PM | # 3 |
Сообщения: 2366
цитировать ответ |
Re: Помогите! Я получаю «Ошибка: создание транзакций не удалось»
Другая возможность состоит в том, что есть большая плата требуется из-за текущий размер блока Код недопонимание обнаружено: Пошлины, используемые в генерации TXN не имеет абсолютно ничего общего с текущим размером блока. Наиболее частая причина такого отказа, которую я видел в прошлом, когда бумажник загрязнена несметными очень маленьких входов и заканчивается выбор так много полученный TXN является >100KB, что она отказывается выдавать. Litecoin несет патч Множества минимальное значение для входов, которые будут рассматриваться при выборе монет. |
25 июня 2012, 12:25:15 AM | # 4 |
Сообщения: 1512
цитировать ответ |
Re: Помогите! Я получаю «Ошибка: создание транзакций не удалось»
Другая возможность состоит в том, что есть большая плата требуется из-за текущий размер блока Код недопонимание обнаружено: Пошлины, используемые в генерации TXN не имеет абсолютно ничего общего с текущим размером блока. |
4 мая 2013, 5:07:03 PM | # 5 |
Сообщения: 122
цитировать ответ |
Re: Помогите! Я получаю «Ошибка: создание транзакций не удалось»
я знаю, эта тема старая, но у меня есть такая же проблема "Ошибка: создание транзакций не удалось"
Seriouscoin сделал у menaged, чтобы решить эту проблему? я хочу, чтобы отправить 0,5 BTC кому-то и я не могу, bcoz им получить эту ошибку я пытался установить Diferent положения - 0,00025, 0,0005, 0,001, 0,01 и даже 0,1 (смеется) им с помощью Bitcoin-кварт 0.8.1 Просьба помочь OFC клиент синхронизирован и т.д. я пытался с -keypool 1000, но до сих пор не работает я также пытался отправить BTC 2 Diferent адресам Редактирование: Проблема решена экспорт и импорт privkeys в новый кошельке helpd |
4 сентября 2013, 4:35:54 AM | # 6 |
Сообщения: 128
цитировать ответ |
Re: Помогите! Я получаю «Ошибка: создание транзакций не удалось»
я знаю, эта тема старая, но у меня есть такая же проблема "Ошибка: создание транзакций не удалось" Редактирование: Проблема решена экспорт и импорт privkeys в новый кошельке helpd Как ты сделал это? У меня такая же проблема сейчас с клиентом 8.3 |
4 сентября 2013, 4:57:03 AM | # 7 |
Сообщения: 2366
цитировать ответ |
Re: Помогите! Я получаю «Ошибка: создание транзакций не удалось»
Редактирование: Проблема решена Если отказ от пыли в вашем старом кошельке, могу я, пожалуйста, свой старый бумажник, так что я могу очистить данные из сети, поэтому сеть не должна хранить этот мусор навсегда? (Я бы также хотел бы попробовать фиксируя его так, что это не происходит так легко)экспорт и импорт privkeys в новый кошельке helpd |