Это вроде как, если вы идете в Western Union или Money Gram, и спросить, сколько это будет стоить, чтобы отправить деньги. Они говорят, что не беспокойтесь об этом .... это своего рода сложно понять, так что просто оставьте нам свою кредитную карту, и вы можете посмотреть на ваше заявление позже, чтобы узнать, сколько мы списали вас. Они не делают этого, потому что люди не принимают его. Мы хотели бы знать фронт, или, по крайней мере, быть в состоянии установить пределы.
Часто при отправке Bitcoin может быть желательно подождать, пока плату меньше - либо потому, что монеты в возрасте, или мы перестроили наши входы, или мы посылаем больше всего в результате меньший процент платы.
Другими словами, сама плата может быть важным фактором в принятии решений, следует ли отправить транзакцию.
Я понимаю, что это может быть трудно или проблематично реализовать тип getsendfee () из API, потому что плата может измениться, и т.д.
Однако я знаю, что для моих собственных случаев использования, было бы очень полезно, чтобы иметь возможность установить лимит платы. Так что sendtoaddress или sendmany будет успешным, если плата находится ниже предела и потерпеть неудачу, если более.
Таким образом, интерфейсы могут быть:
котировка
sendtoaddress "bitcoinaddress" количество ( "комментарий" "комментарии к" "макс-плата" )
sendmany "fromaccount" {"адрес": Сумма, ...} (minconf "комментарий" "макс-плата" )
sendmany "fromaccount" {"адрес": Сумма, ...} (minconf "комментарий" "макс-плата" )
где макс-плата может быть:
а) фиксированное количество, например: 0,001
б) процентное содержание, например: 1%
Если сделка будет превышать макс-плату, то выдается ошибка. Приложения могут поймать эту ошибку и, возможно, повторите попытку с другой комбинацией суммы и макс-плату. По крайней мере, приложение знает, что плата была недостаточной и может действовать соответствующим образом.
Прецеденты для этой функции
1. Торговец или другой Биткойн приема веб-сайт поддерживает горячий бумажник и регулярно подметает для холодного хранения.
Владелец хочет, чтобы ждать, пока либо:
а) достаточно средств накопились и монеты в возрасте достаточно, чтобы отправить с 0 платой.
б) общая сумма средств, проходит определенный порог, и будет принимать до платы 1%.
с) общий объем средств, проходит более высокий порог, и затем принимать до платы 3%.
и т.п.
2. майнинг или другой агент должен отправить нескольким получателям.
Агент хочет ждать, пока достаточно средств не накопили и монеты в возрасте достаточно, чтобы отправить с 0 платой.
Агент пошлет лицо раньше, если требуется, но будет вычитать max_fee сумму от их уплаты, чтобы покрыть плату посыла.
Но как насчет плавающих сборов и txconfirmtarget?
Сначала я надеялся, что плавающие сборы устранило бы эту точку боли, но это на самом деле не кажется, что это делает. По словам Гэвина:
котировка
Существует новая опция, которая позволяет контролировать, как быстро вы хотите, чтобы ваши транзакции, чтобы подтвердить: txconfirmtarget. Значение по умолчанию равно 1, что означает «Я хотел бы мои сделки, которые будут отправляться с достаточно платой или приоритетом, так что они очень вероятно, будет включено в следующем блоке.» Установите его на 6, и он будет принимать в среднем шести блоков для ваших сделки, чтобы получить их первое подтверждение.
Теперь это звучит довольно нечеткое мне. Я не понимаю, как я могу использовать эту возможность для обеспечения бизнес-правил, которые мы не посылать, если плата не ниже процента X. Если это возможно, пожалуйста, просветите меня.
Так что ты думаешь? хорошая идея или плохо? и насколько легко или трудно правильно реализовать?
Я был бы рад трещину на это и представить патч, но только если есть некоторое количество консенсуса, желательно функциональность и достаточно прямолинейная реализовать.