qed

module
v0.3.0-docs.0...-f96dd80 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 9, 2019 License: Apache-2.0

README

********************************************************************
QED - Scalable, auditable and high-performance tamper-evident log
********************************************************************

.. image:: https://readthedocs.org/projects/qed/badge/?version=latest
   :target: https://qed.readthedocs.io
   :alt: User Documentation Status
.. image:: https://dev.azure.com/bbvalabs/qed/_apis/build/status/BBVA.qed?branchName=master
   :target: https://dev.azure.com/bbvalabs/qed/_build/latest?definitionId=1&branchName=master
   :alt: Build Status
.. image:: https://img.shields.io/azure-devops/coverage/bbvalabs/qed/1.svg
   :target: https://dev.azure.com/bbvalabs/qed/_build/latest?definitionId=1&branchName=master 
   :alt: Azure DevOps coverage
.. image:: https://goreportcard.com/badge/github.com/bbva/qed
   :target: https://goreportcard.com/report/github.com/bbva/qed
   :alt: GoReport
.. image:: https://godoc.org/github.com/bbva/qed?status.svg
   :target: https://godoc.org/github.com/bbva/qed
   :alt: GoDoc



.. figure:: https://raw.githubusercontent.com/BBVA/qed/master/docs/source/_static/images/qed_logo_small.png
   :align: center

**QED** is an open-source software that allows you to establish
**trust relationships** by leveraging verifiable cryptographic proofs.

It can be used in multiple scenarios:

- Data transfers.
- System (or application or business) logging.
- Distributed business transactions.
- Etc.

QED **guarantees** that the system itself, even when deployed
into a **non-trusted server**, cannot be modified without being
detected. It also provides **verifiable cryptographic proofs**
in logarithmic relation (time and size) to the number of entries.

QED is **scalable**, **resilient** and **ops friendly**:

- Designed to manage **billions of events** per shard
- Over **2000 operations per second** per shard under sustained load
- Consistent replication through RAFT
- Operable and instrumented with dozens of metrics
- **Zero config files**, fully documented single binary

Documentation
-------------

You can find the complete documentation at: `Documentation <https://qed.readthedocs.io>`_

Project code
------------

You can find the project code at `Github <https://github.com/BBVA/qed>`_

Authors
-------

QED was made by Hyperscale BBVA-Labs Team.

License
-------

QED is Open Source and available under the `Apache 2 license <https://github.com/BBVA/qed/blob/master/LICENSE>`_.

Contributions
-------------

Contributions are very welcome. See `docs/source/contributing/contributing.rst <https://github.com/BBVA/qed/blob/master/docs/source/contributing/contributing.rst>`_ or skim `existing tickets <https://github.com/BBVA/qed/issues>`_ to see where you could help out.

Directories

Path Synopsis
api
apihttp
Package apihttp implements the HTTP API public interface.
Package apihttp implements the HTTP API public interface.
metricshttp
Package metricshttp implements the Metrics HTTP API public interface.
Package metricshttp implements the Metrics HTTP API public interface.
mgmthttp
Package mgmthttp implements the Raft management HTTP API public interface.
Package mgmthttp implements the Raft management HTTP API public interface.
Package balloon implements functionality to build balloons (a layer that comprises hyper and history trees, among other stuff), control their life cycle and operate them: add event digests (or bulk of event digests), ask for proofs of membership or consistency, etc..
Package balloon implements functionality to build balloons (a layer that comprises hyper and history trees, among other stuff), control their life cycle and operate them: add event digests (or bulk of event digests), ask for proofs of membership or consistency, etc..
cache
Package cache implements the interface to interact with a cache.
Package cache implements the interface to interact with a cache.
history
Package history implements the history tree (a merkel tree, append only structure) life cycle, its operations, different visitors to navigate the tree, as well as the functionality of request and verify membership and incremental proofs.
Package history implements the history tree (a merkel tree, append only structure) life cycle, its operations, different visitors to navigate the tree, as well as the functionality of request and verify membership and incremental proofs.
hyper
Package hyper implements the history tree (a sparse merkel tree) life cycle, its operations, as well as the functionality of request and verify a membersip proof.
Package hyper implements the history tree (a sparse merkel tree) life cycle, its operations, as well as the functionality of request and verify a membersip proof.
Package client implements the client to interact with QED servers.
Package client implements the client to interact with QED servers.
Package cmd implements the command line commands qed and server.
Package cmd implements the command line commands qed and server.
Package consensus is a generated protocol buffer package.
Package consensus is a generated protocol buffer package.
Package crypto implements key generators.
Package crypto implements key generators.
hashing
Package hashing implements different hashers and their funcionality.
Package hashing implements different hashers and their funcionality.
sign
Package sign implements funcionality to create signers, which are able to sign messages and verify signed messages.
Package sign implements funcionality to create signers, which are able to sign messages and verify signed messages.
Package gossip implements functionality to build gossip agents and control their life cycle: start/stop, join/leave the gossip network, send messages, ...
Package gossip implements functionality to build gossip agents and control their life cycle: start/stop, join/leave the gossip network, send messages, ...
Package log implements the qed/log wrapper that formats the logs in our custom format as well as logging levels.
Package log implements the qed/log wrapper that formats the logs in our custom format as well as logging levels.
Package metrics implements an HTTP metrics server along with its life cycle: start, shutdown, and register metrics.
Package metrics implements an HTTP metrics server along with its life cycle: start, shutdown, and register metrics.
Package protocol defines the information types required and expected when interacting with QED.
Package protocol defines the information types required and expected when interacting with QED.
Package server implements the server initialization for the api.apihttp and balloon tree structure against a storage engine.
Package server implements the server initialization for the api.apihttp and balloon tree structure against a storage engine.
pb
Package pb is a generated protocol buffer package.
Package pb is a generated protocol buffer package.
rocks
Copyright 2018-2019 Banco Bilbao Vizcaya Argentaria, S.A.
Copyright 2018-2019 Banco Bilbao Vizcaya Argentaria, S.A.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL