![Maven Central Adds Sigstore Signature Validation](https://cdn.sanity.io/images/cgdhsj6q/production/7da3bc8a946cfb5df15d7fcf49767faedc72b483-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Maven Central Adds Sigstore Signature Validation
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
orbit-db-mfsstore
Advanced tools
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 0 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
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
Security News
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.