Сумма платы за это просто разницу между Всего входами и выходами Всего ... так что, когда вы создаете транзакцию, вы просто фактор, что в. Если Вы желаете использовать "Динамический сбор" системы, вы бы назвать "estimatefee" Функция (с соответствующим параметром (ами)) и что даст вам гонорар (в БТК / КБ) для использования ... тогда вы выбираете входы, где общая inputAmount >= (RequestedAmount + оценивается плата) ...
Затем создать выходы быть:
amountToCustAddr = withdrawAmount = (requestedAmount - плата)
amountToChangeAddress = (Всего входов - requestedAmount)
Так:
estimatefee (6 блоков) = 0,00256843 BTC / кБ
requestedAmount = 0,01
AvailableInput1 = 3,4 BTC
Предполагая, что размер TX 226 байт (1 вход + 1 custAddr Выход + 1 changeAddr выход), плата = (0.00256843 BTC / кбайт / 1000) * 226 байт = 0.00058047
withdrawAmount = (requestedAmount - плата) = 0,01 - 0,00058047 = 0,00941953 BTC
amountToChangeAddr = (TotalInputs - requestedAmount) = 3,4 - 0,01 = 3,39 BTC
Тогда просто создать сделку со всеми расчетными значениями:
Входы:
AvailableInput1 = 3,4 BTC
Выходы:
custAddr = withdrawAmount = 0.00941953 BTC
chgAddr = (TotalInputs - requesteedAmount) = 3,4 - 0,01 = 3,39 BTC
Стоимость не указана явно при создании транзакции, так как протокол определяет, что разница между общей суммой входов (3.4) и общих выходов (3,39 + 0.00941953) = 0.00058047 в этом примере
Просто надо знать, что ваши клиенты могут стонать и ныть, если они просят 0,01 и получить только 0.00941953, если вы сделаете это ОЧЕНЬ ОЧЕНЬ ОЧЕНЬ ясно, что плата за сделку будет вычтена из запрашиваемой суммы
Спасибо, но оценочный сбор всегда не точно. Много раз сборов, которые мы получаем, выполнив оценочные платы отличаются от фактических сборов. Есть ли способ, чтобы использовать код "subtractfeefromamount", Я видел это во время поиска Google. Но как использовать его именно на PHP?