Metadata-Version: 2.1
Name: cfbc
Version: 0.1.8
Summary: CFB code generator
Home-page: http://github.com/nervosnetwork/cfb
Author: Nervos Core Dev
Author-email: dev@nervos.org
License: MIT
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Environment :: Console
Description-Content-Type: text/markdown
Requires-Dist: docopt
Requires-Dist: Jinja2
Requires-Dist: flatbuffers

# CFB Encoding

## [![Build Status](https://travis-ci.com/nervosnetwork/cfb.svg?branch=master)](https://travis-ci.com/nervosnetwork/cfb)

CFB (Canonical FlatBuffers) is a restricted variant of FlatBuffers for producing unequivocal transfer syntax.

## Usage

Install the code geneartor as commane line utility:

```
pip install -U cfbc
```

First generate bfbs file from fbs:

```
flatc -b --schema example.fbs
```

Then generate rust files from bfbs:

```
cfbc example.bfbs
```

### Use Verifier with flatbuffers rust

-   Add the generated `<name>_generated_verifier.rs` to the project in the same
    directory with the file `<name>_generated.rs` generated by `flatc -r`.
-   Add crate `flatbuffers-verifier` as a dependency in Cargo.toml.
-   Use the same version of `flatbuffers` as in `flatbuffers-verifier`.

```
flatbuffers-verifier = { git = "https://github.com/nervosnetwork/flatbuffers-verifier" }
flatbuffers = { git = "https://github.com/google/flatbuffers", rev = "4f10da8d99c1a7bc8c9c7d06d2092a689f171d29" }
```

The crate `flatbuffers-verifier` defines a function `get_root`, which is intended to replace the
function with the same name in `flatbuffers`. This function will verify the
buffer, and returns a `Result` to indicate whether the buffer is valid.


