Где 1 kb = 1000 байтов. Учитывается каждая неполная тысяча, то есть, транзакция в 1000 байтов стоит в 2 раза дороже транзакции в 999 байтов.int64 nMinFee = (1 + (int64)nBytes / 1000) * nBaseFee;
Я не нашёл это в коде.
В транзакциях часто присутствует «сдача», то есть, часть монет отправляется на адрес получателя, и часть – на свой адрес. Программы обычно не отображают информацию о «сдаче». При расчёте минимальной комиссии учитывается не общая сумма перевода, а наименьшая сумма среди всех «выходов». Если отправляется 10 BTC на адрес получателя и 0,001 BTC на свой адрес для сдачи, то такая транзакция не будет признана бесплатной. По идее, такое должно происходить редко.if (nMinFee < nBaseFee)
{
BOOST_FOREACH(const CTxOut& txout, vout)
if (txout.nValue < CENT)
nMinFee = nBaseFee;
}