mirror of
https://github.com/bitcoin-s/bitcoin-s.git
synced 2024-11-20 02:11:40 +01:00
22 lines
1.1 KiB
Markdown
22 lines
1.1 KiB
Markdown
|
---
|
||
|
id: fee-provider
|
||
|
title: Fee Provider
|
||
|
---
|
||
|
|
||
|
# Fee Provider
|
||
|
|
||
|
Bitcoin-S has a `FeeProvider` that is used to fetch fee rates.
|
||
|
Currently, Bitcoin-s has a couple implemented, one being a `BitcoindRpcClient`, which will use `estimateSmartFee` to calculate a fee rate.
|
||
|
Another uses [bitcoiner.live's api](https://bitcoiner.live/) to get a fee rate.
|
||
|
|
||
|
Any `FeeProvider` can be passed to a `Wallet` which will be used to calculate fees for transactions when one is not specified.
|
||
|
|
||
|
## HttpFeeRateProvider
|
||
|
|
||
|
A `HttpFeeRateProvider` is a `FeeProvider` that uses an outside API to get fee rates.
|
||
|
These can be hooked up to any website's API as long as you can provide a `URI` and a function to convert the response to a `FeeUnit`.
|
||
|
|
||
|
There also exists `CachedHttpFeeRateProvider`, which will cache the response for the `cacheDuration` as to prevent hitting request limits and save on api calls.
|
||
|
|
||
|
Checkout [`BitcoinerLiveFeeRateProvider`'s implementation](https://github.com/bitcoin-s/bitcoin-s/blob/master/fee-provider/src/main/scala/org/bitcoins/feeprovider/BitcoinerLiveFeeRateProvider.scala) for an example.
|