Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
26 сентября 2014, 1:20:05 AM   # 1
 
 
Сообщения: 419
Цитировать по имени
цитировать ответ
по умолчанию Re: sendtoaddress sendmany предложение об изменении апи.

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Проработав на нескольких сайтах с использованием bitcoind, повторяющаяся болевая точка для меня (и, видимо, многих других) была неспособность знать гонорар до отправки. Это беспокойство, поскольку частичном плата может отличаться друг от друга, как процент от общего посыла, а также бизнес-правила могут препятствовать отправке, когда плата выше, чем определенный процент.

Это вроде как, если вы идете в Western Union или Money Gram, и спросить, сколько это будет стоить, чтобы отправить деньги. Они говорят, что не беспокойтесь об этом .... это своего рода сложно понять, так что просто оставьте нам свою кредитную карту, и вы можете посмотреть на ваше заявление позже, чтобы узнать, сколько мы списали вас. Они не делают этого, потому что люди не принимают его. Мы хотели бы знать фронт, или, по крайней мере, быть в состоянии установить пределы.

Часто при отправке Bitcoin может быть желательно подождать, пока плату меньше - либо потому, что монеты в возрасте, или мы перестроили наши входы, или мы посылаем больше всего в результате меньший процент платы.

Другими словами, сама плата может быть важным фактором в принятии решений, следует ли отправить транзакцию.

Я понимаю, что это может быть трудно или проблематично реализовать тип getsendfee () из API, потому что плата может измениться, и т.д.

Однако я знаю, что для моих собственных случаев использования, было бы очень полезно, чтобы иметь возможность установить лимит платы. Так что sendtoaddress или sendmany будет успешным, если плата находится ниже предела и потерпеть неудачу, если более.

Таким образом, интерфейсы могут быть:

котировка
sendtoaddress "bitcoinaddress" количество ( "комментарий" "комментарии к" "макс-плата" )
sendmany "fromaccount" {"адрес": Сумма, ...} (minconf "комментарий" "макс-плата" )

где макс-плата может быть:
а) фиксированное количество, например: 0,001
б) процентное содержание, например: 1%

Если сделка будет превышать макс-плату, то выдается ошибка. Приложения могут поймать эту ошибку и, возможно, повторите попытку с другой комбинацией суммы и макс-плату. По крайней мере, приложение знает, что плата была недостаточной и может действовать соответствующим образом.

Прецеденты для этой функции

1. Торговец или другой Биткойн приема веб-сайт поддерживает горячий бумажник и регулярно подметает для холодного хранения.  

   Владелец хочет, чтобы ждать, пока либо:
        а) достаточно средств накопились и монеты в возрасте достаточно, чтобы отправить с 0 платой.
        б) общая сумма средств, проходит определенный порог, и будет принимать до платы 1%.
        с) общий объем средств, проходит более высокий порог, и затем принимать до платы 3%.
        и т.п.

2. майнинг или другой агент должен отправить нескольким получателям.  

   Агент хочет ждать, пока достаточно средств не накопили и монеты в возрасте достаточно, чтобы отправить с 0 платой.
   Агент пошлет лицо раньше, если требуется, но будет вычитать max_fee сумму от их уплаты, чтобы покрыть плату посыла.


Но как насчет плавающих сборов и txconfirmtarget?

Сначала я надеялся, что плавающие сборы устранило бы эту точку боли, но это на самом деле не кажется, что это делает. По словам Гэвина:

котировка
Существует новая опция, которая позволяет контролировать, как быстро вы хотите, чтобы ваши транзакции, чтобы подтвердить: txconfirmtarget. Значение по умолчанию равно 1, что означает «Я хотел бы мои сделки, которые будут отправляться с достаточно платой или приоритетом, так что они очень вероятно, будет включено в следующем блоке.» Установите его на 6, и он будет принимать в среднем шести блоков для ваших сделки, чтобы получить их первое подтверждение.

Теперь это звучит довольно нечеткое мне. Я не понимаю, как я могу использовать эту возможность для обеспечения бизнес-правил, которые мы не посылать, если плата не ниже процента X. Если это возможно, пожалуйста, просветите меня.



Так что ты думаешь? хорошая идея или плохо? и насколько легко или трудно правильно реализовать?


Я был бы рад трещину на это и представить патч, но только если есть некоторое количество консенсуса, желательно функциональность и достаточно прямолинейная реализовать.




btc4ever сейчас офлайн Пожаловаться на btc4ever   Ответить с цитированием Мультицитирование сообщения от btc4ever Быстрый ответ на сообщение btc4ever


Как заработать Биткоины?
Без вложений. Не майнинг.


26 сентября 2014, 4:38:13 PM   # 2
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: sendtoaddress sendmany предложение об изменении апи.

Получил 1806 Биткоинов
Реальная история.





Обычно мы не используем БИП для случайных UI вещей.

Насколько идея goes- возможно. Хотя я бы рекомендовал корректируя бизнес-планы, так что среднее сборов в целом является то, что вы беспокоитесь о том, а не платы на какой-либо конкретной сделке. В противном случае вы просто собираетесь застревают и не в состоянии вести, когда кто-то прислал вам несколько входов пыли и единственный способ устранить их, чтобы заплатить немного высокий гонорар ... все ваши низкие транзакции значение закончится неудачей пока вы не до этого предела.
gmaxwell сейчас офлайн Пожаловаться на gmaxwell   Ответить с цитированием Мультицитирование сообщения от gmaxwell Быстрый ответ на сообщение gmaxwell

26 сентября 2014, 4:50:50 PM   # 3
 
 
Сообщения: 2002
Цитировать по имени
цитировать ответ
по умолчанию Re: sendtoaddress sendmany предложение об изменении апи.

Обычно мы не используем БИП для случайных UI вещей.

Ах хорошо.

Удален мой комментарий.

Спасибо за пояснение.

Я рассматривал получение участие и сделать вклад в развитие Bitcoin Core. Я до сих пор выяснить, что процесс (я никогда не принимал участие в программировании или разработке любых проектов с открытым исходным кодом раньше).

Кажется, что какая-то система наставничества, чтобы сделать переход легче было бы полезно для талантливых программистов, которые хотят принять участие в усилиях, но не уверены, где и как начать. Существуют ли какие-либо хорошие учебники или праймеры, которые я должен взглянуть на?

Должна ли я просто установить Git на моем MacBook, клонировать репозиторий, бросить дротик в списке BIP, и начать с нуля на собственной реализации любых предложений моих дротиков земли на?
DannyHamilton сейчас офлайн Пожаловаться на DannyHamilton   Ответить с цитированием Мультицитирование сообщения от DannyHamilton Быстрый ответ на сообщение DannyHamilton

26 сентября 2014, 5:21:11 PM   # 4
 
 
Сообщения: 672
Цитировать по имени
цитировать ответ
по умолчанию Re: sendtoaddress sendmany предложение об изменении апи.

Существуют ли какие-либо хорошие учебники или праймеры, которые я должен взглянуть на?

Я не знаю, полный ответ, но я могу дать вам несколько указателей.

  • список рассылки это хорошее место, чтобы обсудить особенности реализации Bitcoin Core, особенно нетривиальные изменения. (Это не очень хорошее место для любых вопросов / мысли о Bitcoin Ядра ....)
  • руководство кодирования является необходимым для чтения.
  • Там также много дискуссий, что происходит в репо GitHub, особенно в выдвижных запросов - если вы думаете о реализации что-то, я бы проверить здесь, чтобы увидеть, если кто-то может уже работать над ней, или если идея имеет уже пытались, но были некоторые проблемы.
btchris сейчас офлайн Пожаловаться на btchris   Ответить с цитированием Мультицитирование сообщения от btchris Быстрый ответ на сообщение btchris

