Pages:
Author

Topic: txfee: Что за нафиг? - page 3. (Read 9120 times)

sr. member
Activity: 868
Merit: 251
April 14, 2011, 01:30:51 PM
#17
Похоже просто криворукие сиплюсисты забыли что надо спрашивать пользователя в консольном клиенте.
Товарищ, консольный клиент - это просто гейт с консоли в API. В API же спрашивать не предусмотрено, там чёткая схема "запрос-ответ". Оно возвращает код ошибки 4, внятный API-клиент должен как-то это всё обработать. Текущий консольный API, повторяю, просто транслирует запросы и никаким умом не наделён в принципе.
Как-то так сложилось, что по большей части консольные штучки рассчитаны на пользователя с собственным /dev/brain.
adv
full member
Activity: 168
Merit: 100
April 14, 2011, 09:55:24 AM
#16
Вообще да, надо бы этот вопрос с подтверждением комиссий обсосать в аглицкой ветке девелоперов. Напишете сами?
https://bitcointalksearch.org/topic/a-bug-in-the-bitcoind-who-steals-your-money-5827
adv
full member
Activity: 168
Merit: 100
April 14, 2011, 09:39:56 AM
#15
Это чё, плата за перевод обязательна? А почему именно 0.13?
Не должна быть. Похоже просто криворукие сиплюсисты забыли что надо спрашивать пользователя в консольном клиенте.
Именно 0.13, насколько я понял, по тому, что по-умолчанию плата 0.01, а размер транзакции 13 Кб.
adv
full member
Activity: 168
Merit: 100
April 14, 2011, 09:30:44 AM
#14
А в случае, если бы я предварительно установил txfee в 0.03?
На той транзакции с меня снялось бы 0.03, 0.13, или 0.16?
Судя по этому "run Bitcoin with the -paytxfee switch: -paytxfee=0.01 will force a minimum fee of 0.01 per kilobyte for all sent transactions, which will prioritize your transactions over all free transactions" (http://www.bitcoin.org/wiki/doku.php?id=transaction_fee),
при установке платы в 0.03 снялось бы 0.03 БТС * 13 Кб = 0.39 БТС.
adv
full member
Activity: 168
Merit: 100
April 14, 2011, 09:17:01 AM
#13
Забавно, надо будет потестировать. Через GUI комиссия без согласия пользователя не взымается.
В таких случаях, кстати, надо не одиним переводом отправлять, а в несколько маленьких шагов.
Да, проверил в ГУИ -- задает вопрос Платить/Нет.
Я и хотел отправить бесплатными кусками: уменьшал сумму до нужного порога.
LZ
legendary
Activity: 1722
Merit: 1072
P2P Cryptocurrency
April 14, 2011, 08:56:43 AM
#12
Забавно, надо будет потестировать. Через GUI комиссия без согласия пользователя не взымается.
В таких случаях, кстати, надо не одиним переводом отправлять, а в несколько маленьких шагов.
sr. member
Activity: 868
Merit: 251
April 14, 2011, 05:35:20 AM
#11
Полагаю, что 0.13, ибо paytxfee по идее должен устанавливать минимум. Это по логике здравого смысла. Точного ответа сейчас дать не могу.
adv
full member
Activity: 168
Merit: 100
April 14, 2011, 05:18:17 AM
#10
Я ж говорю: если транзакция большая по объёму в байтах, комиссия таки взимается обязательно.  Возможно, конечно, надо как-то спрашивать пользователя об этом, и GUI-версия, вероятно это делает.
Вообще да, надо бы этот вопрос с подтверждением комиссий обсосать в аглицкой ветке девелоперов. Напишете сами?
Я собственно сначала написал сюда, чтобы убедиться что это не широко известный баг или новомодная фича.

А в случае, если бы я предварительно установил txfee в 0.03?
На той транзакции с меня снялось бы 0.03, 0.13, или 0.16?
sr. member
Activity: 868
Merit: 251
April 14, 2011, 04:51:34 AM
#9
если транзакция большая по объёму в байтах
Разве транзакция на 100BTC чем-то отличается от транзакции на 1BTC?
Я скажу больше: одна транзакция на 100BTC может сильно отличаться по размеру от другой транзакции на 100BTC. Wink
Пример я уже приводил: если в кошельке куча транзакций по 0.01 BTC, а надо перевести 100BTC, такая транзакция должна сослаться на все те, из которых эти монетки берутся. Их будет 10000. Размер такой транзакции соответствующий.
А может быть так: одна транзакция на 90BTC, остальные по 0.01. Тогда предыдущих транзакций будет всего 1001, размер отличается в 10 раз.
Это напрямую вытекает из алгоритма работы биткойн.

надо как-то спрашивать пользователя об этом
Надо не пользователя спрашивать. Я думал, что размер комиссии устанавливает тот, кто отправляет деньги, а тот, кто процессит - может либо согласиться с ней, либо нет. Если же комиссия будет кем-то фиксирована и составлять процент от суммы, то узел, собирающий блоки будет необоснованно награжден в случае если BTC стоит дорого и необоснованно обделен если курс BTC будет низким.
Обязательная комиссия берётся не с суммы, а с объёма транзакции в байтах, если он очень велик.
Впрочем, и добровольная тоже не в процентах указывается.
member
Activity: 94
Merit: 10
April 14, 2011, 04:45:20 AM
#8
если транзакция большая по объёму в байтах
Разве транзакция на 100BTC чем-то отличается от транзакции на 1BTC?
надо как-то спрашивать пользователя об этом
Пользователя надо спрашивать не об этом. Я думал, что размер комиссии устанавливает тот, кто отправляет деньги, а тот, кто процессит - может либо согласиться с ней, либо нет. Если же комиссия будет кем-то фиксирована и составлять процент от суммы, то узел, собирающий блоки будет необоснованно награжден в случае если BTC стоит дорого и необоснованно обделен если курс BTC будет низким.
sr. member
Activity: 868
Merit: 251
April 14, 2011, 03:59:58 AM
#7
Я ж говорю: если транзакция большая по объёму в байтах, комиссия таки взимается обязательно.  Возможно, конечно, надо как-то спрашивать пользователя об этом, и GUI-версия, вероятно это делает.
Вообще да, надо бы этот вопрос с подтверждением комиссий обсосать в аглицкой ветке девелоперов. Напишете сами?
adv
full member
Activity: 168
Merit: 100
April 14, 2011, 01:53:40 AM
#6
Большие (по размеру в байтах) транзакции (например, собирающие в кучу большое количество мелких) могут требовать комиссии, которая вычисляется по размеру транзакции в байтах (формулу не знаю, сразу говорю).
Комиссия уплачивается сверху; из переводимой суммы она не берётся. В первых трёх попытках у вас на балансе не было нужной суммы. С последней попыткой размер транзакции поменялся, да и сумма перевода уменьшилась, на комиссию хватило, вот система и "проглотила" команду.
Логично, спасибо. Вторая часть вопроса: почему это произошло несмотря на установленное "paytxfee" : 0.00000000 ?
Я что-то пропустил и клиент теперь распоряжается моими деньгами не спрашивая моего мнения?
sr. member
Activity: 868
Merit: 251
April 13, 2011, 07:31:22 PM
#5
Большие (по размеру в байтах) транзакции (например, собирающие в кучу большое количество мелких) могут требовать комиссии, которая вычисляется по размеру транзакции в байтах (формулу не знаю, сразу говорю).
Комиссия уплачивается сверху; из переводимой суммы она не берётся. В первых трёх попытках у вас на балансе не было нужной суммы. С последней попыткой размер транзакции поменялся, да и сумма перевода уменьшилась, на комиссию хватило, вот система и "проглотила" команду.
full member
Activity: 185
Merit: 100
April 13, 2011, 07:20:33 PM
#4
Это чё, плата за перевод обязательна? А почему именно 0.13?
adv
full member
Activity: 168
Merit: 100
April 13, 2011, 12:49:22 PM
#3
Так написано ж:
Code:
This is an oversized transaction that requires a transaction fee of 0.13
Перевести?
Понятно что хочет заплатить. Но плата была выключена. И почему тогда не взялось 0.14 с первой попытки, или со второй, или даже 0.14+0.14+0.13, а просто 0.13 с четвертой попытки и без всяких предупреджений?
Внимательнее просмотри место где я 4 раза пытаюсь отправить разные суммы на один и тот-же адрес.
sr. member
Activity: 868
Merit: 251
April 13, 2011, 12:30:22 PM
#2
Так написано ж:
Code:
This is an oversized transaction that requires a transaction fee of 0.13
Перевести?
adv
full member
Activity: 168
Merit: 100
April 13, 2011, 12:16:48 PM
#1
Code:
$ bitcoind getinfo
{
    "version" : 31900,
    "balance" : 100.41318448,
    "blocks" : 118195,
    "connections" : 25,
    "proxy" : "",
    "generate" : false,
    "genproclimit" : -1,
    "difficulty" : 82347.22294654,
    "hashespersec" : 0,
    "testnet" : false,
    "keypoololdest" : 1291293105,
    "paytxfee" : 0.00000000,
    "errors" : ""
}
$ bitcoind sendtoaddress 15hZrw6V2HaWZShQsQASKYwhYjkCpT6Byd 100.41318448
error: {"code":-4,"message":"Error: This is an oversized transaction that requires a transaction fee of 0.14  "}
$ bitcoind sendtoaddress 15hZrw6V2HaWZShQsQASKYwhYjkCpT6Byd 100.41
error: {"code":-4,"message":"Error: This is an oversized transaction that requires a transaction fee of 0.14  "}
$ bitcoind sendtoaddress 15hZrw6V2HaWZShQsQASKYwhYjkCpT6Byd 100.4
error: {"code":-4,"message":"Error: This is an oversized transaction that requires a transaction fee of 0.13  "}
$ bitcoind sendtoaddress 15hZrw6V2HaWZShQsQASKYwhYjkCpT6Byd 100
454825ecea7a89564b3751521e0d98215c76b4f83aa5284b62846621ecb7b587
$ bitcoind getinfo
{
    "version" : 31900,
    "balance" : 0.28318448,
    "blocks" : 118195,
    "connections" : 25,
    "proxy" : "",
    "generate" : false,
    "genproclimit" : -1,
    "difficulty" : 82347.22294654,
    "hashespersec" : 0,
    "testnet" : false,
    "keypoololdest" : 1291293105,
    "paytxfee" : 0.00000000,
    "errors" : ""
}

И плата за транзакцию все равно снялась! http://blockexplorer.com/t/3dH5rnVCPr
Code:
$ bitcoind gettransaction 454825ecea7a89564b3751521e0d98215c76b4f83aa5284b62846621ecb7b587
{
    "amount" : -100.00000000,
    "fee" : -0.13000000,
    "confirmations" : 10,
    "txid" : "454825ecea7a89564b3751521e0d98215c76b4f83aa5284b62846621ecb7b587",
    "time" : 1302709644,
    "details" : [
        {
            "account" : "",
            "address" : "15hZrw6V2HaWZShQsQASKYwhYjkCpT6Byd",
            "category" : "send",
            "amount" : -100.00000000,
            "fee" : -0.13000000
        }
    ]
}
Pages:
Jump to: