Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    inspiraluna
    @inspiraluna:matrix.org
    [m]
    also webtransport seems to be supported only by chrome so far. this would mean it doesn't make sense in all cases.
    Luca Panof
    @LucaPanofsky
    I agree
    jreamy
    @jreamy:matrix.org
    [m]
    Hi all, I see a couple questions & some old examples scattered across the internet about using orbit-db in react native. Anyone have an up-to-date example or firm statement that this isn't supported currently?
    TimDaub
    @timdaubenschuetz:matrix.org
    [m]
    Hi, looks like ipfs-log isn't maintained or used. Can a contributor DM me and tell me details
    1 reply
    I'm interested in resuming some of the work
    Marcus Pousette
    @marcus-pousette:matrix.org
    [m]
    I am maintaining a fork of orbit-db in Typescript where I have introduced encryption (and thus read access control) and sharding (document store is now many logs instead of just one). In this fork I also maintain a fork of the ipfs-log that now is in TypeScript that is quite opinionated for performance. https://github.com/dao-xyz/peerbit
    2 replies

    Hey channel, EthGlobal FEVM hackathon is happening right now and it looks like OrbitDB is in high demand 🚀 People are running into a lot of the same issues discussed here.

    Currently mrhavercamp is heroically working on fixing issues and I'm pitching in when I can, but if anybody is willing to log into the EthGlobal discord and point people in the right direction, that would be tight.

    1 reply
    aphelionz
    @aphelionz:matrix.org
    [m]
    aphelionz
    @aphelionz:matrix.org
    [m]
    aww, that's too bad
    Darniss
    @Darniss

    TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received an instance of Ed25519PeerIdImpl
    at new NodeError (node:internal/errors:387:5)
    at validateString (node:internal/validators:162:11)
    at Object.join (node:path:1172:7)

    Getting this error while creating OrbitDB.

    2 replies
    Julien Malard-Adam
    @julienmalard
    @Darniss Do you have a code example (with package.json?)
    Darniss
    @Darniss
    @Darniss Do you have a code example (with package.json?)
    @julienmalard
    npm version 8.19.2
    node version v16.18.1
    OS : MAC
    "ipfs": "^0.65.0",
    "ipfs-http-client": "^59.0.0",
    "orbit-db": "^0.28.7",
    Marcus Pousette
    @marcus-pousette
    Latest versions of js libp2p changes the representation of PeerId to Ed25519PeerIdImpl from string, which makes OrbitDB not compatible. Downgrading you IPFS client solves this problem.
    4 replies
    Darniss
    @Darniss

    Latest versions of js libp2p changes the representation of PeerId to Ed25519PeerIdImpl from string, which makes OrbitDB not compatible. Downgrading you IPFS client solves this problem.

    @marcus-pousette:matrix.org

    npm version 8.19.2
    node version v16.18.1
    OS : MAC
    "ipfs": "^0.65.0",
    "orbit-db": "^0.28.7",

    Which version of IPFS shall I use here

    Marcus Pousette
    @marcus-pousette
    try 0.63.2
    Also you can not use "ipfs-http-client": "^59.0.0", but have to use like "^56.0.0" i think. (I am sure if you need the ipfs-http-client dependency at all if you are using ipfs-js dependency).
    Wings
    @wings:perthchat.org
    [m]
    Hi, is OrbitDB still active? It seems more dead than ever :(
    doreb
    @doreb:matrix.org
    [m]

    Hi everyone,

    I wonder same thing as Wings does. I guess, since last Sunday there is no reply to Wings message, it should be dead.

    But I want to hear that from maintainers of the orbit-db. Could you please share the current situation of orbit-db ?

    Thanks a lot.

    haad
    @haad:matrix.org
    [m]

    No, it’s not dead, ppl are still working on it. There aren’t many maintainers and nobody’s getting paid for it atm so time is a limiting factor.

    Happy to accept y’all’s contributions! 🤗

    1 reply
    Julien Malard-Adam
    @julienmalard
    @haad Orbit-db provides the core functionality for my Constellation project, so I just wanted to mention that I'm very much willing to help contribute in any way that the orbit-db team would like.
    haad
    @haad:matrix.org
    [m]
    much appreciated @julienmalard 🙏 we're currently in process of updating all modules from CJS to ESM in order to be able to upgrade to use latest IPFS. will get back to you on your offer once I've coordinated with aphelionz and mrhavercamp
    Julien Malard-Adam
    @julienmalard
    Thanks! I'll look forward to your message then @haad:matrix.org . By the way, I've switched Constellation to ESM and it's working with both the latest IPFS and orbit-db.
    Wings
    @wings:perthchat.org
    [m]
    not like, a life changing amount, but yeah
    aphelionz
    @aphelionz:matrix.org
    [m]
    Wings: we have the OpenCollective - that would be the best place for it imo
    Wings
    @wings:perthchat.org
    [m]
    cool
    as an aside, is anyone in this channel willing to do OrbitDB development on a paid basis? (not on OrbitDB core, although that work could be sponsored as well - I mean a product using OrbitDB)
    1 reply
    money -> mouth
    Wings
    @wings:perthchat.org
    [m]
    I'll do a write-up tonight of what's required
    William May
    @bossman96:matrix.org
    [m]

    How come do I get the latest version of orbitdb and ipfs to work. If I don't downgrade ipfs to 0.39.1 and orbit-db to 0.23.1 I get this error node:internal/modules/cjs/loader:499
    throw e;
    ^

    Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './cid' is not defined by "exports" in /home/oem/Desktop/Coding/Test/orbitdb/doesntwork/node_modules/multiformats/package.json
    at new NodeError (node:internal/errors:387:5)
    at throwExportsNotFound (node:internal/modules/esm/resolve:464:9)
    at packageExportsResolve (node:internal/modules/esm/resolve:688:7)
    at resolveExports (node:internal/modules/cjs/loader:493:36)
    at Function.Module._findPath (node:internal/modules/cjs/loader:533:31)
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:942:27)
    at Function.Module._load (node:internal/modules/cjs/loader:804:27)
    at Module.require (node:internal/modules/cjs/loader:1028:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/home/oem/Desktop/Coding/Test/orbitdb/doesntwork/node_modules/orbit-db/src/orbit-db-address.js:3:17) {
    code: 'ERR_PACKAGE_PATH_NOT_EXPORTED'
    }

    3 replies
    William May
    @bossman96:matrix.org
    [m]
    What's the best way to go about creating a database for a forum?
    phaze-jeff
    @phaze-jeff:matrix.org
    [m]
    hi, im learning about orbitdb and it seems too good to be real
    so i guess my question is, what are its limitations compared to a traditional database?
    phaze-jeff
    @phaze-jeff:matrix.org
    [m]
    how is the state of the database agreed upon? for example, if an app queries for some key in an orbit database and finds 2 ipfs nodes storing the database that each have a different value for that key, which value is used?
    3 replies
    sorry if these are basic questions im just trying to wrap my head around p2p, messing around with the demos feels like complete magic lol
    William May
    @bossman96:matrix.org
    [m]

    After adding orbit-db-identity-provider I got this error in node. node:internal/modules/cjs/loader:499
    throw e;
    ^

    Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: No "exports" main defined in /home/oem/Desktop/Yew/run-through/proficient/folkseconomy/database/node_modules/ipfs/package.json
    at new NodeError (node:internal/errors:387:5)
    at throwExportsNotFound (node:internal/modules/esm/resolve:464:9)
    at packageExportsResolve (node:internal/modules/esm/resolve:688:7)
    at resolveExports (node:internal/modules/cjs/loader:493:36)
    at Function.Module._findPath (node:internal/modules/cjs/loader:533:31)
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:942:27)
    at Function.Module._load (node:internal/modules/cjs/loader:804:27)
    at Module.require (node:internal/modules/cjs/loader:1028:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/home/oem/Desktop/Yew/run-through/proficient/folkseconomy/database/index.js:1:14) {
    code: 'ERR_PACKAGE_PATH_NOT_EXPORTED'
    }

    2 replies
    phaze-jeff
    @phaze-jeff:matrix.org
    [m]
    what is the version of ipfs js i should be using for orbitdb js? github page says 0.52 or lower but im seeing people in here say 0.63 so im a little confused

    im currently using orbit-db 0.28.7 and ipfs js 0.52 with this code:

    async function main() {
        const ipfs = await Ipfs.create()
    
        const orbitdb = await OrbitDB.createInstance(ipfs)
        const db = await orbitdb.keyvalue('test-database')
    }
    
    main()

    and im getting this error on line 5:
    Uncaught (in promise) Error: Invalid version, must be a number equal to 1 or 0

    phaze-jeff
    @phaze-jeff:matrix.org
    [m]
    using ipfs js 0.63.1 works. the github page needs to be updated, 0.52 doesnt seem to work with latest orbit db
    Joris | zierold.eth
    @JorisZierold
    Hey there, two questions:
    1) Is it possible to create two OrbitDB instances with the same IPFS node? Getting an IO error: ... LOCK: already held by process
    2) Do I need to set up a webrtc signal server in order to create a swarm address to listen for? Any reference on this would be great.
    Julien Malard-Adam
    @julienmalard
    @JorisZierold Regarding 1), I think you do need a separate IPFS node for each OrbitDB instance, though I may be wrong. For 2), it's not strictly necessary but in practice much better to have your own webrtc-star server to guarantee availability in production. Here's a good reference I used (https://suda.pl/free-webrtc-star-heroku/), but note that unfortunately the Heroku deploy option is no longer free (I'm still trying to figure out if it's possible on Back4App).
    Marcus Pousette
    @marcus-pousette

    @JorisZierold
    1) Means that the repo used by an IPFS instance is still being used. If the instance is not running (maybe crashed) these lock files might not be cleanup and you need to manually remove them (check the .ipfs folder LOCK file in root folder and in the data folder). Setting the "repo" property in the ipfs-js config would let you define a new repo if you want to have two instances running locally.
    2). While the answer @julienmalard pointed out about would work, there are also more alternatives.

    • A stable WebRTC implementation with libp2p on the way/almost done (?), see the tracker issue here libp2p/js-libp2p#1478
      Here it how you use it with a LibP2P node https://github.com/little-bear-labs/js-libp2p-webrtc

    • An alternative solution, if you want to connect two browser IPFS nodes, you can create a node in a datacenter that can be accessed through WebSocket connection, and let browser nodes discover each other through that.

    phaze-jeff
    @phaze-jeff:matrix.org
    [m]
    im using orbitdb 0.28.7 and ipfs js 0.63.1
    phaze-jeff
    @phaze-jeff:matrix.org
    [m]
    im having a problem with replicating data. i have a basic feed set up that just adds a string to the feed. it works perfectly locally in the browser, but the data will not show up if i open the same database through a different browser, even while the original is still open
    const ipfsOptions = { 
            repo : './ipfs',
            start: true,
            EXPERIMENTAL: {
                pubsub: true,
            },
            relay: {
                enabled: true, // enable circuit relay dialer and listener
                hop: {
                    enabled: true // enable circuit relay HOP (make this node a relay)
                }
            }
        }
        const ipfs = await Ipfs.create(ipfsOptions)
        const orbitdb = await OrbitDB.createInstance(ipfs)
    
        const address = "/orbitdb/zdpuAreYKgzgoub7aDVr7T8bBUNideak13mrAuwVmi2wJPC5U/all"
        const orbitdbOptions = {
            accessController: {
                write: ["*"]
            }
        }
        const db = await orbitdb.feed(address, orbitdbOptions)
    
        console.log(db.address)
        await db.load()
    
        function update() {
            /** @type {Array} */
            const all = db.iterator({limit: -1}).collect().map((e) => e.payload.value)
            console.log(all)
        }
        update()
    
        db.events.on('replicated', address => {
            console.log("replicating...")
            update()
        })
    phaze-jeff
    @phaze-jeff:matrix.org
    [m]
    the replicated event never gets called on either node when an update is made, its like they dont even see eachother despite the two nodes living on the same device just in different browsers
    inspiraluna
    @inspiraluna:matrix.org
    [m]
    I guess this is a problem with your accessController.
    7 replies
    I had the same when I started.
    inspiraluna
    @inspiraluna:matrix.org
    [m]
    yea, I want to apologize this should work from the accessController perspective. But I can't see any swarm peers? Did you check this out?