27 сентября 2014, 1:08:04 AM   # 5
 
 
Сообщения: 419
Цитировать по имени
цитировать ответ
по умолчанию Re: sendtoaddress sendmany предложение об изменении апи.

Насколько идея goes- возможно. Хотя я бы рекомендовал корректируя бизнес-планы, так что среднее сборов в целом является то, что вы беспокоитесь о том, а не платы на какой-либо конкретной сделке. В противном случае вы просто собираетесь застревают и не в состоянии вести, когда кто-то прислал вам несколько входов пыли и единственный способ устранить их, чтобы заплатить немного высокий гонорар ... все ваши низкие транзакции значение закончится неудачей пока вы не до этого предела.

Я не совсем уверен, что хорошо заботясь о среднем сборов в целом, когда у меня есть нулевой контроль над его с помощью отправки * APIs. На самом деле я здесь сделать предложение, потому что я об этом беспокоиться.

Случай малых количеств может быть на самом деле, где это наиболее полезно, потому что плата в настоящее время может съесть до 50% или даже 100 +% от суммы отправки. Но его трудно понять, что, пока вы на самом деле попробовать отправить. И тогда вы получите сумму сюрприза платы как нежелательная игрушка из коробки домкрата взломщика. Так часто бывает предпочтительнее подождать, пока эти входы не имеют в возраст достаточно и / или достаточно другие большие входов пришли в том, что общий процент платы снижается на что-то вроде 1%. Или, может быть, просто ждать, пока Btc роста цен и тех, пыль стоит что-то. все, что .... это должно быть мое приложение (или его пользователя) выбор, а не какой-то алго в bitcoind.

В том случае, когда вы упоминаете, где получили много входов пыли и джемы вещи, это еще полезно приложение, чтобы иметь возможность принимать обоснованные решения. Может быть, это решение назвать lock_unspent для некоторого utxo, или войти предупреждение или по электронной почте администратору сайта. Или, может быть, это просто снова отправить с более высоким лимитом вознаграждения или без ограничения платы вообще.

Сейчас варианты с разработчиком приложений являются либо слепо называть SENDTO * и взять плату он произвольно придумывает или же написать свои собственные выбор монет и расчет платы за процедуры и генерировать сырую сделку. Я был вниз, что маршрут .... это больно и подвержены ошибкам, и только несколько людей получат это право.


Я не говорю, что предлагаемое изменение API является идеальным ... на самом деле совершенства мне было бы, если бы я мог бы написать приложение код что-то вроде:

котировка
// бизнес-приложений псевдо-код

в то время как (num_tries ++ < max_tries) {

   плата = RPC.calcsendfee(Адрес, сумма)

   если (не fee_is_ok (плата))
       ломать;

   код = RPC.sendtoaddress(Адрес, количество, .., плата)

   если (код! = insufficient_fee) {
      ломать;
   }
}

Там будет соответствующее calcsendmanyfee также. sendtoaddress может (редко) возвращает insufficient_fee код ошибки, если условия изменились с calcsendfee () возвращается. В этом случае приложение должно повторить, возможно, несколько раз.

Я предполагаю, что этот подход является немного более активно участвовать в реализации, чем мое первое предложение, но, возможно, не так уж плохо, так как он уже calc'ing платы внутри так или иначе.

мысли?

btc4ever сейчас офлайн Пожаловаться на btc4ever   Ответить с цитированием Мультицитирование сообщения от btc4ever Быстрый ответ на сообщение btc4ever

27 сентября 2014, 3:47:32 PM   # 6
 
 
Сообщения: 1988
Цитировать по имени
цитировать ответ
по умолчанию Re: sendtoaddress sendmany предложение об изменении апи.

Я не говорю, что предлагаемое изменение API является идеальным ... на самом деле совершенства мне было бы, если бы я мог бы написать приложение код что-то вроде:

котировка
// бизнес-приложений псевдо-код

