ri (OP)
|
|
December 13, 2013, 09:47:13 PM Last edit: December 13, 2013, 09:58:22 PM by ri |
|
Доброго времени суток. Как ни странно, не нашел на форуме раздела о кошельках, пришлось создать тему тут... Вопрос в следующем - есть ли в ***coin-qt какой-нибудь способ отправить перевод с комиссией меньше рекомендуемой (кроме формирования raw transaction - ибо слишком муторно)? Просто иногда клиент требует совершенно неприличный размер комиссии (например, при переводе 40 койнов требует 4,4 койна комиссию, т.е. 11%), а хотелось бы отправлять с комиссией максимум 2-3%, в идеале - меньше 1. Если в qt-клиенте это невозможно, то может ли в этом помочь ***coind? Параллельный вопрос - как вообще кошелек определяет размер комиссии? Например, пытаюсь сделать перевод в 10 койнов, жму "отправить" - предлагает комиссию в 0,9 койна. Отказываюсь, ничего не меняя нажимаю "отправить" еще раз - предлагает уже комиссию в 0,7. Опять отказываюсь, снова ничего не меняя жму "отправить" - предлагает уже 0,8. При следующей попытке - снова 0,9. Они что, размер транзакций рандомно генерируют ?
|
|
|
|
|
|
|
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
|
|
rPman
Legendary
Offline
Activity: 1120
Merit: 1069
|
|
December 16, 2013, 04:15:29 AM |
|
Например, пытаюсь сделать перевод в 10 койнов, жму "отправить" - предлагает комиссию в 0,9 койна. Отказываюсь, ничего не меняя нажимаю "отправить" еще раз - предлагает уже комиссию в 0,7. Опять отказываюсь, снова ничего не меняя жму "отправить" - предлагает уже 0,8. При следующей попытке - снова 0,9. Они что, размер транзакций рандомно генерируют ? В нормальных криптовалютах такого не замечено. Комиссия полностью зависит от количества входов, их которых состоит перевод (входы - это ваши входящие переводы в кошелек), не зависит от суммы напрямую и не может зависеть от времени (за исключением случаев, когда между попытками в кошельке появляются новые транзакции). p.s. Какой бы форк не был, почти наверняка в нем есть rpc команда sendmany (создает транзакцию с указанием нескольких выходов). Недавно я заметил что в bitcoin эта транзакция создается без комиссии. Это не гарантирует что и в вашем форке так будет. Правда в этом случае вы не узнаете о комиссии и ее размере, пока не попробуете. Самый простой способ провести эксперимент, сделайте копию вашего wallet.dat (всегда делайте кстати, например сейчас), запускаете кошелек, отключаете интернет, делаете транзакцию, смотрите что получилось, если не устраивает - закрываете кошелек и восстанавливаете из бакапа и возвращаете интернет, иначе просто возвращаете интернет (транзакция уйдет в сеть). p.p.s. Есть форки, в которых без комиссии нельзя создавать транзакции, например novacoin, правда я не уверен, в каких пределах там можно эту комиссию менять.
|
|
|
|
tvskit
Legendary
Offline
Activity: 1358
Merit: 1008
|
|
December 16, 2013, 04:52:53 AM |
|
а есть ли вообще, какие либо правила, рекомендации по минимизации комиссии по отравке btc, ltc, nmc и т.д.? тема уж шибко интересная. Интерсно знать зависимости обьема и врнмени от комисссии.
|
|
|
|
rPman
Legendary
Offline
Activity: 1120
Merit: 1069
|
|
December 16, 2013, 05:23:06 AM |
|
Комиссия полностью зависит от количества входов, их которых состоит перевод (входы - это ваши входящие переводы в кошелек), не зависит от суммы напрямую и не может зависеть от времени (за исключением случаев, когда между попытками в кошельке появляются новые транзакции). Еще более точно, комиссия прямо пропорциональна размеру транзакции в килобайтах, т.е. это плата за место в блокчейне. Коэффицент, от которого определяется эта комиссия, определяется в и исходниках, например litecoin в коде можно найти что то типа: int64 nPayFee = nTransactionFee * (1 + (int64)nBytes / 1000); и такие константы, для приблизительной оценки (раньше было просто одна константа, теперь код чуть чуть посложнее) /** Dust Soft Limit, allowed with additional fee per output */ static const int64 DUST_SOFT_LIMIT = 1000000; // 0.01 LTC /** Dust Hard Limit, ignored as wallet inputs (mininput default) */ static const int64 DUST_HARD_LIMIT = 10000; // 0.0001 LTC mininput
кстати nTransactionFee можно напрямую установить через rpc settxfee <amount> <amount> is a real and is rounded to the nearest 0.00000001
|
|
|
|
ri (OP)
|
|
December 17, 2013, 12:57:32 AM |
|
Спасибо за ответы, с момента написания первого поста произошло много нового... Обнаружилось, что с течением времени размер комиссии имеет тенденцию к уменьшению, только вот как предсказать это уменьшение - непонятно. Наверное, следует описать ситуацию подробнее - конкретно речь идет о bbqcoin, на кошельке входящих транзакций очень много (майнил через p2pool). Так вот - при попытке отправить намайненное на биржу выставлял очень большие комиссии. Через день-два сумел отправить большую часть суммы стандартным способом вообще без комиссий, однако небольшими порциями (по 10-20 bqc). А вот оставшуюся сумму ну никак - требует больших комиссий и все тут (конкретно 3,8 bqc за отправку чуть более 19). По поводу sendmany - заморачиваться с отключением сети не стал, поскольку кошелек хочу опустошить - просто задал для отправки всю имеющуюся сумму. Увы, неудачно - возможно, не совсем понял, как пользоваться этой командой. Сначала попробовал запустить sendmany адрес_получателя:сумма_на_кошельке получил: {"code":-1,"message":"sendmany <fromaccount> {address:amount,...} [minconf=1] [comment]\namounts are double-precision floating point numbers"} Предположив, что fromaccount в параметрах команды имеет статус обязательного, нашел, на каком из адресов у меня максимальный баланс (при помощи http://bbq.cryptocoinexplorer.com/ ) и запустил как sendmany один_из_моих_адресов_далее_адрес1 адрес_получателя:сумма_пришедшая_на_адрес1_и_еще_не_ушедшая Получил Error: type mismatch Что я не так делаю? Далее - решил поэкспериментировать с settxfee . Выполнил в консоли settxfee 0.00000001, получил в ответ обнадеживающее true. Залез в настройки, обнаружил, что опция "Pay transaction fee" установилась в то же значение - наверное, выполнение команды эквивалентно установке этой опции? Далее, попробовав отправить всю сумму, лежащую на кошельке получил сообщение, что если будет добавлена комиссия в 0.00000001 - то сумма превысит мой баланс. Что ж, логично, сделал сумму отправки на 0.00000001 меньше, опять попытался отправить - получил сообщение, что если будет добавлена комиссия в 3.8 bqc - то сумма превысит мой баланс... Т.е. в итоге settxfee результата тоже не принес. Так можно ли все-таки как-нибудь обмануть кошелек?
|
|
|
|
rPman
Legendary
Offline
Activity: 1120
Merit: 1069
|
|
December 17, 2013, 08:19:32 PM |
|
скобки забыл sendmany {адрес_получателя:сумма_на_кошельке} или sendmany '{адрес_получателя:сумма_на_кошельке}'
про settxfee, да, наверное это так.
|
|
|
|
ri (OP)
|
|
December 19, 2013, 05:19:43 PM |
|
В общем, почти опустошил кошелек посредством уменьшения суммы платежей (т.е. из 19 с небольшим, за перевод которых требовалась комиссия в 3.8, 18 перевел вообще без комиссии, разделив на 4 платежа (5+5+4+4). Оставшийся 1 с копейками требует за вывод комиссию в 0.6. Попробовал sendmany с кавычками, в вариантах
sendmany {адрес_получателя:сумма_на_кошельке} и соответственно sendmany '{адрес_получателя:сумма_на_кошельке}'
В обоих случаях получил {"code":-1,"message":"sendmany <fromaccount> {address:amount,...} [minconf=1] [comment]\namounts are double-precision floating point numbers"}
На всякий случай попробовал в формате sendmany один_из_моих_адресов {адрес_получателя:сумма_на_кошельке} и sendmany <один_из_моих_адресов> {адрес_получателя:сумма_на_кошельке}
На что получил (в обоих вариантах) Error: type mismatch
Так как все-таки воспользоваться этой командой?
Конечно, сумма незначительная, можно о ней просто забыть, однако хотелось бы все-таки разобраться на будущее, наверняка еще столкнусь с таким вопросом... А то как-то неправильно создавать кучу лишних транзакций для экономии на комиссиях - и в блокчейне больше места расходуется, и мне мороки больше.
|
|
|
|
rPman
Legendary
Offline
Activity: 1120
Merit: 1069
|
|
December 19, 2013, 08:13:55 PM |
|
черт, написано же sendmany <fromaccount> {address:amount,...} и я забыл указать
sendmoney '' '{куда:сколько}'
если у вас адреса получения монет были помечены чем то отличным от пустой строки, уберите пометку (или укажите ее в sendmany), это и есть название аккаунта.
|
|
|
|
ri (OP)
|
|
December 19, 2013, 09:47:56 PM |
|
Уважаемые форумчане, спасибо за ответы и простите, если испытываю ваше терпение ламерскими вопросами, но все же хотелось бы разобраться...
Т.е. для этой команды обязательно указывать <fromaccount> - адрес, на который пришли монеты или что-то другое? Вообще, признаться, я не разобрался с синтаксисом подсказок, выводимых в консоли командой help - что означают различные виды скобок... В связи с чем три вопроса - для общего уяснения:
1. Судя по вышенаписанному, фигурные скобки {} - должны присутствовать в тексте команды, так? 2. Угловые скобки <> - в команде не используются, это просто указание на обязательный параметр? 3. Квадратные скобки [] - в команде не используются, указывают, что параметр в них заключенный необязателен и может быть опущен?
Общий вопрос - можно ли где-нибудь найти подробное описание команд консоли на русском языке?
По существу: sendmoney '' '{куда:сколько}' увы, тоже не сработала, выводит Error: type mismatch
Попытался разобраться, что же такое <fromaccount>, покопавшись в списке команд консоли нашел listaccounts, выводящую у меня следующее:
{ "" : 1.04769076, "p2pool.org" : 0.00000000, "p2pool.ru" : 0.00000000 }
Здесь p2pool.org и p2pool.ru - метки к адресам, которые я указывал при майнинге на соответствующих пулах. Я так понимаю, что раз там по нулям - получается, что все монеты, которые я намайнил на этих пулах были израсходованы либо при отправке на биржу, либо при отправке самому себе (были такие транзакции при моих экспериментах), либо вернулись на мой кошелек в качестве сдачи с этих транзакций. А раз аккаунт (вот тут физического смысла не понял - что есть аккаунт?) '' содержит все средства на кошельке, то по идее sendmoney '' '{куда:сколько}' должна была сработать...
|
|
|
|
rPman
Legendary
Offline
Activity: 1120
Merit: 1069
|
|
December 20, 2013, 09:18:00 AM |
|
да, да и по всем пунктам да. Аккаунт в кошельке - это неудачная попытка сделать функционал внутренних аккаунтов на кошельке, до сих пор ни в одном форке так и не исправленная. Аккаунт - это текстовая метка, которую вы устанавливаете адресу (можно нескольким адресам дать одну и ту же метку - они будут объедены в один аккаунт). Кошелек корректно учитывает баланс на этом аккаунте, когда вы используете rpc-запрос sendfrom или пополняете баланс аккаунта, переводя на один из его адресов монеты, но как только вы потратите монеты с общего аккаунта '' или воспользуетесь копией кошелька для отправки монет (т.е. информация будет принята кошельком по факту, без конкретизации, с какого аккаунта были сняты деньги), то тогда корректность учета баланса будет нарушена. Проблема в том что когда вы делаете sendfrom монеты могут быть физически истрачены с любых адресов в кошельке, даже из других аккаунтов, а баланс будет подправлен тот что указан, отсюда и расхождение. Совершенно нормально в результате получить отрицательные балансы по аккаунтам или вообще неверный их расчет. Я не рекомендовал бы пользоваться этим механизмом и он давно требует полной переделки. Пример sendmany - именно этой командой я последний раз делал выплату дивидендов по своему groupbuy: sendmany '' '{"1N6dM97LrbErjiPY1TCsq3hYegkoSvtMoB":0.29784303,"19oydV6emRs3NDDA5v1wcjc6i2EnfCyNYV":0.056732,"1GWHJRBXBTeY34JNqvcNGNBoUSoQrP5zEL":0.03939722}' я думаю у вас адреса не заключены в двойные ковычки (формат json).
|
|
|
|
ri (OP)
|
|
December 21, 2013, 06:57:40 PM |
|
Двойных кавычек действительно не было, но и ними не получилось... Попробовал даже отправить на два адреса одновременно (второй - один из моих адресов), предположив, что данная команда, предназначенная для рассылки по нескольким адресам не может все отправить на один, но результата все равно не добился - отвечает "Error: type mismatch". Возможно, разработчики bbqcoin случайно сломали механизм выполнения этой команды...
|
|
|
|
ri (OP)
|
|
December 21, 2013, 08:06:51 PM |
|
Опа... Попробовал сегодня отправку стандартными средствами - и отправилось. Без комиссии.
Все чудесатее и чудесатее.
|
|
|
|
|