ドキュメント
ノードを動かす
tintd はバリデーター用のプログラムです。このページでは、ローカルのテストネットワーク、コマンド、公開テストノードの構成を説明します。
テストネットワーク:コインに価値はありません
コマンド
| コマンド | 機能 |
|---|---|
tintd testnet | ローカルのテストネットワークのファイルを作成します。 |
tintd run | バリデーターを1つ実行します。 |
tintd pay | シードファイルのウォレットからコインを送ります。 |
tintd swap | シードファイルのウォレットの一方のコインを、プールを通じて別のコインに交換します。 |
1台のマシン上のローカルテストネットワーク
4つのバリデーター用のファイルを作成し、それぞれを別々のターミナルで起動します。
tintd testnet --dir net --addresses 127.0.0.1:4100,127.0.0.1:4101,127.0.0.1:4102,127.0.0.1:4103tintd run --local \
--genesis net/genesis.bin \
--validators net/validators.txt \
--key net/validator-0/key \
--data net/validator-0/data \
--rpc 127.0.0.1:4200バリデーター 1 から 3 についても、それぞれ専用の --key と --data を指定して繰り返します。ウォレット用インターフェースも使いたい場合は、--rpc のポートを別の値にします。--local はプライベートアドレスを受け付けます。1台のマシン上のネットワークには、これが必要です。
testnet は、genesis.bin、validators.txt、各バリデーターの鍵を入れたフォルダー、そしてすべてのテストコインを保有するウォレットのシードである faucet.seed を書き出します。シードは非公開にしてください。
コマンドラインからコインを送る、スワップする
tintd pay --node http://127.0.0.1:4200 --seed net/faucet.seed --to tint1... --amount 100tintd pay --node http://127.0.0.1:4200 --seed net/faucet.seed --to tint1... --amount 50 --coin TUSDtintd swap --node http://127.0.0.1:4200 --seed net/faucet.seed --amount 10 --buy TUSD--coin を付けない場合、pay はネイティブコインを送ります。swap は、--pay で別のコインを指定しない限り、ネイティブコインで支払います。スワップの2つのコインの一方は、常にネイティブコインです。
tintd run のフラグ
| フラグ | 意味 |
|---|---|
--genesis | ジェネシスブロックのファイル。 |
--validators | バリデーター一覧のファイル。 |
--key | このバリデーターの秘密鍵ファイル。 |
--data | このバリデーターのブロックを保存するディレクトリ。 |
--listen | 待ち受けるアドレス。デフォルトはバリデーター一覧にあるアドレスです。 |
--metrics | メトリクスを提供するアドレス。指定しない限りオフです。 |
--rpc | ウォレット向けに HTTP で提供するアドレス。指定しない限りオフです。 |
--rpc-behind-proxy | ウォレットが、このマシン上のリバースプロキシ経由で --rpc に接続します。クライアントは X-Forwarded-For で数えます。 |
--local | プライベートアドレスを受け付けます。1台のマシン上のネットワーク向けです。 |
--log-json | ログを JSON Lines 形式で書き出します。 |
--log-level | error、warn、info(デフォルト)、debug、trace のいずれか。 |
--idle-block-ms | 待機中の支払いがないチェーンが、ブロックの間に休むミリ秒数。デフォルトは 5000、最大 60000。すべてのバリデーターに同じ値を指定してください。 |
公開テストノードの構成
https://node.tint.top の公開ノードは、4つのバリデーターを動かす1台のサーバーです。そのため、ネットワークが動作することを確かめるものであり、分散性については何も証明しません。
| 項目 | 場所 |
|---|---|
| 4つのバリデーター | systemd ユニット tint-validator@0 から @3。127.0.0.1:4100 から 4103 で通信 |
| ウォレット用インターフェース | バリデーター 0、127.0.0.1:4200。外部からは到達できません |
| HTTPS | ポート 443 の Caddy が、/v1/* をウォレット用インターフェースへ転送 |
| チェーンデータ | /var/lib/tint/validator-N/data |
- プロキシはアクセスログを残しません。誰がどのアドレスから何を要求したかという記録は、プライバシーを守るネットワークが持つべきではないものだからです。
- メトリクス用のポートも、開かれたバリデーターのポートもありません。バリデーター同士はループバックインターフェースで通信します。
- バリデーターはすべてのブロックを永久に保持します。ディスク使用量は
du -sh /var/lib/tint/validator-*/dataで確認してください。 - 1 vCPU、2 GB のサーバーでは、各バリデーターは最初の起動直後に約 92 MB のメモリを使いました。サービスファイルでは、1つあたり 1 GB が上限です。
稼働中のノードを確認する
curl -s http://127.0.0.1:4200/v1/statussystemd で管理しているサーバーでは、systemctl status 'tint-validator@*' でユニットの状態を、journalctl -u 'tint-validator@*' -n 50 で最新のログ行を確認できます。
ウォレットを自分のノードに向ける
ウォレットの設定で、共有ノードを自分のノードに置き換えられます。ノードは HTTPS でウォレット用インターフェースを提供している必要があり、ウォレットの他のデータと同じネットワーク、つまり同じ最初のブロックに属している必要があります。新しい最初のブロックに出会ったウォレットは、新しいチェーンを最初から読み込みます。