データ可用性の証明
Sunriseのデータ可用性レイヤーはバリデーターによって検証されます。バリデーターは、無効である可能性のあるデータを検証し、その証明をチェーンに送信する必要があります。
このセクションでは、バリデーターがデータを証明する方法について説明します。
証明が必要なデータは、MsgSubmitInvalidityが送信され、ステータスがCHALLENGINGに変更されたものだけです。
CHALLENGINGのしきい値は、全シャードの33%(ジェネシスのデフォルト)に対してMsgSubmitInvalidityが送信された場合です。
その後、バリデーターは検証されます。一定数以上のシャードが証明された場合、ステータスは通常通りVERIFIEDに変わります。そうでない場合、ステータスはREJECTEDに変わります。
データ可用性レイヤーのステータスとデータの証明については、データ可用性を参照してください。
バリデーターのためのSunrise-Data
「バリデーターのためのSunrise-Data」セクションへのリンクsunrise-dataは、CHALLENGINGになったデータを監視し、証明する機能をバリデーターに提供します。
バリデーターの証明代理人を登録する
「バリデーターの証明代理人を登録する」セクションへのリンクバリデーターは自分でtxを送信して証明データを送信できますが、キーの漏洩を防ぐために代理人アドレスを使用することをお勧めします。
まず、代理人として機能する新しいアカウントを作成します。
sunrised keys add your_deputy_account --keyring-backend=test次に、tx bank sendコマンドを使用して、このアカウントにいくらかのuusdriseを送信します。これは、SubmitValidityProofトランザクションを送信する際のガス料金の支払いに使用されます。
DEPUTY_ADDRESS=$(sunrised keys show your_deputy_account -a --keyring-backend=test)sunrised tx bank send [your_validator_key] $DEPUTY_ADDRESS 1000000uusdrise \ --chain-id=$CHAIN_ID \ --gas-prices=0.025uusdrise --gas-adjustment 1.2 \ --gas=auto \ -y最後に、バリデーターに代理人アドレスを登録します。このトランザクションは、バリデーターのアカウントから送信する必要があり、一度だけ実行すれば十分です。
sunrised tx da register-proof-deputy $DEPUTY_ADDRESS \ --from [your_validator_key] \ --chain-id=$CHAIN_ID \ --gas-prices=0.025uusdrise --gas-adjustment 1.2 \ --gas=auto \ -ysunrise-dataで使用する代理人のアドレスを登録します。
設定方法
「設定方法」セクションへのリンク-
バリデーターとして
sunrisedを実行します。設定については、バリデーターノードを参照してください。 -
sunrise-dataリポジトリをクローンします。
ターミナル cd ~git clone https://github.com/sunriselayer/sunrise-data.gitcd sunrise-datamake install -
config.tomlを作成して編集します。ターミナル cp config.default.toml config.tomlvi config.tomlローカルのIPFSデーモンに接続するには、
ipfs_api_urlフィールドを空のままにします。home_pathを.sunriseディレクトリに、proof_deputy_accountをsunrisedキーの名前に、validator_addressをバリデーターアドレスに変更します。[api]port = 8000ipfs_api_url = ""ipfs_address_info = ""[chain]address_prefix="sunrise"home_path="/home/ubuntu/.sunrise"keyring_backend="test"sunrised_rpc="http://localhost:26657"[validator]proof_deputy_account="your_deputy_account"validator_address="sunrisevaloper1a8jcsmla6heu99ldtazc27dna4qcd4jyv75vcz"proof_fees="10000uusdrise"proof_interval=5
ローカルでIPFSを実行する
「ローカルでIPFSを実行する」セクションへのリンク-
IPFSを実行します。
ターミナル wget https://dist.ipfs.tech/kubo/v0.31.0/kubo_v0.31.0_linux-amd64.tar.gztar -xvzf kubo_v0.31.0_linux-amd64.tar.gzcd kubosudo ./install.shipfs init --profile=lowpoweripfs daemon -
IPFSノードIDを確認し、オプションでリモートピアを共有して追加します。
ターミナル ipfs id
データの証明を開始する
「データの証明を開始する」セクションへのリンクsunrise-dataディレクトリで、
sunrise-data validatorまたはサービスとして登録します。
vi /etc/systemd/system/sunrise-data.servicesystemctl enable sunrise-datasystemctl start sunrise-data[Unit]Description = sunrise-data validator daemonAfter=network-online.target
[Service]User=ubuntuWorkingDirectory=/home/ubuntu/sunrise-dataExecStart = /home/ubuntu/go/bin/sunrise-data validatorRestart=on-failureRestartSec=3LimitNOFILE=1400000
[Install]WantedBy = multi-user.targetセットアップが成功すると、表示は次のようになります。
$ sunrise-data validator{"level":"info","time":"2025-02-19T18:32:52+09:00","message":"Starting validator task"}{"level":"info","time":"2025-02-19T18:32:52+09:00","message":"validator: sunrisevaloper1a8jcsmla6heu99ldtazc27dna4qcd4jyv75vcz deputy: sunrise155u042u8wk3al32h3vzxu989jj76k4zcc6d03n"}{"level":"info","time":"2025-02-19T18:32:52+09:00","message":"On-chain data is checked every 5 sec"}