protobuf3-solidity-lib
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
type | decode | encode |
---|---|---|
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.