Open filoozom opened 3 years ago
OrbitDB uses PubSub channels to communicate the CIDs of tail objects. These objects then reference those objects before them.
The name of the PubSub channel is stored or derived from the manifest.
An example manifest looks like this:
{
value: {
name: 'abc',
type: 'eventlog',
accessController: '/ipfs/zdpuAyXXyGF4wDnpoV1hnQAT3HrBdnNh27aW9tYzJk1w1pL9B'
},
remainderPath: ''
}
And the AC Object then looks like this:
{
value: {
type: 'ipfs',
params: { address: 'zdpuAsngiZH1NMErdZKjrC5DGEb78yvHvGwxe76YiUXTbNE96' }
},
remainderPath: ''
}
Actually the stringified address of the database is used as the PubSub Channel name.
This explains the topic, but does not tell how we can rely on this PubSub mechanics on real production system.
Hi,
I've tried looking a bit at the code and in this repo, but I'm struggling to find out how OrbitDB is able to keep a constant address on IPFS, which should be immutable.
How can you append to
/orbitdb/cid/db
? I didn't find any reference to IPNS, but I'm assuming there has to be something like that somewhere?Thanks!