This is alpha software. Use at your own risk.
Repository: Pan Industrial Org - ICaiBus Whitelister
ICaiBus Whitelister is part of the broader ICaiBus messaging bus ecosystem for the Internet Computer (IC), which enables decentralized publish-subscribe messaging patterns across canisters. This repository contains a Motoko-based implementation of a whitelisting mechanism for event-driven pub-sub systems. It supports managing access control and secure subscription configurations.
This project uses ICRC-72 - Minimal Event-Driven Pub-Sub Standard and ICRC-75 - Minimal Membership Standard.
With this Minimal Event-Driven Pub-Sub Standard, designed to formalize event messaging patterns on the IC. By leveraging whitelister functionality, developers can:
- Manage access control for specific event namespaces.
- Provide whitelisted event notifications to authorized subscribers.
- Enable fine-grained control over event handling and filtering.
This repository contains two main canisters:
-
Whitelister (
src/whitelister.mo
):- Implements the whitelisting logic for managing event subscriptions.
- Provides methods for adding, removing, and querying whitelisted subscribers.
- Conforms to the ICRC-72 standards for event handling and subscription management.
-
Splitter (
src/splitter.mo
):- A utility canister that helps manage the distribution of events across multiple subscribers.
- Handles splitting event streams and forwarding them to whitelisted subscribers.
Both canisters are built using Motoko and interact seamlessly with other ICaiBus components, such as orchestrators and broadcasters.
The project uses dfx.json
to define the canister configuration:
{
"canisters": {
"whitelister": {
"main": "src/whitelister.mo",
"type": "motoko"
},
"splitter": {
"main": "src/splitter.mo",
"type": "motoko"
}
},
"defaults": {
"build": {
"args": "",
"packtool": "mops sources"
},
"replica": {
"subnet_type": "system"
}
},
"version": 1
}
- Add and remove whitelisted subscribers dynamically.
- Query subscription details for managing event access.
- Enforce namespace-specific access controls.
- Distribute event notifications across multiple subscribers efficiently.
- Apply subscription-specific configurations like filters and priorities.
- DFX SDK installed.
- Motoko Base Library.
git clone [email protected]:PanIndustrial-Org/ICaiBus_whitelister.git
cd icaibus_whitelister
We welcome contributions! Please follow these steps:
- Fork the repository.
- Create a feature branch.
- Submit a pull request describing your changes.
This project is licensed under the MIT License. See the LICENSE
file for details.
For questions or support, please reach out via:
- GitHub Discussions: ICRC Discussions
- Pan Industrial: Contact Us
This project is part of the ICaiBus ecosystem and supported by the ICRC-72 standard. Special thanks to contributors and the Event Utility Working Group for their invaluable input.