gpt4 book ai didi

webrtc - 带有 webrtc 和 signalhub 的浏览器中 dat 项目的 hyperdb 问题

转载 作者:行者123 更新时间:2023-12-02 00:59:53 24 4
gpt4 key购买 nike

我正在尝试在浏览器中使用 hyperdb,通过 webrtc 和 signalhub 蜂拥而至。代码非常简单,但是 hyperdb replicate 存在一些问题,由于 hypercore 中的 sameKey 检查导致连接被终止。所以,我在想......我没有正确地处理我的发现 key 和 ID key ,所以同行知道他们应该同步。这是一些示例代码,有点乱,但相关位是 hyperdb 初始化和 webrtc/signalhub 的东西(我认为)......顶部的 key 是另一个对等点的发现 key :

 const crypto = require('crypto'),
sha = crypto.createHash('sha1'),
hyperdb = require('hyperdb'),
hyperdiscovery = require('hyperdiscovery'),
cms = require('random-access-idb')('cms'),
webrtc = require('webrtc-swarm'),
signalhub = require('signalhub'),
hyperdrive = require('hyperdrive'),
pump = require('pump');

// Discovery key of other peer/signalhub channel
var key = "cbffda913dabfe73cbd45f64466ffda845383965e66b2aef5f3b716ee6c06528";

const db = hyperdb(filename => {
return cms(filename);
}, { valueEncoding: 'utf-8' });

var DEFAULT_SIGNALHUBS = 'https://signalhub-jccqtwhdwc.now.sh';

db.on('ready', function () {
const swarm = webrtc(signalhub(key, DEFAULT_SIGNALHUBS));
swarm.on('peer', function (conn) {
console.log("PEER!!!!!!!");
const peer = db.replicate({
upload: true,
download: true
});
pump(conn, peer, conn)
});
});

最佳答案


我在这里举了一个工作示例:https://github.com/joehand/hyperdb-web-example/blob/master/index.js

我认为您收到该错误是因为您没有使用 key 初始化数据库:

var db = hyperdb(storage, key)

完成后,您可以获得发现 key 。通常,您不需要四处复制发现 key ,因为它始终是从公钥生成的。

如果这不起作用,请仅包括相关代码或最简单的示例,这样更容易调试 =)。谢谢!

关于webrtc - 带有 webrtc 和 signalhub 的浏览器中 dat 项目的 hyperdb 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51326344/

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