#dusk $DUSK @Dusk
最初は、DuskVMのコントラクトを構築するには、実際のコントラクトロジックに取りかかる前に、低レベルのセットアップにかなり時間をかける必要があると思っていました。
@Duskについて詳しく見ていくうちに、Forgeによってその考えが変わりました。Forgeの「マクロは、Rustの公開メソッドをDuskVMのエントリーポイントに変換し、ABIまわりの処理の多くを自動生成できます。Forgeは入出力のシリアライズも処理するため、コントラクトとVMの間でやり取りするバイト列を、開発者がひとつひとつ手作業で準備する必要はありません。
このアプローチが気に入っているのは、開発者がエクスポートの接続や呼び出しのエンコードを何度も手作業で行う代わりに、状態の変更や権限、コントラクトの振る舞いについて考える時間を増やせるところです。
興味深いのは、Forgeがスマートコントラクトの複雑さを取り除くわけではないことです。繰り返し必要になる周辺のセットアップを取り除くことで、重要な複雑さをより把握しやすく、テストしやすくしています。
今は、どれくらい普及するのか気になっています。
ABIを自分で細かく制御するほうがいいですか?それとも、コントラクトロジックに集中できるよう、定型処理はForgeに任せたいですか?
最初は、DuskVMのコントラクトを構築するには、実際のコントラクトロジックに取りかかる前に、低レベルのセットアップにかなり時間をかける必要があると思っていました。
@Duskについて詳しく見ていくうちに、Forgeによってその考えが変わりました。Forgeの「マクロは、Rustの公開メソッドをDuskVMのエントリーポイントに変換し、ABIまわりの処理の多くを自動生成できます。Forgeは入出力のシリアライズも処理するため、コントラクトとVMの間でやり取りするバイト列を、開発者がひとつひとつ手作業で準備する必要はありません。
このアプローチが気に入っているのは、開発者がエクスポートの接続や呼び出しのエンコードを何度も手作業で行う代わりに、状態の変更や権限、コントラクトの振る舞いについて考える時間を増やせるところです。
興味深いのは、Forgeがスマートコントラクトの複雑さを取り除くわけではないことです。繰り返し必要になる周辺のセットアップを取り除くことで、重要な複雑さをより把握しやすく、テストしやすくしています。
今は、どれくらい普及するのか気になっています。
ABIを自分で細かく制御するほうがいいですか?それとも、コントラクトロジックに集中できるよう、定型処理はForgeに任せたいですか?
