flutter_gundb

Last updated:

0 purchases

flutter_gundb Image
flutter_gundb Images
Add to Cart

Description:

flutter gundb

Flutter GunDB #
This library is a port of GunDB js for the Dart and Flutter. P2P encrypted Communication between multiple users.
GUN is an ecosystem of tools that let you build community run and encrypted applications - like an Open Source Firebase or a Decentralized Dropbox.
Note: Some APIs like certify and user, not implemented completely (Trying to do so ;) )
Demo #

Features #

Multiplayer by default with realtime p2p state synchronization!
Graph data lets you use key/value, tables, documents, videos, & more!
Local-first, offline, and decentralized with end-to-end encryption.

Decentralized alternatives to Zoom, Reddit, Instagram, Slack, YouTube, Stripe, Wikipedia, Facebook Horizon and
more have already pushed terabytes of daily P2P traffic on GUN.
Getting started #
Add library to your app.
flutter pub add flutter_gundb
copied to clipboard
or
.....
dependencies:
flutter_gundb: ^0.0.3
....
copied to clipboard
Usage #
Short example is below. Added longer examples to /example folder.
import 'package:flutter_gundb/flutter_gundb.dart';

void main() {
final chainGunClient = FlutterGunSeaClient();

final getAditya = gun.get('aditya');
getAditya.put({
name: "Aditya Kumar Pandey",
email: "[email protected]",
});
getAditya.on((a, [b, c]) {
print('Getting Value:: $a');
});
}

copied to clipboard
Example on how to store the data locally.
import 'package:flutter_gundb/flutter_gundb.dart';

void main() async {
await initializeFlutterGun();
final chainGunClient = FlutterGunSeaClient(registerStorage: true);

final localFirstStorage = gun.get('local-first-storage');
localFirstStorage.put({
name: "Testing the Local First",
anime_website: "animeloved.com",
});
localFirstStorage.on((a, [b, c]) {
print('Getting Value:: $a');
});
}

copied to clipboard
Example How to send other user encrypted data
import 'package:flutter_gundb/flutter_gundb.dart';

void main() {
() async {
var aditya = await pair();
var pandey = await pair();

// On Aditya
var shared = await secret(pandey.epub, aditya);
var shared_enc = await encrypt('<Your Shared Data>', shared);

// Now Share `shared_enc` to your friend pandey (Send shared_enc and aditya's public key)

// On Pandey Side

var decryptKey = await secret(aditya.epub, pandey);
var decryptedData = await decrypt(shared_enc, decryptKey);

// `decryptedData` This is your Decrypted Data
} ();
}

copied to clipboard
Additional information #
Some APIs like certify and user. If anyone wants to help, kindly send a PR. I would appreciate it. Thank you in advance :)

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.