в то время как (num_tries ++ < max_tries) {

   плата = RPC.calcsendfee(Адрес, сумма)

   если (не fee_is_ok (плата))
       ломать;

   код = RPC.sendtoaddress(Адрес, количество, .., плата)

   если (код! = insufficient_fee) {
      ломать;
   }
}
Вы, кажется, отсутствует решающий факт: селектор монет в "Отправить" стохастический ранец решатель. Для любого нетривиального бумажника него псевдо-случайным образом выбирает различные монеты, приводящие к различным размером сделки и, таким образом, требующих различную минимальную плату. Это обсуждалось много раз на этом форуме, пожалуйста, воспользуйтесь поиском.
2112 сейчас офлайн Пожаловаться на 2112   Ответить с цитированием Мультицитирование Сообщения от 2112 Быстрый ответ на сообщение 2112

1 октября 2014, 6:37:59 PM   # 7
 
 
Сообщения: 419
Цитировать по имени
цитировать ответ
по умолчанию Re: sendtoaddress sendmany предложение об изменении апи.

Вы, кажется, отсутствуют точку, что это острая болевая точка для разработчиков и бизнеса. И просто странно, что один не может знать гонорар только после факта. слишком плохо, если плата оказывается 20%, 50%, 100% или даже больше ваша сумма отправки!

Кроме того, если вы посмотрите на мое первоначальное предложение в этой теме, вы увидите, я хорошо знаю, что плата может измениться между вызовами API. Вот почему я предложил альтернативу с fee_limit парами для sendtoaddress. Это будет прекрасно работать с существующими псевдослучайной sendtoaddress реализации.

Даже до сих пор, я могу желать чего-то лучшего. Как я сказал, "Совершенство мне было бы ...",

Bitcoin-кварта позволяет пользователю просматривать плату и отправить либо нет. Так что по техническим причинам, предотвращает такую ​​возможность от воздействия на уровне API RPC? нам нужно добавить запирание / состояние вокруг calcsendfee / sendtoaddress ли? хорошо, давайте сделаем это.

Или может быть детерминированной альтернативой sendtoaddress, что пользователи RPC могли бы использовать, когда они хотят плату вычисленной.

Я считаю, что это не техническая проблема, так как "ла-ла-ла" мы не хотим, чтобы это исправить культурную проблему.

Меня беспокоит то, что если я (или кто) ходить на работу, чтобы исправить ее и представить патч, он не будет получить признание из-за основное сопротивление команды.

Я ошибаюсь?

Я надеюсь, с этой темой, что мы можем получить некоторое количество на консенсус подхода, так что, когда он получает решения, то это будет, скорее всего, будет принято.



Вы, кажется, отсутствует решающий факт: селектор монет в "Отправить" стохастический ранец решатель. Для любого нетривиального бумажника него псевдо-случайным образом выбирает различные монеты, приводящие к различным размером сделки и, таким образом, требующих различную минимальную плату. Это обсуждалось много раз на этом форуме, пожалуйста, воспользуйтесь поиском.

btc4ever сейчас офлайн Пожаловаться на btc4ever   Ответить с цитированием Мультицитирование сообщения от btc4ever Быстрый ответ на сообщение btc4ever

1 октября 2014, 6:43:17 PM   # 8
 
 
Сообщения: 419
Цитировать по имени
цитировать ответ
по умолчанию Re: sendtoaddress sendmany предложение об изменении апи.

ой, а также, если вы еще раз посмотрите на этот псевдо-код:

котировка
// бизнес-приложений псевдо-код

в то время как (num_tries ++ < max_tries) {

   плата = rpc.calcsendfee (адрес, сумма)

   если (не fee_is_ok (плата))
       ломать;

   Код = rpc.sendtoaddress (адрес, количество, .., плата )

   если (код! = insufficient_fee) {
      ломать;
   }
}


Обратите внимание на то, что новый параметр платы для sendtoaddress (), который в этом случае значение, возвращаемое calcsendfee ().

Эта плата будет выступать в качестве предела для sendtoaddress. Таким образом, если плата, которую sendtoaddress генерирует псевдо-случайным образом выше, чем предел, то он не будет посылать и будет возвращать "недостаточная плата" код. Если оно меньше или равно, то было бы отправить.

