市場はまた、いくつか興味深い名前を持ち込んでいます。$TRUMP $BEAT どちらもチャート上で大きな注目を集めています。現時点では、私が気づく前にみんながこうした値動きをどうやって見つけているのかを理解しようとしているところです。
以前は、失敗したスマートコントラクト呼び出しは基本的にただのエラーだと思っていました。
しかし DuskVM をよりよく調べるほど、失敗のパスがいっそう面白くなってきました。
実行が始まる前に Dusk は、送信者の残高、署名、nonce などを確認します。これらの基本条件が満たされない場合、トランザクションは通常どおり実行されません。
では、実行中に何かがうまくいかなかったらどうなるのでしょう?
そこが、私がより重要だと感じている部分です。
スマートコントラクトは実行中に状態変更を行うことができますが、失敗した呼び出しがその状態変更をそのまま残すわけではありません。失敗した実行による状態変更はコミットされません。
そのため、コントラクトが古い状態と不完全な新しい状態の間で途中のまま固まることはありません。
ガスもここで重要です。コントラクトの実行はガスを消費するため、失敗は「最終結果が成功だったかどうか」だけの問題ではありません。その途中でも実行リソースは消費されます。
それによって、私の考えは「安全な実行とは何か」を見直す方向に変わりました。
それは、成功するトランザクションを機能させることだけではありません。
実行が失敗したときに、予測可能な挙動があることでもあります。
金融アプリケーションにおいて、その違いは重要です。価値ある資産を扱うシステムは、想定していた経路が崩れたときに何が起きるのかを知る必要があります。
スマートコントラクトで最も重要な部分が、「すべてがうまくいったときに何が起きるか」ではないことがあります。
問題は、ネットワークがそうならないときに何をするか、です。
@Dusk_Foundation $DUSK #dusk
呼び出しが失敗したときに最も重要なのは何ですか?
以前は、失敗したスマートコントラクト呼び出しは基本的にただのエラーだと思っていました。
しかし DuskVM をよりよく調べるほど、失敗のパスがいっそう面白くなってきました。
実行が始まる前に Dusk は、送信者の残高、署名、nonce などを確認します。これらの基本条件が満たされない場合、トランザクションは通常どおり実行されません。
では、実行中に何かがうまくいかなかったらどうなるのでしょう?
そこが、私がより重要だと感じている部分です。
スマートコントラクトは実行中に状態変更を行うことができますが、失敗した呼び出しがその状態変更をそのまま残すわけではありません。失敗した実行による状態変更はコミットされません。
そのため、コントラクトが古い状態と不完全な新しい状態の間で途中のまま固まることはありません。
ガスもここで重要です。コントラクトの実行はガスを消費するため、失敗は「最終結果が成功だったかどうか」だけの問題ではありません。その途中でも実行リソースは消費されます。
それによって、私の考えは「安全な実行とは何か」を見直す方向に変わりました。
それは、成功するトランザクションを機能させることだけではありません。
実行が失敗したときに、予測可能な挙動があることでもあります。
金融アプリケーションにおいて、その違いは重要です。価値ある資産を扱うシステムは、想定していた経路が崩れたときに何が起きるのかを知る必要があります。
スマートコントラクトで最も重要な部分が、「すべてがうまくいったときに何が起きるか」ではないことがあります。
問題は、ネットワークがそうならないときに何をするか、です。
@Dusk_Foundation $DUSK #dusk
呼び出しが失敗したときに最も重要なのは何ですか?
🔄 State rollback
67%
⛽ Gas handling
33%
9 投票 • 投票は終了しました
