1

オフチェーン ワーカーが wasm 環境で動作することは理解していますが、決定論的な wasm ランタイムとは別の環境です。オフチェーン ワーカーはランタイム状態にアクセスできます (読み取り専用)。

ポストランタイム ダイジェストに関しては、ブロック インポートの前にサブストレートがこれらを削除すると思いますか? (そして後でプッシュバックされます)..ブロックの実行中にランタイムがポストダイジェストを認識できないため、これが行われると思います。

つまり、オフチェーン ワーカーはブロック実行後であるため、実行後のダイジェストが利用可能になるはずです。オフチェーン ワーカーは、参照しているブロックの完全なヘッダーと実行後のダイジェストにどのようにアクセスできますか? ブロックハッシュにアクセスできます-

fn offchain_worker(n: T::BlockNumber) { .. <frame_system::Module>::block_hash(n)

実行中にサブストレート ランタイムでこれが試行されると、0x0000000.. が返されます (これは予想されることです)。

完全なヘッダーと実行後のダイジェストは、外部のインデックス作成やその他の目的に役立ちます。基板がすべてをインデックス化するわけではないことは知っています..また、インデックス化したくもありません。参照されたヘッダーと実行後のダイジェストにのみアクセスしたい。

4

1 に答える 1