Lightning Network BOLT-01 methods
npm install bolt01
Methods relating to Lightning Network
BOLT 01.
Given BOLT 01 "BigSize" bytes, return a corresponding numeric value
{
encoded:
}
@throws
@returns
{
decoded:
length:
}
Example:
``node
const {decodeBigSize} = require('bolt01');
// Decode a zero value BigSize number
const {decoded} = decodeBigSize({encoded: '00'});
`
Decode an encoded TLV record
{
encoded:
[offset]:
}
@throws
@returns
{
length:
type:
value:
}
Example:
`node
const {decodeTlvRecord} = require('bolt01');
// Type '1' and value '01'
const {type, value} = decodeTlvRecord({encoded: '010101'});
`
Decode a TLV stream as key value pairs
{
encoded:
}
@throws
@returns
{
records: [{
type:
value:
}]
}
Example:
`node
const {decodeTlvStream} = require('bolt01');
// {records: [{type: '1', value: '01}]}
const {records} = decodeTlvRecord({encoded: '010101'});
`
Given a numeric value, encode it as BOLT 01 "BigSize" bytes
{
number:
}
@throws
@returns
{
encoded:
}
Example:
`node
const {encodeBigSize} = require('bolt01');
// Encode a zero value BigSize number
const {encoded} = encodeBigSize({number: '0'});
`
Encode data as a TLV record
{
type:
value:
}
@throws
@returns
{
encoded:
}
Example:
`node
const {encodeTlvRecord} = require('bolt01');
// encoded: '010101'
const {encoded} = encodeTlvRecord({type: '1', value: '01'});
`
Encode key value pairs as a TLV stream
{
records: [{
type:
value:
}]
}
@throws
@returns
{
encoded:
}
Example:
`node
const {encodeTlvStream} = require('bolt01');
// encoded: '010101'
const {encoded} = encodeTlvStream({records: [{type: '1', value: '01'}]});
``