如何隔离 Gunjs 数据库?
How to isolate a Gunjs database?
我已经试用 GunJs 几天了,我真的很喜欢它。作为一个入门项目,我遵循了 Fireship chat dapp video 旨在建立您自己的聊天。
问题来了,既然我已经完成了本教程,我想创建自己的聊天室。但是,出于某种原因,如果我在自己的应用程序中获得一个 'chat' 节点,它似乎会在与教程 online.
相同的 'chat' 节点上拾取
onMount(() => {
// Get Messages in large chat
db.get('chat')
.map()
.once(async (data, id) => {
if (data) {
// key for E2E - to do: change for web3
const key = '#foo';
var message = {
//transform the data
who: await db.user(data).get('alias'),
what: (await SEA.decrypt(data.what, key)) + '',
when: GUN.state.is(data, 'what'),
};
if (message.what) {
messages = [...messages.slice(-100), message]
}
}
})
})
如果我更改加密密钥(然后消息就变成未定义的),情况也是如此。由此产生多个问题:
- 图节点名称在整个 GunDb 中是否唯一?
- 你如何处理两个基于枪的应用程序调用相同节点名称的冲突?
- 这个问题一般是通过'header' props过滤解决的吗?
- 如何让它只接收我的数据?
即使我已经阅读了大部分文档,但在理解图表通常如何在应用程序之间分离时,我似乎还缺少一些东西。任何有关其工作原理的见解都将不胜感激。
Are graph node names unique within the whole of GunDb?
是的。
How do you handle conflicts where two gun-based apps call on the same node name?
你不知道。预期的结果是,它们会互相覆盖。
Is this problem generally solved through filtering using 'header' props?
我认为这不是正确的做法。
How do I make it pick up on only my data?
使用您自己的中继服务器。
结论:
gunDB 并不真正关心谁获取/放置数据。如果您想保护您的数据,请使用您自己的中继服务器(不是 public 的中继服务器),并将数据放在您的用户 space 中。用户 space 对 public 是只读的,但对所有者 read/write 是只读的。
我已经试用 GunJs 几天了,我真的很喜欢它。作为一个入门项目,我遵循了 Fireship chat dapp video 旨在建立您自己的聊天。
问题来了,既然我已经完成了本教程,我想创建自己的聊天室。但是,出于某种原因,如果我在自己的应用程序中获得一个 'chat' 节点,它似乎会在与教程 online.
相同的 'chat' 节点上拾取onMount(() => {
// Get Messages in large chat
db.get('chat')
.map()
.once(async (data, id) => {
if (data) {
// key for E2E - to do: change for web3
const key = '#foo';
var message = {
//transform the data
who: await db.user(data).get('alias'),
what: (await SEA.decrypt(data.what, key)) + '',
when: GUN.state.is(data, 'what'),
};
if (message.what) {
messages = [...messages.slice(-100), message]
}
}
})
})
如果我更改加密密钥(然后消息就变成未定义的),情况也是如此。由此产生多个问题:
- 图节点名称在整个 GunDb 中是否唯一?
- 你如何处理两个基于枪的应用程序调用相同节点名称的冲突?
- 这个问题一般是通过'header' props过滤解决的吗?
- 如何让它只接收我的数据?
即使我已经阅读了大部分文档,但在理解图表通常如何在应用程序之间分离时,我似乎还缺少一些东西。任何有关其工作原理的见解都将不胜感激。
Are graph node names unique within the whole of GunDb?
是的。
How do you handle conflicts where two gun-based apps call on the same node name?
你不知道。预期的结果是,它们会互相覆盖。
Is this problem generally solved through filtering using 'header' props?
我认为这不是正确的做法。
How do I make it pick up on only my data?
使用您自己的中继服务器。
结论: gunDB 并不真正关心谁获取/放置数据。如果您想保护您的数据,请使用您自己的中继服务器(不是 public 的中继服务器),并将数据放在您的用户 space 中。用户 space 对 public 是只读的,但对所有者 read/write 是只读的。