@hackage blockfrost-api0.15.0.0
API definitions for blockfrost.io
Categories
License
Apache-2.0
Maintainer
srk@48.io
Links
Versions
Installation
Dependencies (15)
- aeson >=2.0 && <3.0
- base >=4.7 && <5
- bytestring
- containers
- data-default-class
- deriving-aeson Show all…
Dependents (5)
@hackage/effectful-zoo, @hackage/blockfrost-pretty, @hackage/polysemy-blockfrost, @hackage/blockfrost-client-core, @hackage/blockfrost-client
Package Flags
buildfast
(on by default)
Turn off optimizations
production
(off by default)
Production build
blockfrost-api
Core types and Servant API definitions.
Exploring data types
All data types have a ToSample instance
for servant-docs
which can be used to get a sample response in cabal repl:
λ: import Data.Proxy
λ: import Servant.Docs
λ: Just block = toSample (Proxy :: Proxy Block)
λ: _blockHash block
BlockHash "4ea1ba291e8eef538635a53e59fddba7810d1679631cc3aed7c8e6c4091a516a"
Lenses
Instead of using long record names, it is recommended to use provided lenses and a lens or similar package.
λ: import Control.Lens (^.)
λ: import Blockfrost.Lens
λ: block ^. epoch
Just (Epoch 425)
Monetary values
Ada values and values of assets are represented using Discrete type
from safe-money library.
We use a type alias type Lovelaces = Money.Discrete "ADA" "lovelace"
for Ada values and SomeDiscrete for asset values. This should allow working
with monetary values safely, preventing summing different currencies.
See the blog post by the library author.
λ: block ^. fees
Just (Discrete "ADA" 1000000%1 592661)