Recursive Length Prefix Encoding in JavaScript
JavaScript
Clone or download
Latest commit 296857a Jun 28, 2018
Permalink
Failed to load latest commit information.
bin Add the NPM badge Jan 6, 2016
test Added tests for RLP.getLength Feb 15, 2018
.gitignore Add standard .gitignore file also used in other EthereumJS projects Oct 9, 2017
.travis.yml Run tests on supported Node versions 6,8 Feb 15, 2018
CHANGELOG.md Bumped version to v2.1.0, added CHANGELOG file Jun 28, 2018
README.md Fix README.md typos and grammar Feb 3, 2018
index.js
package.json Bumped version to v2.1.0, added CHANGELOG file Jun 28, 2018

README.md

SYNOPSIS

NPM Package Build Status Coverage Status Gitter or #ethereumjs on freenode

js-standard-style

Recursive Length Prefix Encoding for node.js.

INSTALL

npm install rlp

install with -g if you want to use the cli.

USAGE

var RLP = require('rlp');
var assert = require('assert');

var nestedList = [ [], [[]], [ [], [[]] ] ];
var encoded = RLP.encode(nestedList);
var decoded = RLP.decode(encoded);
assert.deepEqual(nestedList, decoded);

API

rlp.encode(plain) - RLP encodes an Array, Buffer or String and returns a Buffer.

rlp.decode(encoded, [skipRemainderCheck=false]) - Decodes an RLP encoded Buffer, Array or String and returns a Buffer or an Array of Buffers. If skipRemainderCheck is enabled, rlp will just decode the first rlp sequence in the buffer. By default, it would throw an error if there are more bytes in Buffer than used by rlp sequence.

CLI

rlp decode <hex string>
rlp encode <json String>

TESTS

Test uses mocha. To run npm test

CODE COVERAGE

Install dev dependencies npm install

Run npm run coverage

The results are at coverage/lcov-report/index.html