Поэтому я считаю, что обрабатывает ваши возражения.



btc4ever сейчас офлайн Пожаловаться на btc4ever   Ответить с цитированием Мультицитирование сообщения от btc4ever Быстрый ответ на сообщение btc4ever

1 октября 2014, 7:52:37 PM   # 9
 
 
Сообщения: 1988
Цитировать по имени
цитировать ответ
по умолчанию Re: sendtoaddress sendmany предложение об изменении апи.

Меня беспокоит то, что если я (или кто) ходить на работу, чтобы исправить ее и представить патч, он не будет получить признание из-за основное сопротивление команды.

Я ошибаюсь?
Ну, что-то другое, чем все предыдущие "предприятие" программисты. Был общий поток во всех "предприятие" патчи представлены в основной команду: они мешали или полностью разрушили blockchain поведения реорганизации. Я на записи, не согласный с различными техническими проблемами в отношении Bitcoin ядра клиента, но я полностью поддерживаю разработчик Bitcoin ядра в своей настойчивости на сохранение основных свойств протокола Bitcoin: глобальный консенсус достигается через несколько случайной конвергенцию, которая может включать в себя сиротой некоторые блоки.

Список вещей, кажется, вам не быть на самом деле больше:

1) Монета выбора является нетривиальной задачей, которая является NP-полной в общем случае (я уже говорил о том, что текущее решение является стохастической аппроксимации, которая не является монотонной и, следовательно, нарушает код, как у вас)

2) Bitcoin кошелек не статичен, а ваши фрагменты код запущены, новые блоки могут появляться в случайном порядке и изменить выбор монет как добавление и удаление монеты из него. (Это самая распространенная ошибка в различных "предприятие" патчи, которые я видел: плохое обращение бесхозных блоков)

3) После того, как вы правильно решить первые две проблемы есть вопрос о повторном жадного локальной оптимизации, оставив бумажник, полный почти пылевых монет, поэтому оптимизация должна быть повышен до некоторых не-местных, почти по всему миру или, по крайней мере, позволяют оптимизировать выбор монет для набора операций.

4) После того, как вы правильно решить задачу (3), необходимо обеспечить решение для общего оперативного требования по поддержанию 2 кошельков: горячие и холодные, и управлять ими переводы монет между двумя из них, которые отвечают за нескалярный оптимизации цели максимизации безопасность и минимизирующие сборы.

Я надеюсь, что приведенный выше список поможет вам понять истинное "предприятие" требования и почему ваше предложение не более чем близорукий временный хак.

От себя я добавлю, что любой истинный "предприятие" решение будет подчиняться http://en.wikipedia.org/wiki/Two-phase_commit_protocol и будет легко интегрировать с любым из доступных http://en.wikipedia.org/wiki/Transaction_processing_system . не из вашей настойчивости на использование неструктурированных вызовов RPC я предполагаю, что у вас есть ни "предприятие" кодирования опыта, ни даже простого многопоточного развития.
Так что по техническим причинам, предотвращает такую ​​возможность от воздействия на уровне API RPC?
Техническая причина называется "инверсия контроля" (Т.е. сервер вызова клиента, чтобы принять решение). Опять же, это обсуждалось на этом форуме много раз, по крайней мере, с wx->Переход Qt интерфейс. Используйте функцию поиска.

Вы, кажется, отсутствуют точку, что это острая болевая точка для разработчиков и бизнеса.
Если это действительно такая "Острие боли" то вам лучше основывать свою работу на другой код, который Bitcoin ядро ​​и представляют необработанные транзакции, чтобы быть эталонная реализация.
2112 сейчас офлайн Пожаловаться на 2112   Ответить с цитированием Мультицитирование Сообщения от 2112 Быстрый ответ на сообщение 2112

