Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
orbit-db-mfsstore
Advanced tools
Readme
Key-Value database for orbit-db backed by IPFS MFS.
A key-value database backed by the IPFS Mutable File System. Also allows indexing and searching by non-primary indexes. Unlike other orbit-db stores it does not load the entire dataset into memory. Each store uses a schema and when records are inserted we build btree indexes. They get built and stored locally.
Used in orbit-db.
npm install orbit-db ipfs orbit-db-mfsstore
First, create an instance of OrbitDB:
const MfsStore = require('orbit-db-mfsstore')
const IPFS = require('ipfs')
const OrbitDB = require('orbit-db')
const ipfs = new IPFS()
const orbitdb = await OrbitDB.createInstance(ipfs)
Add custom datastore type
OrbitDB.addDatabaseType("mfsstore", MfsStore)
Create a datastore with a schema. In this example we're saving baseball players. We'll add 4 different indexed fields. Indexes and can unique.
store = await orbitdb.open("baseballplayers", {
create: true,
type: "mfsstore",
schema: {
name: { unique: false },
currentTeam: { unique: false },
battingHand: { unique: false },
throwingHand: { unique: false }
}
})
Add a record and retreive it by the primary key
//Save it
await store.put(101, {
name: "Andrew McCutchen",
currentTeam: "PIT",
battingHand: "R",
throwingHand: "R"
})
//Retreive it
let player = await store.get(101)
Now we're going to add a few more players
await store.put(102, {
id: 102,
name: "Pedro Alvarez",
currentTeam: "BAL",
battingHand: "R",
throwingHand: "R"
})
await store.put(103, {
id: 103,
name: "Jordy Mercer",
currentTeam: "PIT",
battingHand: "L",
throwingHand: "R"
})
await store.put(104, {
id: 104,
name: "Doug Drabek",
currentTeam: "BAL",
battingHand: "L",
throwingHand: "R"
})
Now retreive the values by the secondary indexes.
//Get players who play for PIT
let teamPIT = await store.getByIndex("currentTeam", "PIT", "desc", 0, 100)
//Get players who who bat right handed.
let battingR = await store.getByIndex("battingHand", "R", "desc", 0, 100)
See orbit-db's API Documenations for full details.
An MFSStore has the following additional functions:
//Returns the recordset starting at the first record. Returns 100 records.
let result = await store.list(0, 100)
//Returns the recordset of records where the currentTeam attribute is set to "PIT".
//Sorts the records in descending order and starts at the first record.
//Returns 100 records.
let result = await store.getByIndex("currentTeam", "PIT", "desc", 0, 100 )
let count = await store.count()
If you think this could be better, please open an issue!
Please note that all interactions in @orbitdb fall under our Code of Conduct.
MIT ©️ 2016-2018 Protocol Labs Inc., 2018 Haja Networks Oy
FAQs
MFS backed Key-Value Store for orbit-db
The npm package orbit-db-mfsstore receives a total of 12 weekly downloads. As such, orbit-db-mfsstore popularity was classified as not popular.
We found that orbit-db-mfsstore demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.