Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stradivario/gapi-ipfs-pubsub
@Gapi Ipfs InterPlanetary File System Module Pub Sub
https://github.com/stradivario/gapi-ipfs-pubsub
Last synced: 4 days ago
JSON representation
@Gapi Ipfs InterPlanetary File System Module Pub Sub
- Host: GitHub
- URL: https://github.com/stradivario/gapi-ipfs-pubsub
- Owner: Stradivario
- Created: 2018-06-13T13:13:38.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-12-07T20:07:10.000Z (about 2 years ago)
- Last Synced: 2024-11-01T16:36:16.456Z (about 2 months ago)
- Language: JavaScript
- Homepage:
- Size: 1.84 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# @Gapi Ipfs InterPlanetary File System Pub Sub Module (Beta)
##### More information about IPFS system can be find here [IPFS-WIKI](https://en.wikipedia.org/wiki/InterPlanetary_File_System)
##### For questions/issues you can write ticket [here](http://gitlab.youvolio.com/gapi/gapi-ipfs-pubsub/issues)
##### This module is intended to be used with [Gapi](https://github.com/Stradivario/Gapi) or [rxdi](https://github.com/rxdi)@gapi/ipfs hello world ipfs address:
https://ipfs.io/ipfs/QmPhYdx4dB6TwBU1KEbYmyET7HQJoLpyERvRD4kMWv3B3a
## Installation and basic examples:
##### To install this module, run:```bash
$ npm install @gapi/ipfs-pubsub --save
```## Consuming @gapi/ipfs-pubsub
##### Import inside AppModule or CoreModule```typescript
import { Module, Service } from '@rxdi/core';
import { IpfsPubSubModule, IpfsPubSubRoom } from '@gapi/ipfs-pubsub';@Module({
imports: [
IpfsPubSubModule.forRoot({
rooms: [
{ topic: 'test-topic'},
{ topic: 'test-topic2'},
{ topic: 'test-topic3'},
],
logging: true
}),
]
})
export class CoreModule { }```
TODO: Later releases
```typescript
import { Module, Service } from '@rxdi/core';
import { IpfsPubSubModule, IpfsPubSubRoom } from '@gapi/ipfs-pubsub';@Service()
export class TestRoom implements IpfsPubSubRoom {
name?: string = 'TestRoom'; // optional if not provided it will take class name as topicconstructor(
@Inject(OrbitDb) private orbitdb: Promise
@Inject(IpfsPubSubRoom) private ipfsPubSubRoom: IpfsPubSubRoom
@Inject(IPFS) private ipfs: IPFS
) {}
}@Module({
imports: [
IpfsPubSubModule.forRoot({
rooms: [TestRoom],
logging: true
}),
]
})
export class CoreModule { }```
TODO: Better documentation...
Enjoy ! :)