スーパーノードプログラムに登録する

このガイドでは、ノードを作成して スーパーノード として登録する方法を示します。このガイドを続行する前に スーパーノードプログラム について理解してください。

Symbnol ノードの立ち上げ ガイドには Symbol ノードの作成方法の詳細が含まれており、そのコンテンツはこのガイドと 部分的に重複しています 。そのガイドに従って 通常ノード を構築するか、このガイドに従って スーパーノード を構築できますが 両方 を構築することはできません。

Symbol Bootstrap を用いるのが最速でスーパーノードの作る方法ですが、 手動 で作成することもできます。

Symbol Bootstrap の使用

Symbol Bootstrap は Symbol ノードを作成し起動するのに 簡単な方法 です。親しみがなければ このツールを学習 してください。

  1. 例として supernode.yml と命名した カスタムプリセットファイル を作成します:

    nodes:
      - rewardProgram: SuperNode
        host: my-symbol-node.com # Could also be an IP address
    

    ノードを 投票ノード にもしたい場合 (そして 投票ノード報酬プログラム の恩恵を受ける場合) は voting: true も追加します。

    必要なノードアカウント (main, transport, remote, VRF または voting) のいくつかをすでに持っている場合は プリセットファイルにそれらを記述することもできます

    注釈

    When managing your node through a multisig account, the main account in the above preset file must be the multisig account (and not any of its cosignatories).

  2. 新しいプリセットファイルを使用して ノードを作成して実行します :

    標準のノードサービスに加えて 監視エージェント もダウンロードしてインストールします。

    symbol-bootstrap start -p mainnet -a dual -c supernode.yml
    

    start コマンドはノード設定を作成し、起動を行います。

    注釈

    テスト目的に -p testnet を使うことで Symbol のテストネットを使うことができます。

  3. Make sure your node is sufficiently funded. Your main account must hold at least 1M symbol.xym to be eligible as a supernode.

    ノードのメインアカウントアドレスは target/addresses.yml ファイルにあります。

    On the TESTNET, you can send tokens to your node’s main account using the Symbol Faucet. If you need more tokens than the faucet can serve, connect to NEM’s Telegram Help Desk and contact cryptobeliever.

  4. Register the node by linking its remote, VRF and voting keys:

    symbol-bootstrap link --useKnownRestGateways
    

    This sends a transaction linking the supplemental keys to the main account. This transaction pays a small fee so make sure your main account has extra funds beyond the requirements of the Supernode program.

    注釈

    During the test period, heavy testing might artificially increase transaction fees. If symbol-bootstrap appears to be frozen with the message Announcing Simple Transaction hash... try increasing the transaction fee with adding a --maxFee 10000000 parameter, for example.

  5. スーパーノードプログラムに登録する

    symbol-bootstrap enrolRewardProgram --useKnownRestGateways
    

    This sends a transaction to the Controller address, which includes the node’s public key and its monitoring agent’s public URL.

    前のステップの手数料に関する注記を参照してください。

    From this point, the reward programs controller on the network will monitor the node.

手動

If you don’t want (or cannot) use Symbol Bootstrap you can still enroll your node in the Supernode program manually. These instructions are only available for Linux.

First off, make sure your node is up and running (or ready to run). The 手動による Symbnol ノードの立ち上げ guide explains how to setup the node.

