Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/seniorjoinu/ic-event-hub
Event-based pub/sub for IC canisters
https://github.com/seniorjoinu/ic-event-hub
dfinity events internet-computer pubsub rust
Last synced: about 6 hours ago
JSON representation
Event-based pub/sub for IC canisters
- Host: GitHub
- URL: https://github.com/seniorjoinu/ic-event-hub
- Owner: seniorjoinu
- Created: 2021-07-05T22:09:29.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2022-06-10T23:00:54.000Z (over 2 years ago)
- Last Synced: 2024-11-11T01:55:44.743Z (5 days ago)
- Topics: dfinity, events, internet-computer, pubsub, rust
- Language: Rust
- Homepage:
- Size: 155 KB
- Stars: 10
- Watchers: 3
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## IC Event Hub
A rust library that enables efficient event-based pub/sub for IC canisters
### Motivation
The main idea behind the Open Internet Services concept is ___collaboration___. The easier it is for us to integrate
canisters, the more great software we can build together, the closer we are to the Open Internet.This library greatly simplifies canister integration by flipping integration surface upside down. It enables your
canister to express its interfaces in terms of emitted events. Sending a message, your canister does not need to know a
signature of the remote canister anymore. Instead, the remote canister should know what events it wants to receive from
your canister. This enables us to create emitter canisters - ones which emit events, when something important happens
inside it, and which does not care who are the exact recipients of these events. On the other side, listener-canisters
(recipients) are able to make precise decisions which event topics they want to receive updates on, which is good for
both: performance/price and overall application logic.### Tutorials
* [Introduction to ic-event-hub library](https://dev.to/seniorjoinu/introduction-to-ic-event-hub-library-5366)
* [Tutorial: Connecting A Token With Multiple Ledgers Using ic-event-hub](https://dev.to/seniorjoinu/tutorial-connecting-a-token-with-multiple-ledgers-using-ic-event-hub-1d4)
* [Tutorial: Efficient Canister Networking With ic-event-hub](https://dev.to/seniorjoinu/tutorial-efficient-canister-networking-with-ic-event-hub-4idb)### Installation
```toml
# Cargo.toml[dependencies]
ic-event-hub = "0.3"
ic-event-hub-macros = "0.3"
```### Contribution
You can reach me out here on Github opening an issue, or you could start a thread on Dfinity's developer forum.
You're also welcome to suggest new features and open PR's.