You are reading content from Scuttlebutt
@Christian Bundy %bbauJpE+d+nGb2haLOfkbdAcqsWSlJL8CfKeedgwT4w=.sha256
Re: %iqXoP//+W

@dominic

Do you think it would be useful to create an overlay network like cjdns to connect peers directly via ssb-tunnel? I was just reading this about how cjdns does address allocation:

Address Allocation

The ipv6 assigned to the TUN interface is composed of the first 16 bytes of the SHA512 hash of the SHA512 hash of your public key. Keypairs are generated via a brute force method until a corresponding address is found with a starting byte FC. The FC00::/8 address space has been allocated as a Unique Local Address space, and so these addresses should not conflict with ICANN assigned IPv6 addresses or any other conventional internet operation.

Maybe it would be fun to join the fc00 cyber-squat?

@Christian Bundy %Qo36ssuvYzPjcFVLqRkmeICvR1LqJvUrAkVgPrLo7pU=.sha256

I made an unreasonably hacky baby step.

const crypto = require('crypto')
const ssbKeys = require('ssb-keys')

let addr = ''
let keys = null

while (addr.startsWith('fc') === false) {
  keys = ssbKeys.generate()
  const { public } = keys

  addr = crypto
    .createHash('sha512')
    .update(public)
    .digest('hex')
    .slice(0, 32)
    .match(/.{1,4}/g)
    .join(':')
}

console.log(keys)
console.log(addr)
{ curve: 'ed25519',
  public: 'UoiIIO4uFUZMfE4svS0uY2ZZqyixAaafVbc+8nNq71U=.ed25519',
  private:
   'redacted',
  id: '@UoiIIO4uFUZMfE4svS0uY2ZZqyixAaafVbc+8nNq71U=.ed25519' }
fcdf:a047:9ab0:c779:1a9d:6846:0628:bba9
@Christian Bundy %qwqTsYY60zDhXL4nvH/UXCduDC+ZW5UCkmlLrAo/tcQ=.sha256

Decided to spin this out into its own micro-module: SSB-Vanity.

I've included examples for:

  • fc00 compatibility
  • case-sensitive prefix (e.g. SSB)
  • case-insensitive prefix (e.g. bUtT and BUtT)
User has not chosen to be hosted publicly
@Christian Bundy %x6s7PaaKRaUPsKP7pmpqR1LwaI9FqWd38GxUM4VNZ0o=.sha256

@micro

That's really cool! I've never compiled Rust code into a JavaScript module, any chance you know of any resources I should check out? If not, I can just search the web.

I was thinking that this might also make for an interesting Secret-Stack plugin that hooks into the publish() function. That's how I imagine @mikey mines for butts, anyway.

User has not chosen to be hosted publicly
@mikey %bUtt0kPEMjkx2g8e+OeX9fmaf/vjNjoGVtDX/Ga4UVE=.sha256

That’s really cool! I’ve never compiled Rust code into a JavaScript module, any chance you know of any resources I should check out? If not, I can just search the web.

@Christian Bundy: @piet has done this for the #sunrise-choir, could maybe say more:

User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
Join Scuttlebutt now