Skip to content

commonwarexyz/monorepo

commonware

License: MIT License: Apache 2.0 Discussions Coverage

Primitives

Primitives are designed for deployment in adversarial environments. If you find an exploit, please refer to our security policy before disclosing it publicly (an exploit may equip a malicious party to attack users of a primitive).

  • consensus: Order opaque messages in a Byzantine environment.
  • cryptography: Generate keys, sign arbitrary messages, and deterministically verify signatures.
  • p2p: Communicate with authenticated peers over encrypted connections.
  • runtime: Execute asynchronous tasks with a configurable scheduler.
  • storage: Persist and retrieve data from an abstract store.
  • stream: Exchange messages over arbitrary transport.

Examples

Examples may include insecure code (i.e. deriving keypairs from an integer arguments) to make them easier to run. Examples are not intended to be used directly in production.

  • chat: Send encrypted messages to a group of friends.
  • log: Commit to a secret log and agree to its hash.
  • vrf: Generate bias-resistant randomness with untrusted contributors.

Miscellaneous

Sometimes, we opt to maintain software that is neither a primitive nor an example to make it easier to interact with the Commonware Library. Unless otherwise indicated, code in this section is intended to be used in production. Please refer to our security policy before disclosing an exploit publicly.

  • docs: Access information about Commonware at https://commonware.xyz.
  • macros: Augment the development of primitives with procedural macros.
  • utils: Leverage common functionality across multiple primitives.

Licensing

This repository is dual-licensed under both the Apache 2.0 and MIT licenses. You may choose either license when employing this code.

Contributing

We encourage external contributors to submit issues and pull requests to the Commonware Library. To learn more, please refer to our contributing guidelines.

All work is coordinated via the tracker. If something in the backlog looks particularly useful, leave a comment so we can prioritize it!

Support

If you have any questions about using the Commonware Library, we encourage you to post in GitHub Discussions. We're happy to help!

About

Commonware Library Primitives and Examples

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Security policy

Stars

Watchers

Forks

Languages