After following that guide, you need to install a monitoring agent and announce a special transaction. You are going to create a few files, so please create a folder to keep your filesystem tidy (for example called agent inside Catapult Server’s _build folder).

  1. ノードモニタリングエージェントのダウンロード:

    Linux バイナリをダウンロード して、実行権限を付与してください:

    wget https://symbol-node-reward.s3-eu-west-1.amazonaws.com/packages/1.0.0/agent_binary/agent-linux.bin
    chmod +x agent-linux.bin
    
  2. モニタリングエージェントのための 証明書を作成 します:

    The agent authenticates every connection to the reward programs controller, so you will need to create SSL certificates.

    OpenSSL がインストール済み (sudo apt install openssl でインストール) であることを確認し、実行します:

    openssl genrsa -out agent-key.pem 4096
    openssl req -new -key agent-key.pem -out agent-csr.pem \
            -subj "/C=US/ST=Oregon/L=Portland/O=Company Name/OU=Org/CN=www.example.com"
    openssl x509 -req -days 999 -in agent-csr.pem -out agent-crt.pem -signkey agent-key.pem
    

    You also need to download the Symbol network CA certificate. This allows the agent to authenticate connections to the node it is monitoring.

    wget https://symbol-node-reward.s3-eu-west-1.amazonaws.com/mainnet/certs/ca-crt.pem
    
  3. モニタリングエージェントの設定:

    Create a text file named agent.properties and add the content below, replacing NODE_PRIVATE_KEY and REST_GATEWAY_URL with the appropriate values:

    NETWORK_TYPE=104 ; 104 for MAINNET, 152 for TESTNET
    ; Node's transport private key
    NODE_PRIVATE_KEY=●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
    LOGGER_FILE=agent.log
    ; Replace with the public host where your node is running (hostname or IP address)
    REST_GATEWAY_URL=http://my-symbol-node.com:3000
    REWARD_PROGRAM=SuperNode
    CONTROLLER_PUBLIC_KEY=645FE86EAED04747DE066D838FE6E77BA2B146DC8BBC505617323D5DF01106A5 ; MAINNET
    ; CONTROLLER_PUBLIC_KEY=68B6A1D2F292E75F9BB8E9EDDA086A7C293A198C9968FF7528374075AAF4D983 ; TESTNET
    CERTS_CA_FILE=ca-crt.pem
    CERTS_KEY_FILE=agent-key.pem
    CERTS_CERT_FILE=agent-crt.pem
    

    注釈

    By default the agent uses port number 7880 to communicate. If this port is already in use (by a NIS1 supernode agent, for example) add an HTTP_PORT= line with a different port number.

    You need to specify REST_GATEWAY_URL because the agent and the node’s REST gateway might be running on different machines. This URL is how the agent will contact the node’s REST interface. If they are on the same machine you can simply use REST_GATEWAY_URL=http://localhost:3000.

  4. エージェントの起動:

    Run this command and keep it running for as long as your node runs. Remember that the Controller will periodically query the agent and your node might be removed from the Supernode reward program if the agent fails to answer enough times.

    ./agent-linux.bin --config agent.properties
    
  5. 登録メッセージの送信

    The last bit is to notify the Controller that your node wants to enroll in the Supernode program. This is done through a conventional Transfer Transaction with no mosaics and a special message:

    enrol NODE_PUBLIC_KEY AGENT_URL
    
    • Replace NODE_PUBLIC_KEY with your node’s transport public key. You can get it from the nodePublicKey field in http://localhost:3000/node/info, for example, when your node is running.
    • Replace AGENT_URL with https:// + the host where you are running the agent + :7880. This URL must be publicly accessible. For example: https://my-symbol-node.com:7880. IP addresses are also valid. Use the port number you specified in step 3 above if you didn’t use the standard one.

    最後に、このトランザクションの受信アドレスは:

    • NDG2F6IHON7EDOXZCHSTSJ2YMUHDFXAQ2EUZHFA for MAINNET.
    • TDL73SDUMPDK7EOF7H3O4F5WB5WHG2SX7XUSFZQ テストネット

    symbol-cli を使用してトランザクションをアナウンスできます:

    symbol-cli transaction transfer --mode normal --sync \
               --recipient-address NDG2F6IHON7EDOXZCHSTSJ2YMUHDFXAQ2EUZHFA \
               --message "enrol NODE_PUBLIC_KEY AGENT_URL" \
               --mosaics @symbol.xym::0
    

    このトランザクションはノードのメインアカウントによって署名されている必要があります 。したがって、これが symbol-cli のデフォルトプロファイルであることを確認してください。

    このトランザクションでは少額の 手数料 を支払うため、メインアカウントにスーパーノードプログラムの要件を超える 余剰の資産 があることを確認してください。

セットアップの検証

すべてのサービスが正しく動作していることを確認して ノードを検証 できます。次の URL で有効なデータを返却することを確認できます:

次に、パブリックホスト名からアクセスできることをもう一度確認します。