2 октября 2014, 2:33:43 AM   # 10
 
 
Сообщения: 419
Цитировать по имени
цитировать ответ
по умолчанию Re: sendtoaddress sendmany предложение об изменении апи.

Привет 2112. Я ценю, что Вы нашли время, чтобы ответить на глубине.

Тем не менее, кажется, что всякий раз, когда предмет расчета платежей через API приходит, есть много негатива съемки гонца и очень мало contructive усилий на самом деле придумать решением. Я надеюсь увидеть больше последнего на этот раз.

в любом случае, я рассмотрю ваши очки.


1) Монета выбора является нетривиальной задачей, которая является NP-полной в общем случае (я уже говорил о том, что текущее решение является стохастической аппроксимации, которая не является монотонной и, следовательно, нарушает код, как у вас)

а) Как работает монета выбор является деталью реализации Bitcoin ядра. Это не то, что клиенты API должны знать или заботиться о. Начало хит с платой внезапности, что составляет 20%, 50%, или больше суммы посыла то, что клиенты API должны и заботятся о.

б) Я не вижу, как это "стохастической аппроксимации" ломает код примера приложения я вставил. Вы видите, с моей предлагаемой модификацией, мы можем игнорировать то, что происходит под капотом с монетой отбором. Когда sendtoaddress называется, он работает его монета выбор черной магии и определяет плату. Если плата выше, чем max_fee он получил от API вызывающего абонента, а затем sendtoaddress возвращается с "недостаточная плата" код ошибки. В противном случае он посылает. Так что это просто, правда?

Теперь, в дополнение к этому, я предложил как хорошо бы иметь, дополнительный calcsendfee API, который будет принимать те же адреса и количество арг в sendtoaddress. Он назвал бы тот же самый код чернокнижника для выбора входов и возвратом суммы платы к абоненту. Вызывающий может решить, следует ли принять или отклонить эту сумму гонорара. Если он принимает его, он может затем передать эту сумму денег как предел sendtoaddress. Так sendtoaddress может придумать новую плату на основе псевдо-случайность или ввод изменений, и если новая плата выше, чем предел, то отправка будет выполнена. Если она ниже, то будет использоваться нижняя плата. Все довольны.

Возможно calcsendfee следует назвать estimatesendfee вместо этого, так как это технически более точным.

Основной целью estimatesendfee является, чтобы обеспечить "порядок величины" тип оценки к абоненту, так что не придется тратить циклы, начиная с очень низким пределом (например, 0), вверх вызова sendtoaddress. Этот API также может быть полезным, чтобы определить, сколько изменения платы происходит от псевдослучайного поведения.

котировка
2) Bitcoin кошелек не статичен, а ваши фрагменты код запущены, новые блоки могут появляться в случайном порядке и изменить выбор монет как добавление и удаление монеты из него. (Это самая распространенная ошибка в различных "предприятие" патчи, которые я видел: плохое обращение бесхозных блоков)

Да, в самом деле. Я хорошо знаю, и мое Предложенное изменение API счетов для этого. См 1b выше.

Тем не менее, я не был бы удивлен, если в большинстве случаев, плата рассчитывается sendtoaddress будет такой же, как тот, возвращенного estimatesendfee. Во всяком случае, это было бы интересно посмотреть.

котировка
3) После того, как вы правильно решить первые две проблемы есть вопрос о повторном жадного локальной оптимизации, оставив бумажник, полный почти пылевых монет, поэтому оптимизация должна быть повышен до некоторых не-местных, почти по всему миру или, по крайней мере, позволяют оптимизировать выбор монет для набора операций.

Я не уверен, что вы имеете в виду "решить первые две проблемы", Скорее, чем "решать" их, я просто заметить, что те детали реализации абонент не должен знать о том, и можно обойти с предложенным лимитом платы.

котировка
4) После того, как вы правильно решить задачу (3), необходимо обеспечить решение для общего оперативного требования по поддержанию 2 кошельков: горячие и холодные, и управлять ими переводы монет между двумя из них, которые отвечают за нескалярный оптимизации цели максимизации безопасность и минимизирующие сборы.

