在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:orbitdb/orbit-db-powergate-io开源软件地址:https://github.com/orbitdb/orbit-db-powergate-io开源编程语言:JavaScript 98.4%开源软件介绍:PowergateIO (orbit-db-powergate-io)
Install
From Source$ git clone https://github.com/orbitdb/orbit-db-powergate-io
$ cd orbit-db-powergate-io
$ npm install UsagePowergateIO is designed to work with only one configuration option: the gRPC endpoint of the Powergate node you want to connect to. Everything else should be handled "under the hood" for you. See below. Initial Setupconst PowergateIO = require('orbit-db-powergate-io')
const host = 'http://0.0.0.0:6002' // This is the default value
PowergateIO.create(host)
.then((powergateio) => {
console.log(powergateio.wallet) // Will be {} until funded
}) Backing up an OrbitDB SnapshotPowergateIO is meant to be used from one IPFS node to another, and to replicate OrbitDB databases between them. So, let's assume that we have an IPFS node and OrbitDB running locally, and we're going to interact with a remote Powergate instance. const IPFS = require('ipfs')
const OrbitDB = require('orbit-db')
const PowergateIO = require('orbit-db-powergate-io')
;(async () => {
const ipfs = await IPFS.create()
const orbitdb = await OrbitDB.createInstance(ipfs)
powergateio = await PowergateIO.create('https://my.hosted.powergate.node')
const addresses = (await powergateio.ipfs.id()).addresses
await ipfs.swarm.connect(addresses[0].toString())
const db = await orbitdb.eventlog('powergate-test')
for (let i = 0; i < 10; i++) {
await db.add(`entry${i}`)
}
jobStatus = await powergateio.storeSnapshot(db.address.toString())
console.log(jobStatus)
// Wait until wallet is funded
// Can take up to 2 minute on testnet
console.log(powergateio.wallet)
await powergateio.stop()
await orbitdb.disconnect()
await ipfs.stop()
})() Retrieving an OrbitDB SnapshotOnce you've stored a snapshot and have made note of the DB address returned, you can use that db address to retrieve the snapshot! const IPFS = require('ipfs')
const OrbitDB = require('orbit-db')
const PowergateIO = require('orbit-db-powergate-io')
;(async () => {
const ipfs = await IPFS.create()
const orbitdb = await OrbitDB.createInstance(ipfs)
const powergateio = await PowergateIO.create('https://my.hosted.powergate.node')
const addresses = (await powergateio.ipfs.id()).addresses
await ipfs.swarm.connect(addresses[0].toString())
const dbAddr = '/orbitdb/zdpuAxkdoDum8Nk2VCxKkHZk8TzqAYPm86mVgoy7wagu2UcZB/powergate-test'
const db2 = await orbitdb.open(dbAddr, { create: true })
const snapshot = await powergateio.retrieveSnapshot(dbAddr)
await db2._oplog.join(snapshots[0].log)
await db2._updateIndex()
})() For more information, see the API docs. Also, the tests are heavily commented to detail what is happening at each step. ContributingIssues and pull requests accepted. Please note that several issues have "Help Wanted" and "Good First Issue" tags! Developing LocallyIt's highly recommended to install both Docker and Docker compose. From there,
LicenseMIT (or Apache2.0 at your discretion) © OrbitDB Community |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论