orbitdb / orbit-db-pinner Goto Github PK
View Code? Open in Web Editor NEWA pinning service for Orbitdb, a decentralized database based on IPFS.
License: MIT License
A pinning service for Orbitdb, a decentralized database based on IPFS.
License: MIT License
Hi @Jon-Biz sorry about polluting your issue tracker like this... :/
Maybe our project would be of interest to you. I would like to get in contact.
You can reach me on twitter or @pepoospina on telegram.
bye!
This would allow more flexibility and control over what kind if IPFS node is used, and could potentially support multiple. Would obviate lib/ipfsInstance
as a side-effect.
This will need a test suite before it goes in production.
Thanks for the awesome pinning service <3
As the pinner develops, the schema in which the pinning database and pinned dbs are stored on the filesystem will change over time. As with any such thing, to prevent losing data, we'll need migrations... but before that, we'll need versioning.
I'm thinking we utilize the meta
field in the manifest for the pinning db for this, by storing a pinning-schema-version
key that's just a monotoncially increasing integer starting with 1.
Then, the first migration would be null
-> 1
, migrating databases that don't have the pinning-schema-version
meta key to databases that do.
Opening up TallyLab databases throws an error right now due to a missing TallyLabAccessController
. While it would be easy to fork this repo and simply hard code the access controller in, it would be better if this could be either a config setting or some other form of dependency injection, I haven't started work on this yet and I'm very open to suggestions.
Alternatively, maybe there's a way to ignore the ACL only on replicated entries and not the entries that the local node itself is trying to add?
This would be a basic HTTP endpoint that can be turned on or off via config, and would contain useful stats like:
Open to more stats here as well
Something like
app.use(orbitDBPinner(config))
Not sure exactly how it works. This would be an alternative to #7
Pinning previously added orbitdbs:
Orbit-pinner listening on port 3000
(node:29112) UnhandledPromiseRejectionWarning: Error: no valid addresses were provided for transports [TCP,WebSockets,Circuit]
at TransportManager.listen (/home/mark/Projects/Jon-Biz/orbitdb-pinner/node_modules/ipfs/node_modules/libp2p/src/transport-manager.js:175:21)
at Libp2p._onStarting (/home/mark/Projects/Jon-Biz/orbitdb-pinner/node_modules/ipfs/node_modules/libp2p/src/index.js:372:33)
at Libp2p.start (/home/mark/Projects/Jon-Biz/orbitdb-pinner/node_modules/ipfs/node_modules/libp2p/src/index.js:201:18)
at Proxy.start (/home/mark/Projects/Jon-Biz/orbitdb-pinner/node_modules/ipfs/src/core/components/start.js:58:18)
(node:29112) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
(node:29112) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
(node:29112) UnhandledPromiseRejectionWarning: Error: no valid addresses were provided for transports [TCP,WebSockets,Circuit]
at TransportManager.listen (/home/mark/Projects/Jon-Biz/orbitdb-pinner/node_modules/ipfs/node_modules/libp2p/src/transport-manager.js:175:21)
at Libp2p._onStarting (/home/mark/Projects/Jon-Biz/orbitdb-pinner/node_modules/ipfs/node_modules/libp2p/src/index.js:372:33)
at Libp2p.start (/home/mark/Projects/Jon-Biz/orbitdb-pinner/node_modules/ipfs/node_modules/libp2p/src/index.js:201:18)
at Proxy.start (/home/mark/Projects/Jon-Biz/orbitdb-pinner/node_modules/ipfs/src/core/components/start.js:58:18)
(node:29112) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 3)
Just got off of a call with @pepoospina and we talked about how "Dockerizing" this would be useful. A docker-compose.yml
would be good, but perhaps just a regular old Dockerfile
would be OK too.
Hi,
is this pinning project still being developed for production or dead? Whats the best way to ensure my orbitdb is being replicated and decentralized?
kind regards
Philipp
Because why not :D
Worth looking over. I don't know if there's a direct correlation here between an IPFS pinner and and OrbitDB pinner, but I bet we can find some inspiration.
cc @skybondsor
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.