最初のコントラクトチェックでは何を比較しますか?
1回のプレビルドチェックでは、お送りいただいたルールと、コントラクトが強制する必要のある動作を比較します。実装前に未決定の判断事項を特定し、どの作業をオンチェーンで行うかを合意します。
| 作業領域 | カバーする内容 | タイミング | お送りいただくもの |
|---|---|---|---|
| カスタムロジック | コントラクトのアクションと権限 | ビルド前 | プロダクトルールとユーザーフロー |
| ベスティング | 割り当て、請求、スケジュール変更 | 仕様レビュー時 | 受益者とリリースルール |
| ステーキング | 預入、引出、報酬入力 | 仕様レビュー時 | フローと報酬ルール |
| 監査準備 | レビューファイルと調査結果への対応 | 外部レビュー前 | ソースバージョンと既知の前提条件 |
この表は、1つのプロジェクトに含めることのできる4つの作業領域を区分しています。どの領域を適用するかは、お客様のルールが決定します。1つのコントラクトが1つの機能を提供する場合もあります。接続されたコントラクトには、より多くのインターフェース判断が必要です。
各アクションについて、誰が開始するか、どの条件が適用されるか、何が変更されるかを記録します。また、拒否されたアクションと期待されるユーザーアウトカムも記録します。これにより、コードが前提をコントラクト動作に変換する前に、チームが具体的にレビューできるようになります。
トークンが設計に含まれる場合は、この作業をトークン作成とデプロイと連携させてください。
コントラクトの判断を可視化する7つのインプット
7つのインプットが、コントラクト仕様書の実用的な出発点となります。お持ちのものをお送りください。未回答の項目は、推測を承認済みルールとして扱わずにマークしてください。
- プロダクトの目的:コントラクトが実行すべき役割。
- ユーザーフロー:開始から完了までのアクション。
- ロール:ユーザー、管理者、およびそれぞれに必要な権限。
- ビジネスルール:条件、タイミング、例外ケース。
- ネットワークの希望:ターゲットネットワーク(既に選択されている場合)。
- インターフェース:既存のコントラクトとアプリケーションの要件。
- レビューニーズ:既知の運用上、法律上、または監査上の要件。
ベスティングの場合は、以下を含めてください:
- 割り当て元、受益者、開始条件。
- リリースパターンと請求プロセス。
- スケジュールを変更できる者と、そのアクションを承認できる者。
ステーキングの場合は、以下を記述してください:
- 預入と引出の手順。
- 報酬の入力と請求ルール。
- 一時停止の動作。
レビューでは、依存関係と未決定の判断事項を明示します。その後、チームに承認基準を承認していただきます。その承認により、実装の明確な参照点が得られます。
作業がコントラクトコードを超える場合は、Web3開発がより広範なプロダクトをカバーできます。dApp開発はアプリケーション層を扱います。
ルールからリリースまでの3つのビルドウィンドウ
3つの作業ウィンドウにより、プロダクトの判断、コード、リリース準備を明確に区別します。正確なカレンダーは、合意されたコントラクト動作、統合、レビューニーズに従います。
- ルールウィンドウ:ロール、アクション、条件、エッジケースをマッピングします。チームはコントラクト動作に影響する判断を解決します。
- 仕様ウィンドウ:承認された動作と承認基準を記録します。実装開始前にドキュメントをレビューしていただきます。
- ビルドウィンドウ:合意されたコントラクトロジックを実装します。コードをレビュー済み仕様に沿って維持します。
- テストウィンドウ:期待されるパス、権限、無効な入力、指定されたエッジケースをチェックします。調査結果と未解決のプロダクト選択はレビューのために記録されます。
- リリースウィンドウ:設定ノートと引継ぎ詳細を準備します。独立したレビューが含まれる場合は、その資料と質問を調整します。
各ウィンドウは、想定された承認ではなく、レビュー可能な成果物または判断で終了します。何が準備できていて、何にまだ回答が必要かがわかります。接続されたプロダクトの場合は、どのチームがアプリケーション統合を担当するかを確認してください。また、どのコントラクトインターフェースを使用するかも確認してください。
コントラクトテストと監査から何がわかりますか?
テストは、コントラクトがその仕様で合意された動作に従っているかどうかを示します。独立した監査は、独自の評価と調査結果を持つ別個のレビューです。
各コア動作を特定のチェックにリンクさせます:
- ユーザーアクション。
- 権限。
- 無効な入力。
- 計画に含まれるコントラクト部分間の相互作用。
テスト実行を要約し、未解決項目を平易な言葉で記録します。これにより、チームはコードの問題と、まだ判断が必要なプロダクトルールを区別できます。
外部レビューの場合は、正確なソースバージョン、簡潔なコントラクトフローの説明、既知の前提条件、依存関係、テスト手順を準備してください。これらの資料を整理し、レビューアの質問を追跡し、チームが合意された修正を検証するのを支援できます。開発テストと監査調整は、レビューア自身の作業とは別のものです。
テスト実行では、デプロイされたコントラクトがあらゆるネットワーク条件下でどのように動作するかを確定することはできません。選択された監査プロバイダーがその調査結果を管理します。ウォレットの動作やサードパーティとの統合も、私たちが構築するコントラクトコードの範囲外です。リリース判断では、仕様、テスト記録、レビュー調査結果とともに、これらの境界を考慮してください。
ビルドからリリースに引き継ぐ3つの記録
3つの記録が、チームに実用的な引継ぎを提供します:承認済みルール、テストエビデンス、デプロイノートです。作業開始前に内容を合意するため、チームは何を期待すべきか把握できます。
| お渡しするもの | タイミング | 記録方法 |
|---|---|---|
| コントラクト仕様書とソースコード | 承認および実装後 | ルールを合意された動作にリンク |
| テストサマリーと未解決項目 | リリース前のレビュー時 | 実行したチェックと記録された調査結果 |
| デプロイノートと引継ぎ | リリース準備時 | 設定と担当の詳細 |
- 監査記録:監査作業は明確に区別します。外部監査が計画に含まれる場合、そのプロバイダーが評価を担当し、当社は資料と回答を調整します。
- トークンまたはアプリケーション:トークン作成とデプロイまたはdApp開発とインターフェース判断を連携させてください。
- Webサイト:Web3 Webサイトは、別のプロダクトコンポーネントとして計画できます。
DigitalMedia1では、実装前にルールとインターフェースをチェックします。そして、テストをそれらの承認された動作に結びつけます。プロダクト概要、希望ネットワーク、既存のコントラクト資料をお送りください。レビュー後、2営業日以内に書面による見積書をお送りします。
仕組み
- 1 — プロダクトルールを送付ウィンドウ:仕様作成前。ユーザーフロー、ロール、ネットワークの希望、既存コード、既知のレビューニーズをお送りください。
- 2 — コントラクト境界をレビューウィンドウ:計画レビュー。依存関係、未決定の判断事項、承認が必要な動作を特定します。
- 3 — 仕様書を承認ウィンドウ:実装前。チームがロール、フロー、エッジケース、承認基準をチェックします。
- 4 — ビルドとテストウィンドウ:実装とテスト。合意されたロジックを構築し、指定された動作に対するチェックを記録します。
- 5 — 引継ぎ準備ウィンドウ:リリース準備。デプロイノートを提供し、含まれる外部監査作業があれば調整します。
よくある質問
スマートコントラクト開発には何を送ればよいですか?
4つの項目から始めてください:プロダクト概要、ユーザーフロー、ロール権限、希望ネットワークです。既存のコントラクトインターフェース、ベスティングやステーキングのルールがあれば追加してください。既知のレビュー要件を含め、未決定の判断事項はマークしてください。これらの資料を使用して依存関係を特定し、チームがレビューするための承認基準を準備します。
既存のトークンにベスティングやステーキングを追加できますか?
はい、トークンインターフェースとコントラクトがサポートすべきアクションをレビューした上で可能です。コントラクト詳細とベスティングスケジュールまたはステーキングルールをお送りください。実装計画を確定する前に、ロール、請求・引出フロー、報酬入力をチェックします。このレビューにより、チームが先に解決すべき判断事項も特定されます。
御社のサービスには独立したスマートコントラクト監査が含まれますか?
プロジェクトで合意された場合、監査調整を含めることができます。独立した評価は、選択されたレビュープロバイダーに帰属します。ソースバージョン、コントラクトフローノート、テスト手順を準備し、質問を追跡し、合意された修正を検証するのを支援できます。開発テストは別個の記録であり、プロバイダーのレビューの代わりにはなりません。
スマートコントラクト開発のスケジュールは何で決まりますか?
スケジュールは、コントラクト動作の数、統合の必要性、チームが判断を承認する速度に応じて決まります。初期レビュー時にこれらの依存関係をマッピングし、作業順序を見積書に含めます。見積書は、お送りいただいた資料をレビュー後、2営業日以内に提出します。
テストに合格すれば、コントラクトはデプロイ可能と判断できますか?
単一のテスト記録だけでリリース準備が完了することはありません。テストは、どの合意された動作がチェックされ、どのような調査結果が残っているかを示します。チームは、リリース前に仕様書、テストサマリー、デプロイ設定、権限、外部レビューの調査結果を比較する必要があります。当社は、判断が具体的なエビデンスに基づいて行われるよう、これらの記録を提供します。
コントラクトをdAppに接続できますか?
はい。コントラクトインターフェースをアプリケーションフローと一緒に定義できるため、チームはウォレット操作とユーザー向け動作を明確に割り当てることができます。現在のアーキテクチャまたはインターフェースの期待値を、コントラクトルールとともにお送りください。より広範なアプリケーションビルドについては、dApp開発をご覧ください。
プロジェクトについて教えてください
4つの簡単な質問に答えると、マネージャーが1時間以内にプラン、スケジュール、価格帯をお送りします。すべて機密情報として扱われます。
フォームを読み込んでいます…