The CIC Stack is a set of (Free) Open Source Software (FOSS) to provide a platform to setup and run community inclusion currencies.
Generally the technical setup is done by a local Platform Service Provider like Grassroots Economics.
The setup is GNU/Linux-first. No guarnatee or support will be provided for proprietary OS platforms.
Ensure that you trust the software being used. Even if it is open source now, that improvements and upgrades will remain open source.
Even if it is open source, ensure that it is clear and transparent enough to reasonably understand and maintain.
We highly recommend using abstractions that enable portability to other ledger systems. Even if a ledger chain is benevolent and reasonable to use now, does not mean it remains that way forever.
A long term goal should be for communities to collaborate in creating their own ledger systems, where members of the communities hold nodes that decentralize and secure the ledger with low harfdware requirements.
Provide and preserve abstractions that enable use of any wallet and network provider.
Offer wallet custody system, aswell as recovery systems for lost keys and passwords.
Given the consent of the communities, anonymized transaction data can be recorded and displayed.
Provide full understanding and transparency of the scope of data that is shared, and the possible risks and effects caused by data sharing.
Ensure that the intelligence that is yielded from shared data is given back in full to the communities, to own and to do with as they see fit.
The guiding principles for system design and contribution are described below with emphasis on software development and infrastructure:
Avoid lock-ins: No part of the system should rely on and/or integrate with libraries or services that cannot be reasonably understood and adapted. Nor should the work required to replace a component be unreasonable large as a result of external dependencies. Adaptable dependencies should expose an implementable interface.
Lean dependency graph: The base should make use of primitives and standard libraries as much as possible.
No soft lock-in to virtual environments: Too many modern software projects only provides reasonable ease of use through mechanisms like Docker or similar frameworks. Care should be taken to incur minimum penalty for using the application and tooling in a local host environment. Documentation must exist and be maintained to facilitate this.
Coherent configurations regardless of entry-point: Merged ini/toml-format configuration files constitute configuration schemas and overrides, translating to a configuration directive vocabulary overridable by environment variables of the same name.
CLI tooling framework: Layered definitions of command line arguments, so that concepts common for each layer is only defined in one place. Full and intuitive control of overriding configuration directives with command line arguments and flags. Easy generation of base resource objects (such as rpc, wallet) directly from rendered configurations. Facilitate and encourage use of chainable commands (e.g. UNIX pipelines).
- Fully Open Source under AGPL 3.0 License.
- Automates the full lifecycle of blockchain transactions.
- Supported on Celo (opens in a new tab) and can be extended to support any EVM-compatible blockchain.
- Includes a broad collection CLI tools for most common chain operations.
- Supports both local and containerized environments.
- Support last mile front-end APIs and integrations.
All software components are licensed under the AGPL 3.0 License (opens in a new tab) unless otherwise explicitly stated in the code repository or file.