gpt4 book ai didi

javascript - 如何隔离 Gunjs 数据库?

转载 作者:行者123 更新时间:2023-12-05 00:31:31 26 4
gpt4 key购买 nike

几天来我一直在尝试 GunJs,我真的很喜欢它。作为一个入门项目,我遵循了 Fireship chat dapp video旨在建立自己的聊天。
这是问题所在,既然我已经完成了教程,我想创建自己的聊天。但是,由于某种原因,如果我在自己的应用程序中获得一个“聊天”节点,它似乎会在与教程节点相同的“聊天”节点上找到 online。 .

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]
}
}
})
})
如果我更改加密 key (然后消息变得未定义),情况也是如此。由此产生了多个问题:
  • 图形节点名称在整个 GunDb 中是唯一的吗?
  • 当两个基于枪的应用程序调用相同的节点名称时,您如何处理冲突?
  • 这个问题通常是通过使用“标题” Prop 过滤来解决的吗?
  • 如何让它只接收我的数据?

  • 即使我已经阅读了大部分文档,但在理解图表通常如何在应用程序之间分离时,我似乎还遗漏了一些东西。任何有关其工作原理的见解将不胜感激。

    最佳答案

    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)的),并将数据放入您的用户空间。用户空间对公众是只读的,但对所有者是读/写的。

    关于javascript - 如何隔离 Gunjs 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69325092/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com