Да, это один из вариантов использования, это предложение было разработано. См оригинальное описание. Если кто-то может определить максимальную плату, то можно применять бизнес-правила, которые мы не платим выше 1% сборов (например) при переходе к холодному хранению. Если плата будет выше, можно затем выбрать, чтобы ждать до более позднего времени, или повторить попытку, и, возможно, получить повезло с новым выбором монеты или создать сырую сделку.

котировка
Я надеюсь, что приведенный выше список поможет вам понять истинное "предприятие" требования и почему ваше предложение не более чем близорукий временный хак.

Я не вижу, что этот список добавил ничего к обсуждению, что я еще не рассмотрел и / или обсуждается уже в этой теме. Тем не менее, я благодарю Вас за предоставленную возможность более полно продуманными. Я также не думаю, что называя его "близорукий временный хак" оправдан или вежливы.

Если у вас есть дальновидное, не-хак предложение в виде, пожалуйста доля.

котировка
От себя я добавлю, что любой истинный "предприятие" решение будет подчиняться http://en.wikipedia.org/wiki/Two-phase_commit_protocol и будет легко интегрировать с любым из доступных http://en.wikipedia.org/wiki/Transaction_processing_system . не из вашей настойчивости на использование неструктурированных вызовов RPC я предполагаю, что у вас есть ни "предприятие" кодирования опыта, ни даже простого многопоточного развития.

предположить, что вы хотите. Я здесь не из эго. Я просто хочу что-то реализовано, что полезно.

У меня нет возражений против 2 фазы не совершат подход. Вот что я имел в виду блокировки / состояния в более раннем комментарии. Однако я думаю, что совершенство часто враг хорошего, и сейчас у нас нет ни. Я считаю, что мое предложение, по крайней мере работоспособным и должен быть достаточно прост в реализации, что даже кто-то с относительно небольшим опытом работы с bitcoind код, как я мог это сделать. Хотя я не стал бы доверять себя реализовать 2 этапа правильно фиксации.

Опять же: если у вас есть что-то лучше в виду, пожалуйста, напишите его здесь. Я бы очень хотел, чтобы увидеть фактический API вызовы, предлагать и псевдо-код для их использования. Это может привести к более продуктивной дискуссии. В противном случае, вы, кажется, предпочитают просто бросить камни ...


Я все еще надеюсь, что мы можем получить некоторый тип консенсуса, либо:

а) что предложенные мои изменения API имеют смысл и будут приняты, если реализованы хорошо. - ИЛИ -
б) ядро ​​DEV будет осуществлять некоторый тип 2 фазы фиксации для истинного calcsendfee API

котировка
Так что по техническим причинам, предотвращает такую ​​возможность от воздействия на уровне API RPC?
Техническая причина называется "инверсия контроля" (Т.е. сервер вызова клиента, чтобы принять решение). Опять же, это обсуждалось на этом форуме много раз, по крайней мере, с wx->Переход Qt интерфейс. Используйте функцию поиска.

Это становится в лес немного. Я согласен, что это грязное для сервера для вызова клиента. Тем не менее я не вижу, что мешает что-то вроде: lockallunspent (истина); плата = calcsendfee (); sendtoaddress (..., плата); localallunspent (ложь); Во всяком случае, я не хочу спорить об этом, потому что мое предложение обрабатывает его по-другому, не требуя блокировки.

котировка
Если это действительно такая "Острие боли" то вам лучше основывать свою работу на другой код, который Bitcoin ядро ​​и представляют необработанные транзакции, чтобы быть эталонная реализация.

Я пошел по этому пути. К сожалению, необходимые сборы продолжают изменяться от выпуска к выпуску, так правильно оценить их является утомительным и подверженным ошибкам. Еще одним фактором, лично для меня (и для некоторых других) является то, что мой код предназначен для работы с altcoins, а также Bitcoin, поэтому он гораздо чище, если сам бумажник программное обеспечение позволяет мне знать, что соответствующая плата и / или навязывает предел ,



