Hi Everyone,
Had two questions about the current implementation:
1) Negative account balances:Quote
- The check for sufficient funds is done before paying transaction fees (if any); if a
transaction fee is needed, and there are sufficient funds in the wallet, then the
transaction fee will be paid and debited from the account. For example, if account
'foo' contains 10 bitcoins, you sendfrom foo 15VjRaDX9zpbA8LVnbrCAFzrVzN7ixHNsC 10,
and the transaction costs 0.01, 'foo's balance will be -0.01 bitcoins.
End Quote
What was the rational for implementing fee management this way? In most of the business scenarios, negative balances can confuse improperly designed algorithms, and halt the properly designed ones. A user account should be also responsible for fees on their transactions from a logical standpoint.
I haven't reviewed the fee-calculation code yet, but is it possible to calculate fees beforehand and incorporate them in the NSF check?
2) Static Addresses:
There is a lot of demand for static addresses from Bitcoin users, but most of the current implementations simulate this through a very large key-pool value. It may be better to offer this feature natively by adding a true/false flag to Berkeley DB storing the addresses.
Two API calls can be added to offer this feature:
makestatic
removestatic
To set and unset these static flags for addresses.Eager to hear your thoughts on these,
Keyur