Skip to content

Instantly share code, notes, and snippets.

@sethvincent
Last active April 17, 2016 23:47
Show Gist options
  • Save sethvincent/17efc0fc28fa7df7564aadb7cbb3b977 to your computer and use it in GitHub Desktop.
Save sethvincent/17efc0fc28fa7df7564aadb7cbb3b977 to your computer and use it in GitHub Desktop.
trying out hypercore & discovery-swarm
  • first.js & second.js are in separate directories
  • run node first.js
  • copy key that is logged
  • run node second.js <key>
  • get this error in first.js:
Error: Signature does not verify
  at loop (/Users/sdv/node_modules/hypercore/lib/feed.js:264:19)
  at Feed._putRoots (/Users/sdv/node_modules/hypercore/lib/feed.js:238:3)
  at loop (/Users/sdv/node_modules/hypercore/lib/feed.js:195:10)
  at Feed.put (/Users/sdv/node_modules/hypercore/lib/feed.js:156:3)
  at write (/Users/sdv/node_modules/hypercore/lib/replicate.js:235:13)
  at Peer.onresponse (/Users/sdv/node_modules/hypercore/lib/replicate.js:147:43)
  at Peer.onmessage (/Users/sdv/node_modules/hypercore/lib/replicate.js:105:25)
  at Protocol._parse (/Users/sdv/node_modules/hypercore/lib/protocol.js:320:32)
  at parse (/Users/sdv/node_modules/hypercore/lib/protocol.js:75:10)
  at emitOne (events.js:90:13)
var hypercore = require('hypercore')
var swarm = require('discovery-swarm')
var level = require('level')
var db = level('./db')
var core = hypercore(db)
var sw = swarm({
dns: {
server: [
'discovery1.publicbits.org',
'discovery2.publicbits.org'
]
},
dht: true
})
core.list(function (err, list) {
var key = !list.length ? null : list[0]
var feed = core.createFeed({ key: key, secretKey: Buffer('1e2e3e4e5e6e7e8e1e2e3e4e5e6e7e8e1e2e3e4e5e6e7e8e1e2e3e4e5e6e7e8e') })
sw.listen(3333)
console.log('channel key:', feed.key.toString('hex'))
sw.join(feed.key.toString('hex'))
feed.on('upload', function (block, data) {
console.log('uploaded block', block, data.toString())
})
feed.on('download', function (block, data) {
console.log('downloaded block', block, data.toString())
})
sw.on('connection', function (connection) {
console.log('found + connected to peer')
connection.pipe(feed.replicate()).pipe(connection)
})
})
var hypercore = require('hypercore')
var swarm = require('discovery-swarm')
var level = require('level')
var db = level('./db')
var core = hypercore(db)
var key = process.argv[2]
var feed = core.createFeed(key, { secretKey: Buffer('1e2e3e4e5e6e7e8e1e2e3e4e5e6e7e8e1e2e3e4e5e6e7e8e1e2e3e4e5e6e7e8e') })
var sw = swarm({
dns: {
server: [
'discovery1.publicbits.org',
'discovery2.publicbits.org'
]
},
dht: true
})
sw.listen(3334)
console.log('joining channel', key)
sw.join(key)
setTimeout(function () {
feed.append(['pizza', 'supreme'], function () {
console.log('appended two blocks')
})
}, 3000)
feed.on('upload', function (block, data) {
console.log('uploaded block', block, data.toString())
})
feed.on('download', function (block, data) {
console.log('downloaded block', block, data.toString())
})
sw.on('connection', function (connection) {
console.log('found + connected to peer')
connection.pipe(feed.replicate()).pipe(connection)
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment