varuint-bitcoin
encode/decode number as bitcoin variable length integer
value | storage length (bytes) |
---|---|
[0, 0xfd) | 1 |
0xfd, 0xffff |
3 |
0x010000, 0xffffffff |
5 |
0x0100000000, 0x1fffffffffffff |
9 |
Installation
dart pub add dart_varuint_bitcoin
Example
import 'dart:typed_data';
import 'package:convert/convert.dart';
import 'package:dart_varuint_bitcoin/dart_varuint_bitcoin.dart' as varuint;
void main() {
Uint8List buffer = Uint8List(2);
final encoded = varuint.encode(0xfc, buffer, 1);
print(hex.encode(encoded.buffer.buffer.asUint8List()));
// => 00fx
Uint8List buffer2 = Uint8List.fromList([0x00, 0xfc]);
final decoded = varuint.decode(buffer2, 1);
print(decoded.output.toRadixString(16));
// => fc
}
License
MIT
Libraries
- dart_varuint_bitcoin
- This package uses it to encode/decode the number as bitcoin variable length integer.