# abci

> Tendermint ABCI server

Latest version **5.0.1** (published 2019-01-18) · MIT license · 0 weekly downloads

## Install

```sh
npm install abci
pnpm add abci
yarn add abci
bun add abci
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 5.0.1 |
| Published | 2019-01-18 |
| First published | 2018-04-25 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 4 |
| Unpacked size | 1.3 MB |
| Known vulnerabilities | 0 (+11 in 1 direct dependencies) |
| Install scripts | no |
| GitHub stars | 90 |
| Author | Matt Bell |
| Maintainers | mappum |
| Keywords | abci, tendermint, cosmos, blockchain |

## Links

- npm: https://www.npmjs.com/package/abci
- Repository: https://github.com/tendermint/js-abci
- Homepage: https://github.com/tendermint/js-abci#readme
- Issues: https://github.com/tendermint/js-abci/issues
- npm.io page: https://npm.io/package/abci

## Dependencies (4)

- [bl](https://npm.io/package/bl.md) ^1.2.2
- [debug](https://npm.io/package/debug.md) ^3.1.0
- [protobufjs](https://npm.io/package/protobufjs.md) ^6.8.8
- [protocol-buffers-encodings](https://npm.io/package/protocol-buffers-encodings.md) ^1.1.0

## Recent versions

- 5.0.1 (latest) — 2019-01-18
- 5.0.0 — 2019-01-18
- 4.0.2 — 2018-10-01
- 4.0.1 — 2018-09-24
- 4.0.0 — 2018-09-07
- 3.1.1 — 2018-09-07
- 3.1.0 — 2018-09-06
- 3.0.2 — 2018-06-26
- 3.0.1 — 2018-06-17
- 3.0.0 — 2018-06-16
- 2.1.0 — 2018-05-05
- 2.0.1 — 2018-05-04
- 2.0.0 — 2018-05-04
- 1.0.1 — 2018-05-04
- 1.0.0 — 2018-04-25

## README

# js-abci

ABCI server for Node.js. Supports up to Tendermint version 0.19.

## Usage

`npm install abci`

Requires Node.js v10.9+

```js
let createServer = require('abci')

let server = createServer({
  info (request) {
    console.log('got info request', request)
    return { ... }
  }

  // implement any ABCI method handlers here
})
server.listen(26658)
```

### `let server = createServer(app)`

Returns a [`net.Server`](https://nodejs.org/api/net.html#net_class_net_server) that accepts ABCI connections from a Tendermint node.

`app` should be an object with ABCI method handler functions. Each handler receives one `request` argument, and can return the response value or a `Promise` which resolves to the response value. `cb` responds to the ABCI request with either the error or `response` value.

Supported ABCI methods are:

```
echo
flush
info
setOption
initChain
query
beginBlock
checkTx
deliverTx
endBlock
commit
```

---
_Source: https://npm.io/package/abci · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
