Home

Awesome

protobuf3-solidity-lib

NPM Package GitHub release (latest SemVer) Node.js CI GitHub

Codec library for protobuf3 in Solidity. This library provides encoding and decoding functions for core protobuf3 types.

Overview

Installation

npm install --save @lazyledger/protobuf3-solidity-lib

Usage

Import the library in Solidity:

pragma solidity >=0.8.4 <0.9.0;

import "@lazyledger/protobuf3-solidity-lib/contracts/ProtobufLib.sol";

Building from source

Install dependencies:

npm install

Build:

npm run build

Test:

npm run test

Supported Features

typedecodeencode
key✔️✔️
varint✔️✔️
int32✔️✔️
int64✔️✔️
uint32✔️✔️
uint64✔️✔️
sint32✔️✔️
sint64✔️✔️
fixed32✔️✔️
sfixed32✔️✔️
fixed64✔️✔️
sfixed64✔️✔️
bool✔️✔️
enum✔️✔️
string✔️✔️
bytes✔️✔️
embedded messages✔️✔️
packed repeated✔️✔️

Unsupported Features

Start and end group deprecated wire types, float, double field types.