几天来我一直在尝试 GunJs,我真的很喜欢它。作为一个初学者项目,我关注了旨在建立自己的聊天的Fireship 聊天 dapp 视频。
这是问题所在,既然我已经完成了教程,我想创建自己的聊天。但是,由于某种原因,如果我在自己的应用程序中获得一个“聊天”节点,它似乎会在与在线教程节点相同的“聊天”节点上找到。
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 中是唯一的吗?
- 当两个基于枪的应用程序调用相同的节点名称时,您如何处理冲突?
- 这个问题通常是通过使用“标题”道具过滤来解决的吗?
- 如何让它只接收我的数据?
即使我已经阅读了大部分文档,但在理解图表通常如何在应用程序之间分离时,我似乎还缺少一些东西。任何有关其工作原理的见解将不胜感激。