Skip to content

Instantly share code, notes, and snippets.

@raulk
raulk / MVTP technical architecture.png
Last active July 23, 2019 16:19
ipfs canary testing architecture
MVTP technical architecture.png
@raulk
raulk / notes.md
Last active July 8, 2019 19:01
research spike: stream closure in libp2p

research doc: usable stream closure in libp2p

libp2p streams are full-duplex. Each party can read and write simultaneously on the conduit, and the underlying transport guarantees (or not) delivery, while the multiplexer also participates in congestion control. Yamux, for example, applies stream-scoped congestion control to curtail head-of-line blocking in some circumstances. Mplex is more simplistic and relies purely on TCP congestion control.

There's an active debate in go-libp2p to rethink the single Close() method

#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'
repos=(
"[email protected]:libp2p/go-sockaddr.git"
"[email protected]:libp2p/go-reuseport.git"
"[email protected]:libp2p/go-mplex.git"
"[email protected]:libp2p/go-stream-muxer.git"
"[email protected]:libp2p/go-libp2p.git"
"[email protected]:libp2p/go-libp2p-transport.git"
#!/usr/bin/env bash
set -euo pipefail
ignore="(go-libp2p-quic-transport|go-libp2p-tls)" ## regex of modules for whom to bypass automatic gomod migration.
travis_file=$(cat << EOF
os:
- linux
language: go
go:
#!/usr/bin/env bash
cat <<EOF | xargs -L1 ipfs ping -n 1
QmUd6zHcbkbcs7SMxwLs48qZVX3vpcM8errYS7xEczwRMA
QmbVWZQhCGrS7DhgLqWbgvdmKN7JueKCREVanfnVpgyq8x
QmUEMvxS2e7iDrereVYc5SWPauXPyNwxcy9BXZrC1QTcHE
QmdnXwLrC8p1ueiq2Qya8joNvk3TVVDAut7PrikmZwubtR
QmNSYxZAiJHeLdkBg38roksAR9So7Y5eojks1yjEcUtZ7i
EOF
@raulk
raulk / gist:a436fe10b635e2cb1793f51c871b1eab
Created November 6, 2018 18:34
p2p-biblio-20181106.bib
@article{Freedman,
author = {Freedman, Michael J and Mazi, David},
file = {:Users/raul/Documents/Mendeley/coral-iptps03.pdf:pdf},
mendeley-groups = {Peer-to-peer networks},
title = {{Sloppy hashing and self-organizing clusters}}
}
@article{Baumgart2014,
author = {Baumgart, Ingmar and Mies, Sebastian},
doi = {10.1109/ICPADS.2007.4447808},
file = {:Users/raul/Documents/Mendeley/download.pdf:pdf},
@raulk
raulk / spacemacs-cheshe.md
Last active October 26, 2018 17:25 — forked from robphoenix/spacemacs-cheshe.md
Spacemacs Cheat Sheet

Useful Spacemacs commands

  • SPC q q - quit
  • SPC w / - split window vertically
  • SPC w - - split window horizontally
  • SPC 1 - switch to window 1
  • SPC 2 - switch to window 2
  • SPC w c - delete current window
  • SPC TAB - switch to previous buffer
  • SPC b b - switch buffers
@raulk
raulk / ipfs_dht_output_70min.txt
Created September 6, 2018 16:55
70-min output from instrumenting go-libp2p-kad-dht to capture routing table behaviour
This file has been truncated, but you can view the full file.
Initializing daemon...
built DHT table
Swarm listening on /ip4/127.0.0.1/tcp/4001
Swarm listening on /ip4/192.168.0.132/tcp/4001
Swarm listening on /ip6/::1/tcp/4001
Swarm listening on /p2p-circuit/ipfs/QmdGmB5iczLtmxBrAk8NtJsPDP5E4kiF9w4rAKqsq6u7TE
Swarm announcing /ip4/127.0.0.1/tcp/4001
Swarm announcing /ip4/192.168.0.132/tcp/4001
Swarm announcing /ip4/192.168.1.40/tcp/31628
Swarm announcing /ip6/::1/tcp/4001
@raulk
raulk / ipfs_dht_output_3min.txt
Last active September 6, 2018 16:55
3-min output from instrumenting go-libp2p-kad-dht to capture routing table behaviour
→ ipfs daemon
Initializing daemon...
Swarm listening on /ip4/127.0.0.1/tcp/4001
Swarm listening on /ip4/192.168.0.132/tcp/4001
Swarm listening on /ip6/::1/tcp/4001
Swarm listening on /p2p-circuit/ipfs/QmdGmB5iczLtmxBrAk8NtJsPDP5E4kiF9w4rAKqsq6u7TE
Swarm announcing /ip4/127.0.0.1/tcp/4001
Swarm announcing /ip4/192.168.0.132/tcp/4001
Swarm announcing /ip4/192.168.1.40/tcp/35779
Swarm announcing /ip6/::1/tcp/4001
go-libp2p
libp2p implementation in Go
go-reuseport
reuse tcp/udp ports in golang
go-libp2p-kad-dht
A Kademlia DHT implemention on go-libp2p
go-floodsub