Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# Auto detect text files and perform LF normalization
* text=auto
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# js-abci

ABCI server for Node.js. Supports Tendermint version 0.33+.
ABCI server for Node.js. Supports Tendermint version 0.34+.

## Usage

Expand Down
58 changes: 29 additions & 29 deletions example/counter.js
Original file line number Diff line number Diff line change
@@ -1,53 +1,53 @@
let createABCIServer = require('abci')
let createABCIServer = require("..");

// turn on debug logging
require('debug').enable('abci*')
require("debug").enable("abci*");

let state = {
count: 0
}
count: 0,
};

let handlers = {
info (request) {
info(request) {
return {
data: 'Node.js counter app',
version: '0.0.0',
data: "Node.js counter app",
version: "0.0.0",
lastBlockHeight: 0,
lastBlockAppHash: Buffer.alloc(0)
}
lastBlockAppHash: Buffer.alloc(0),
};
},

checkTx (request) {
let tx = padTx(request.tx)
let number = tx.readUInt32BE(0)
checkTx(request) {
let tx = padTx(request.tx);
let number = tx.readUInt32BE(0);
if (number !== state.count) {
return { code: 1, log: 'tx does not match count' }
return { code: 1, log: "tx does not match count" };
}
return { code: 0, log: 'tx succeeded' }
return { code: 0, log: "tx succeeded" };
},

deliverTx (request) {
let tx = padTx(request.tx)
let number = tx.readUInt32BE(0)
deliverTx(request) {
let tx = padTx(request.tx);
let number = tx.readUInt32BE(0);
if (number !== state.count) {
return { code: 1, log: 'tx does not match count' }
return { code: 1, log: "tx does not match count" };
}

// update state
state.count += 1
state.count += 1;

return { code: 0, log: 'tx succeeded' }
}
}
return { code: 0, log: "tx succeeded" };
},
};

// make sure the transaction data is 4 bytes long
function padTx (tx) {
let buf = Buffer.alloc(4)
tx.copy(buf, 4 - tx.length)
return buf
function padTx(tx) {
let buf = Buffer.alloc(4);
tx.copy(buf, 4 - tx.length);
return buf;
}

let port = 26658
let port = 26658;
createABCIServer(handlers).listen(port, () => {
console.log(`listening on port ${port}`)
})
console.log(`listening on port ${port}`);
});
Loading