Files
thehub/libs
tomFlowee 8d5c1604f8 Add accessors for the ip version support
The AddressDB stores separately the ipv4 and ipv6 addresses, ensuring
that the caller only receives IP addresess compatible with what they
asked.
Until now the booleans to define this were simply private members of the
DB and ipv6 was off.

This exposes those boolean to the outside world.
2024-01-06 22:01:00 +01:00
..
2022-11-23 16:31:29 +01:00
2022-09-10 00:35:59 +02:00
2023-02-25 19:38:06 +01:00
2022-02-26 11:49:56 +01:00

Flowee libs

There are a series of libraries that are shipped by Flowee, which are all in production by one or more of its applications.

Most of these libraries are also installed and shipped by deb/aur packages. You can use them from cmake.

  • crypto
    Basic crypto primitives. AES/SHA256.

  • interfaces
    Provides enums and interfaces.

  • utils
    This is the most useful one, lots of Bitcoin Cash util classes.

  • networkmanager
    A series of classes to do network communications with BCH and/or Flowee apps.

  • p2p
    A specific set of libs that implements the BCH p2p network communications.

  • utxo
    This is a library that supplies a sha256 specific database.

  • httpengine
    A webserver based on QtNetwork libs.

  • apputils
    Standalone-apps utils, depends on Qt libs.

Stability

While Flowee is in major version 1 the libraries are shipped to be statically linked because while the code is stable and known to work, the APIs can be changed in a binary incompatible and (much rarer) source incompatible way. Users are isolated from binary incompatible changes this way.

We have a developer-notes doc which specifies a coding style, which is at this time mostly used for new code and a wish for old code. Many APIs have been written and have been stable for a lot of years and they may not at this time follow those coding guidelines. We apologize for this and point out that slow changes and stability are more important than strict confirmation to some rules. Even though those rules will make new users more comfortable. Slow changes and stability.

License

All libraries are GPLv3, except for the httpengine one which is LGPL as it is derived from the qhttpengine open source project.

The original Satoshi codebase was MIT licensed. This has been combined with copyrighted works from Tom Zander which are GPLv3 licensed with the result that those files are new licensed under the GPLv3.