DHT シェルの実行[English | Japanese]last-updated: February 13, 2011 |
このチュートリアルでは、DHT シェルを起動して それを通じて DHT を利用します。 計算機は 1台あれば充分です。
ツールキットはインストール (展開 & ビルド) 済みであると仮定します。 bin ディレクトリ以下のコマンドを実行するための、 環境変数 PATH の設定も済んでいると仮定します。 ただし、PATH の設定なしに、ディレクトリを指定して起動しても問題ありません。
owdhtshell
別のキャラクタ端末を開いて、2つめの DHT シェルを起動します。
この際、1つめの DHT シェルを初期コンタクト先として指定します。
owdhtshell <計算機のホスト名または IP アドレス>
すると、シェルは "Ready." と表示し、コマンドの入力を求めてきます。
help
すると、help メッセージが表示されます。
status コマンドを入力します。status [<verbose level>] init [-status] <host>[:<port>] [<port>] get [-status] <key> [<key> ...] put [-status] <key> <value> [<value> ...] [- <key> <value> [<value> ...] ...] remove|delete [-status] <secret> <key> [<value> ...] [- <key> [<value> ...] ...] ...
status
次のように、そのノードの経路表が表示されます。
ID and address: 4c14c60f7ee61d12bb08f7abdf4d22864b5930bf:hostname/XXX.XXX.XXX.XXX:3997 Routing table: ...
次のコマンドを入力して、DHT に値を put します。
put foo bar
status コマンドで、 put のために行われたルーティングの結果を見ることができます。
status
ここから、put の際に指定したキー foo のハッシュ値が 0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33 であることや、 経路長が 1 であったことが判ります。... Last keys & routes: number of messages: 0 -> 0 key[0]: 0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33 route[0] (length: 1): [ 4c14c60f7ee61d12bb08f7abdf4d22864b5930bf:hostname/XXX.XXX.XXX.XXX:3997 (0) 4c14c60f7ee61d12bb08f7abdf4d22864b5930bf:hostname/XXX.XXX.XXX.XXX:3997 (91) ] ...
先ほど put した値を get するために、次のコマンドを入力します。
get foo
値 bar が表示されます。
「10782」は TTL であり、foo-bar 組の寿命があと 10782 秒であることを示しています。key: 0beec7b5ea3f0fdbc95d0dd47f3c5bc275da8a33 value: bar 10782
halt