use f64 math, add test coverage, formatting, descriptions in README and CHANGELOG

This commit is contained in:
Aaron Blankstein
2021-09-10 15:32:57 -05:00
parent 59ae18b08e
commit b16dd8b119
12 changed files with 631 additions and 141 deletions

View File

@@ -354,6 +354,30 @@ INFO [1630127492.031042] [testnet/stacks-node/src/run_loop/neon.rs:146] [main] M
INFO [1630127492.062652] [testnet/stacks-node/src/run_loop/neon.rs:164] [main] UTXOs found - will run as a Miner node
```
### Configuring Cost and Fee Estimation
Fee and cost estimators can be configure via the config section `[fee_estimation]`:
```
[fee_estimation]
cost_estimator = naive_pessimistic
fee_estimator = scalar_fee_rate
cost_metric = proportion_dot_product
log_error = true
enabled = true
```
Fee and cost estimators observe transactions on the network and use the
observed costs of those transactions to build estimates for viable fee rates
and expected execution costs for transactions. Estimators and metrics can be
selected using the configuration fields above, though the default values are
the only options currently. `log_error` controls whether or not the INFO logger
will display information about the cost estimator accuracy as new costs are
observed. Setting `enabled = false` turns off the cost estimators. Cost estimators
are **not** consensus-critical components, but rather can be used by miners to
rank transactions in the mempool or client to determine appropriate fee rates
for transactions before broadcasting them.
## Non-Consensus Breaking Release Process
For non-consensus breaking releases, this project uses the following release process: