{"id":23802041,"url":"https://github.com/cwgoes/haskell-abci","last_synced_at":"2025-09-06T15:32:31.555Z","repository":{"id":59152874,"uuid":"99855047","full_name":"cwgoes/haskell-abci","owner":"cwgoes","description":"Haskell Application BlockChain Interface (ABCI) Server Library","archived":false,"fork":false,"pushed_at":"2017-08-10T01:08:43.000Z","size":7,"stargazers_count":8,"open_issues_count":1,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-04-22T21:08:21.602Z","etag":null,"topics":["abci","cosmos","tendermint"],"latest_commit_sha":null,"homepage":null,"language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cwgoes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-08-09T21:40:45.000Z","updated_at":"2019-04-25T12:45:18.000Z","dependencies_parsed_at":"2022-09-13T11:01:14.055Z","dependency_job_id":null,"html_url":"https://github.com/cwgoes/haskell-abci","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cwgoes%2Fhaskell-abci","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cwgoes%2Fhaskell-abci/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cwgoes%2Fhaskell-abci/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cwgoes%2Fhaskell-abci/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cwgoes","download_url":"https://codeload.github.com/cwgoes/haskell-abci/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":232130558,"owners_count":18476802,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["abci","cosmos","tendermint"],"created_at":"2025-01-01T22:18:39.562Z","updated_at":"2025-01-01T22:18:40.411Z","avatar_url":"https://github.com/cwgoes.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Haskell ABCI Server Library\n\nHaskell library for writing [Application BlockChain Interface](https://github.com/tendermint/abci) (ABCI) servers. Licensed under BSD 3-clause (see LICENSE).\n\n# Usage\n\nAvailable as a [library on Hackage](https://hackage.haskell.org/package/haskell-abci).\n\nIf you're using [Stack](https://haskellstack.org), simply add *haskell-abci* to the build-depends in your project's Cabal file.\n\nIf you're using Cabal directly, *cabal install haskell-abci* should do the trick.\n\nThis library exposes a request-response API. Usage is simple:\n\n1. Import the library\n\n```haskell\nimport qualified Network.ABCI as ABCI\n```\n\n2. Define your application (for more information, see the [ABCI application development documentation](https://tendermint.com/docs/guides/app-development))\n\n   See [the example counter app](app/Main.hs) for a template.\n\n```haskell\napp :: ABCI.Request -\u003e IO ABCI.Response\napp = undefined\n```\n\n3. Specify a host and port on which to bind the ABCI server, or use the defaults\n\n```haskell\nhost :: String\nhost = ABCI.defaultHost\n\nport :: Int\nport = ABCI.defaultPort\n```\n\n4. Launch the server\n\n```haskell\nrun :: IO ()\nrun = ABCI.serve host port app\n```\n\n# Development / Testing\n\nYou'll need [Stack](https://haskellstack.org/) and a relatively recent version of [protobuf](https://github.com/google/protobuf).\n\n```bash\ngit clone https://github.com/cwgoes/haskell-abci.git\ncd haskell-abci\nstack build --install-ghc\n```\n\nNote that *src/types.proto* is used to generate a Haskell interface file whenever you run *stack build*.\n\nOptionally, to also install the example counter application (*haskell-abci-counter*) in *~/.local/bin*:\n\n```bash\nstack install\n```\n\nOnce you've installed *haskell-abci-counter*, to run the counter example application with the standard ABCI Golang tests:\n(note that you'll need *~/.local/bin* on your shell path and [Tendermint](https://tendermint.com/docs/guides/install-from-source) installed)\n\n```bash\ngit clone https://github.com/tendermint/abci.git\ncd abci/tests/test_app\nABCI_APP=\"haskell-abci-counter\" go run ./*.go\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcwgoes%2Fhaskell-abci","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcwgoes%2Fhaskell-abci","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcwgoes%2Fhaskell-abci/lists"}