Because it's inspired by fireship youtube video, and I am trying to replace Firestore with GunDB (Decentralized Database)
It's a wrapper for gunDB. gunDB is great, but sometimes the docs is confusing.
npm i gun @yokowasis/firegun
import { Firegun } from '@yokowasis/firegun'
// or
const Fg = require('@yokowasis/firegun');
const Firegun = Fg.Firegun;
let fg = new Firegun();
var data = {
"Hello" : "World"
}
//Put Some Data
let success = await fg.Put("data/dummy",data);
//Retrieve Some Data
let retrieveData = await fg.Get("data/dummy");
let data = await fg.Get("path/to/the/things")
// Load Multi Nested Data
let data = await fg.Load("path/to/the/things")
let success = await fg.Put("path/to/the/things",{
"hello" : "world",
"parent" : {
"nested" : "data"
}
})
What is it ? It's a space for user. The data written in this way is readonly for the public.
await fg.userNew ("username", "password")
console.log (fg.user)
await fg.userLogin ("username", "password")
console.log (fg.user)
await fg.userLogout ()
console.log (fg.user)
let data = await fg.userGet ("mydata")
//Load Multi Nested Data
let data = await fg.userLoad ("mydata")
let success = await fg.userPut ("mydata",{
"Hello" : "Userspace"
})
What is it? It's like the UserSpace, but without the username / password
//Key Must begin with "#"
let success = fg.addContentAdressing("#permanentStuff",{
"Hello" : "Can't Touch Me"
})
//Try to read it
let data = await fg.Get("#permanentStuff");
for (const key in data) {
const element = data[key];
console.log (element);
}
//or using gun.map()
fg.gun.get("#permanentStuff").map().once(element=>{
console.log (element)
})
//Try to change it
let success = await fg.Put("#permanentStuff",{
"New" : "entry"
})
//will fail
What is it for ? it's to create a user without username / password.
let keyPair = await fg.generatePair();
await fg.loginPair (keyPair);
console.log (fg.user);