haskell-abci alternatives and similar packages
Based on the "haskell" category.
Alternatively, view haskell-abci alternatives based on common mentions on social networks and blogs.
Do you think we are missing an alternative of haskell-abci or a related project?
Haskell ABCI Server Library
Haskell library for writing Application BlockChain Interface (ABCI) servers. Licensed under BSD 3-clause (see LICENSE).
Available as a library on Hackage.
If you're using Stack, simply add haskell-abci to the build-depends in your project's Cabal file.
If you're using Cabal directly, cabal install haskell-abci should do the trick.
This library exposes a request-response API. Usage is simple:
- Import the library
import qualified Network.ABCI as ABCI
- Define your application (for more information, see the ABCI application development documentation)
See [the example counter app](app/Main.hs) for a template.
app :: ABCI.Request -> IO ABCI.Response app = undefined
- Specify a host and port on which to bind the ABCI server, or use the defaults
host :: String host = ABCI.defaultHost port :: Int port = ABCI.defaultPort
- Launch the server
run :: IO () run = ABCI.serve host port app
Development / Testing
git clone https://github.com/cwgoes/haskell-abci.git cd haskell-abci stack build --install-ghc
Note that src/types.proto is used to generate a Haskell interface file whenever you run stack build.
Optionally, to also install the example counter application (haskell-abci-counter) in ~/.local/bin:
Once you've installed haskell-abci-counter, to run the counter example application with the standard ABCI Golang tests: (note that you'll need ~/.local/bin on your shell path and Tendermint installed)
git clone https://github.com/tendermint/abci.git cd abci/tests/test_app ABCI_APP="haskell-abci-counter" go run ./*.go
*Note that all licence references and agreements mentioned in the haskell-abci README section above are relevant to that project's source code only.