/design

Convex Design and Documentation

Primary LanguageTypeScript

Convex Design & Documentation

This repository is dedicated to Convex Design and Documentation

Key Documents

Current CADs

Convex Architecture Documents (CADs) are defined for standards relating to the Convex network and ecosystem, in a manner inspired by Internet RFCs.

Code Title Status Editor
CAD000 Design principles Active mikera
CAD001 Vision & Architecture Active mikera
CAD002 CVM Values Active mikera
CAD003 Encoding Format Active mikera
CAD004 Account Model Pending mikera
CAD005 CVM Execution Initial mikera
CAD006 Memory Accounting Active mikera
CAD007 Juice Accounting Pending mikera
CAD008 Convex Lisp Compiler Pending mikera
CAD009 Expanders and Macros Pending mikera
CAD010 Transactions Pending mikera
CAD011 Error Handling Active mikera
CAD012 Numerics Pending mikera
CAD013 Metadata Initial helins
CAD014 CNS Registry Pending mikera
CAD015 Peer Connection Protocol Pending mikera
CAD016 Peer Staking Pending mikera
CAD017 Peer Operations Pending mikera
CAD018 Scheduler Pending mikera
CAD019 Asset Model Draft mikera
CAD020 Tokenomics Draft mikera
CAD021 Observability Draft mikera
CAD022 Trust Monitors Draft mikera
CAD023 Local Key Store Draft mikera
CAD024 Data Lattice Draft mikera
CAD025 HD Wallets Draft mikera
CAD026 Convex Lisp Draft mikera
CAD027 Event Logging Draft mikera
CAD028 Data Lattice File System Draft mikera
CAD029 Fungible Token Standard Draft mikera
CAD030 Torus DEX Draft mikera

Convex Project Repositories

There are the key repositories managed under the Convex-Dev organisation on GitHub.

The main Convex repository is the primary code base, and includes important modules including:

  • convex-core - the core Convex data structures and algorithms including CPoS
  • convex-peer - Convex peer implementation and P2P networking
  • convex-gui - Convex Desktop GUI Application
  • convex-restapi - REST API Server implementation
Name Description Status Lead Dev.
Convex Main Convex distribution Active mikera
Convex Design Architecture and design documents Active mikera
convex-web Website and live sandbox (convex.world) Active pedrorgirardi
convexity Mobile application and wallet Active pedrorgirardi
convex-api-py Python REST client Active billbsing
convex-api-js NodeJS REST client Active billbsing
convex.cljc Clojure libraries, Convex Lisp Runner Active helins

Ecosystem Projects

We maintain a list of Ecosystem Projects as a shared resource for the community.

If you would like your project listed, please send a PR for the linked page.

Contributing

Contributions to this repository are welcome. Contributors may clarify existing design documents, or propose new formal specification changes to Convex by opening issues or pull requests.

For questions and broader discussions, please join the Convex Discord channel (https://discord.com/invite/xfYGq4CT7v).

Contributors are recommended to consult the broader community first before developing new proposals or improvements.

License

Copyright 2020-24 Convex Foundation (UK) and contributors.

Contributors retain copyright in their contributions, but agree that the Convex Foundation may freely distribute these contributions under any license of its choice.

In exchange for using the information contained within this repository, you agree not to hold the Convex Foundation, its affiliates or any other party in the Convex ecosystem liable for any possible claim for damages arising from any decision you make based in whole or in part on information made available to you through this repository.