btc4ever сейчас офлайн Пожаловаться на btc4ever   Ответить с цитированием Мультицитирование сообщения от btc4ever Быстрый ответ на сообщение btc4ever

2 октября 2014, 3:46:15 AM   # 11
 
 
Сообщения: 1988
Цитировать по имени
цитировать ответ
по умолчанию Re: sendtoaddress sendmany предложение об изменении апи.

Я должен был прочитать свой ответ дважды, прежде чем я понял ваш ключевой аргумент.
Я также не думаю, что называя его "близорукий временный хак" оправдан или вежливы.
Возможно, вы найдете оригинальное H.L.Mencken полной цитату достаточно вежливо:
Цитата: H.L.Mencken
Существует объяснение; они существовали во все времена; всегда есть хорошо известное решение для каждой проблемы человека - в чистом виде, правдоподобно, и неправильно.

Другими словами, что я вижу здесь еще один shtylman / Bitfloor или Даву&Boussac / InstaWallet ситуация пивоварение: некачественная и / или сомнительная реализация; затем "мотыга" и потери средств клиента. Или, может быть, просто еще "случайный двойной платеж" как те, которые произошли с GLBSE и ASICMINER.

Я пытался, но моя работа здесь закончена. Сейчас покупатель будет бдителен придется предостережение.

Изменить: Я спасу блок подписи в btc4ever для будущей ссылки.
котировка
Psst !! Хотите сделать Bitcoin остановить? Почему единственный реальный способ купить Bitcoins Есть на улицах. Избегайте банки и централизованные обмены. Купить / продать монеты на местном уровне. Познакомьтесь с другим bitcoiners и развивать свою сеть. Попробуйте localbitcoins.com или найти или запустить Buttonwood / Satoshi площадь в вашем районе. Передайте это!
2112 сейчас офлайн Пожаловаться на 2112   Ответить с цитированием Мультицитирование Сообщения от 2112 Быстрый ответ на сообщение 2112

2 октября 2014, 6:03:42 AM   # 12
 
 
Сообщения: 419
Цитировать по имени
цитировать ответ
по умолчанию Re: sendtoaddress sendmany предложение об изменении апи.

Привет 2112. Вы еще не сказали одну вещь, которая демонстрирует технический изъян в моем предложении. Вы также не предложили что-то лучше или действительно что-либо вообще.

Если мое предложение "неправильно" как вы говорите, пожалуйста, поддержите это заявление, предоставив сценарий, в котором результат не был бы столь желанным / ожидаемый вызывающим API или иначе как-то неправильно / разбитого поведением. Я сомневаюсь, что вы можете, потому что такой подход очень прост и прямолинеен. Но я готов рассмотреть что-либо конкретное. Если вы можете указать фактический недостаток, то либо мне нужно найти способ, чтобы исправить это, или это предложение неосуществимым. Но вы еще не сделали этого.

Кроме того, если вы хотите, чтобы объяснить, как статус-кво как-то лучше, чем мое предложение, я бы тоже слегка позабавило читать, что оправдание, хотя я уверен, что я не согласен. Так как статус-кво довольно сломана в отношении сборов. Это как ходить и MoneyGram, передавая им свою кредитную карту, с просьбой отправить 10 центов для вас, и, пожалуйста, меня удивляете с гонораром отправить .... небо это предел. (MoneyGram, вероятно, сказать не посылая 10 центов, но Bitcoin не делает, так что аналогия apropriate.)

В то время как я ценю ваш вносящих вклад в поток, я чувствую только отрицательность от вас. Если вы сделали, что, вероятно, так же хорошо.

Кто-нибудь еще есть комментарии?


Завтра я закрепит estimatesendfee добавление в первоначальное предложение для более легкого чтения.
btc4ever сейчас офлайн Пожаловаться на btc4ever   Ответить с цитированием Мультицитирование сообщения от btc4ever Быстрый ответ на сообщение btc4ever



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW