IPv6ハッカソン

Rubyチーム


Rubyチーム

@ukstudio と @sugamasao のチームに当日 @takano32 がジョイン


IPv6アドレスったー

IPv6アドレスをキーにしたTwitterクライアント

動機

Twitterのつぶやきには64ビットのIDが振られている情報を PHPチームから拝借

  • IPv6なので、アドレスがたくさん使える
    • 2001:2e8:406:11::/64
    • 64ビットの グローバルIPアドレス

つぶやきの識別子の幅と同じ量のIPv6アドレスが使える


つぶやきの取得

http://[2001:2e8:406:11::14]:3000/v6hack

Creator, Co-founder and Executive Chairman of Twitter; CEO of Square.

jack.png

つぶやきの投稿

IPv6アドレスの下位1バイトをASCII文字でつぶやく

# hello.rb
"Hello".each_char do |ch|
  puts sprintf("0x%X", ch.ord)
end
$ ruby hello.rb
0x48
0x65
0x6C
0x6C
0x6F

http://[2001:2e8:406:11::48]:3000/v6hack/post

http://[2001:2e8:406:11::65]:3000/v6hack/post

http://[2001:2e8:406:11::6c]:3000/v6hack/post

http://[2001:2e8:406:11::6c]:3000/v6hack/post

http://[2001:2e8:406:11::6f]:3000/v6hack/post

http://twitter.com/takano32


アドレスをキーとするKVS

powered by @ukstudio

ひとつのIPアドレスに対してひとつのファイルを保存

時間的都合によりPOSTまでの実装

ファイルのPOST(既存のものは上書き)

POST http://[2001:2e8:406:11::48]:3000/storage
POST http://[2001:2e8:406:11::49]:3000/storage

ファイルのGET

GET http://[2001:2e8:406:11::48]:3000/storage
GET http://[2001:2e8:406:11::49]:3000/storage