ドキュメント

ノードを動かす

tintd はバリデーター用のプログラムです。このページでは、ローカルのテストネットワーク、コマンド、公開テストノードの構成を説明します。

テストネットワーク:コインに価値はありません

コマンド

コマンド機能
tintd testnetローカルのテストネットワークのファイルを作成します。
tintd runバリデーターを1つ実行します。
tintd payシードファイルのウォレットからコインを送ります。
tintd swapシードファイルのウォレットの一方のコインを、プールを通じて別のコインに交換します。

1台のマシン上のローカルテストネットワーク

4つのバリデーター用のファイルを作成し、それぞれを別々のターミナルで起動します。

bash
tintd testnet --dir net --addresses 127.0.0.1:4100,127.0.0.1:4101,127.0.0.1:4102,127.0.0.1:4103
bash · validator 0
tintd 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 を書き出します。シードは非公開にしてください。

コマンドラインからコインを送る、スワップする

bash
tintd pay --node http://127.0.0.1:4200 --seed net/faucet.seed --to tint1... --amount 100
bash
tintd pay --node http://127.0.0.1:4200 --seed net/faucet.seed --to tint1... --amount 50 --coin TUSD
bash
tintd 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-levelerror、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 が上限です。

稼働中のノードを確認する

bash
curl -s http://127.0.0.1:4200/v1/status

systemd で管理しているサーバーでは、systemctl status 'tint-validator@*' でユニットの状態を、journalctl -u 'tint-validator@*' -n 50 で最新のログ行を確認できます。

ウォレットを自分のノードに向ける

ウォレットの設定で、共有ノードを自分のノードに置き換えられます。ノードは HTTPS でウォレット用インターフェースを提供している必要があり、ウォレットの他のデータと同じネットワーク、つまり同じ最初のブロックに属している必要があります。新しい最初のブロックに出会ったウォレットは、新しいチェーンを最初から読み込みます。