2023年山東省高等職業集団ブロックチェーン技術競争ミッションステートメント

2023 年山東省高等職業集団ブロックチェーン技術ミッションステートメント

目次

モジュール 1: ブロックチェーン製品ソリューションの設計とシステムの運用と保守

タスク 1-1: ブロックチェーン製品の需要分析とソリューション設計

タスク1-2: ブロックチェーンシステムの導入と運用保守

タスク 1-3: ブロックチェーン システムのテスト

モジュール 2: スマート コントラクトの開発とテスト

タスク 2-1: スマート コントラクトの設計

タスク 2-2: スマート コントラクトの開発

タスク 2-3: スマート コントラクトのテスト

モジュール 3: ブロックチェーン アプリケーション システム開発

タスク3-1: ブロックチェーンアプリケーションのフロントエンド機能の開発

タスク3-2:ブロックチェーンアプリケーションのバックエンド機能開発

情報が必要な場合は、ブロガーにプライベート メッセージを送信してください

背景の説明

出稼ぎ労働者の増加に伴い、住宅賃貸は幅広い市場となっている。現在、既存の住宅賃貸技術では、家主が賃貸情報を公開し、その賃貸情報が住宅仲介業者や賃貸ソフトに掲載され、借主が賃貸情報を入手した後、現地で住宅を検査し、紙の住宅に署名するという流れが行われている。賃貸契約を締結し、賃貸料を仲介業者を通じて、または住宅所有者に直接支払います。さらに、その後の家賃も家主が徴収する必要があります。

ブロックチェーン住宅レンタルプラットフォーム事業フローチャート

現在、ブロックチェーン技術は住宅賃貸プラットフォームの実装に使用されており、家主、住宅、テナントをブロックチェーン ネットワークに追加し、リリース、リース、契約、賃貸料などの情報をブロックチェーンの分散ネットワークに保存し、永久に有効です。改ざんすることはできません。住宅賃貸借シナリオでは、家主が家を貸し出した後、家主は家の使用権を効果的に管理することができず、たとえば、テナントが賃貸借契約の対応する内容を履行しない場合、家主はテナントの使用を効果的に制限することができません。適切なタイミングで住宅を撤去すると、家賃や住宅の使用権が失われ、リサイクルが困難になります。賃貸借契約の履行中に家主がテナントに早期退去を要求した場合も、テナントの利益を損なうことになります。ブロックチェーンベースの住宅賃貸プラットフォームSがあり、家主LがSで家を貸し出す。その家の電子錠EのパスワードをSで呼び出すことができる。LがSのテナントTに賃貸借契約書を発行する場合、Lは、他の事情にかかわらず、デフォルトで契約書を発行します。契約書では、月額家賃は3,000元、支払い方法はデポジット1回、支払いは毎月16日に支払うと定められている。T は、他の状況に関係なく、デフォルトで契約に署名します。T が契約に署名してから 24 時間以内に、T は S に保証金 3,000 元と家賃 3,000 元を事前に入金する必要があります (この順序で申告する必要があります)。T が事前入金しない場合、取引は失敗します。 。Tが保証金と家賃1か月分を事前に預けた場合、Lは24時間以内にSに保証金3,000元を事前預ける必要があり、Lが指定時間内に保証金を事前に預けなかった場合、SはTに保証金を返還する。敷金と家賃 L が敷金を事前に預けると、この取引が開始されます。S は T の家賃 1 か月分を L に自動的に振り込み、E 家のパスワードを T に送信します。毎月 16 日に E はパスワードを自動的に変更します。T が期日までに家賃を支払えば、S は家のパスワードを T に更新します。T の有効期限が切れて支払わなかった場合、S は T の保証金を L に移管して代わりに使用します。月の家賃を支払い、S は引き続き支払う パスワードは T に更新されます; T がまだ期限があり、敷金が差し引かれた翌月に未払いの場合は、返済を待ちます T が返済を支払わない場合、住宅の変更は行われませんパスワードが原因で T は家に入ることができなくなります。Lがリース期間満了前に契約を解除した場合、SはLの保証金をTに譲渡します。Tがまだ保証金を残している場合、保証金はTに返還されます。Tがリース期間満了前に中途解約する場合、SがTの敷金をLに移したとしても、敷金が残っていれば、Tは引き続きLに家賃の1か月分を補償する必要があります。 S は L に 2 か月分の家賃を補償する必要があり、S は L の保証金を L に返還します。デフォルトでは、T は他の状況に関係なく家賃を補償します。通常契約が満了すると、SはLの保証金を返還し、Tも残金があれば返還する。このケースでは、契約日の違反のみが考慮されており、その他の状況は考慮されていません。

ブロックチェーン住宅レンタルプラットフォームシステムアーキテクチャ図

モジュール 1: ブロックチェーン製品ソリューションの設計とシステムの運用と保守

このモジュールのタスクを完了した後、出場者はタスク内のソフトウェア モデリング図、構成ファイル、操作結果などのスクリーンショット (スクリーンショットの内容は明確で完全なもの) とテキスト コンテンツをクライアントのデスクトップに貼り付ける必要があります [ステーション]結果を送信するには、フォルダー\モジュール 1 の番号を指定します。docx] を、対応するタスク番号の下に配置します。

タスク 1-1: ブロックチェーン製品の需要分析とソリューション設計

住宅賃貸プラットフォームには、テナント、家主、ブロックチェーン賃貸プラットフォーム、住宅、その他の参加者が関与しており、アカウント登録、オンチェーン上のアイデンティティ、住宅の賃貸、ブロックチェーン賃貸プラットフォームでの契約の生成などのさまざまなビジネス活動を完了する必要があります。ビジネス活動の機能分析を通じて、システムの開発プロセスをより適切に行うことができます。ブロックチェーン住宅レンタルプラットフォームを背景とした住宅レンタルプラットフォームのシステムアーキテクチャに基づいて、アカウント登録、ログインサービス、チェーン上の決済、住宅レンタル、家賃支払いなどのコア機能の説明を組み合わせ、フローチャート/機能図、ユースケース図などの概要設計を作成します。

住宅賃貸プラットフォームには、テナント、家主、ブロックチェーン賃貸プラットフォーム、住宅、その他の参加者が関与しており、アカウント登録、オンチェーン上のアイデンティティ、住宅の賃貸、ブロックチェーン賃貸プラットフォームでの契約の生成などのさまざまなビジネス活動を完了する必要があります。ビジネス活動の機能分析を通じて、システムの開発プロセスをより適切に行うことができます。ブロックチェーン住宅レンタルプラットフォームを背景とした住宅レンタルプラットフォームのシステムアーキテクチャに基づいて、アカウント登録、ログインサービス、チェーンへのエントリー、住宅レンタル、家賃支払いなどのコア機能の説明を組み合わせます。 Visio は、ユースケース図、機能図、アーキテクチャ図などの概略設計を描画するために使用されます。

このタスクでは、プロジェクトの背景に基づいて要件分析とソリューション設計を完了する必要があります。具体的な要件は次のとおりです

  1. プロジェクトによって提供される背景の説明と住宅賃貸プラットフォームのビジネス概要に基づいて、住宅賃貸プラットフォームを分析し、次のタスクを完了します。
      1. システムユーザーグループとそのニーズを明確にするために、ユーザーグループのニーズ分析を準備します。
      2. システムに関与する役割とユースケースを含むシステム UML ユースケース図を描きます。
  2. 指定された背景情報、住宅賃貸プラットフォームのビジネス概要図、および住宅賃貸プラットフォームの所定のコア プロセスに基づいて、Visio を使用してビジネス システム機能図をコンパイルします。

表1-1-1 住宅賃貸プラットフォームのコアプロセス

賃貸契約書発行の流れ

家主は賃貸借契約書を作成し、住宅情報、賃貸期間、家賃などを記入します。家主の秘密キーを使用して賃貸契約に署名し、認証のためにブロックチェーンにブロードキャストします。

契約締結の流れ

家主が賃貸契約書に署名

家賃支払いの流れ

ブロックチェーン住宅レンタルプラットフォームノードのリアルタイム住宅有効期限

  1. ブロックチェーン システムのアーキテクチャは、ベース層、コントラクト層、インターフェイス層、アプリケーション層の構造に従って設計されます。ベース層では、必要なノード、名前、プロトコル、ストレージなどの情報を指定する必要があり、Visio はシステム アーキテクチャ図を描画するために使用されます。

タスク1-2: ブロックチェーンシステムの導入と運用保守

ブロックチェーン食品安全トレーサビリティプラットフォームの展開と運用および保守のニーズに焦点を当て、プロジェクト関連のシステム、ノード、管理ツールの展開が行われます。監視ツールを通じてネットワークとノードのサービスを完全に監視します。最後に、ビジネス要件仕様を使用して、システム ログ、ネットワーク パラメーター、ノード サービスなどのシステム構造のメンテナンスを完了します。具体的な要件は次のとおりです。

  1. パラメータとポート設定の要件に従ってブロックチェーン システムを展開して検証します。
  2. パラメータとポート設定の要件に従って、ブロックチェーン ネットワーク管理プラットフォームを展開して検証します。
  3. ブロックチェーンシステムの関連管理プラットフォームに基づいて、タスクガイドに従ってシステムの運用および保守作業を実装および検証します。
  4. ブロックチェーンシステムの関連監視ツールに基づいて、ブロックチェーンシステムはタスクガイドラインに従って監視されます。

サブタスク 1-2-1: ブロックチェーン ネットワークを構築し、検証する

与えられたサーバー環境とソフトウェア(アドレス「/root/tools」)を元に、単一マシン、単一組織、2グループ、5ノードのブロックチェーンシステムを構築し、検証する具体的な作業内容は以下の通りです。

機構

グループ

ノード

P2Pポート

チャネルポート

rpcポート

代理店

グループ1

ノード0、ノード1、ノード2

30200

20200

8020

代理店

グループ2

ノード3、ノード4

30300

20300

8030

ブロックチェーンネットワーク構築情報表

      1. ブロックチェーンネットワーク構築情報テーブルに従ってipconf設定ファイルを準備してブロックチェーンネットワークを構築し、ipconfファイルの内容と作成プロセスの出力結果をスクリーンショットとして保存します。
      2. コマンドを通じてブロックチェーン ノード プロセスの実行ステータスを確認し、結果のスクリーンショットを撮ります。
      3. コマンドを使用して、接続されているノードの数とブロックチェーン ノード (node1) のコンセンサス ステータス ログ出力、および結果のスクリーンショットを確認します。

サブタスク 1-2-2: ブロックチェーン コンソールを構築して検証する

指定されたサーバー環境とソフトウェア(アドレス「/root/tools」)を元に、ブロックチェーンコンソールの構築とそれに伴う運用保守作業を実施します 具体的な作業内容は以下の通りです。

      1. コンソールを構成し、関連する証明書を管理して起動し、コンソールの起動結果のスクリーンショットを撮ります。
      2. コンソールを使用して、HelloWorld スマート コントラクト、コマンド、および結果のスクリーンショットをデプロイします。
      3. コンソールを使用して、HelloWorld スマート コントラクトの設定および取得操作を完了し、コマンドと結果のスクリーンショットを撮ります。
      4. コンソールをグループ 1 からグループ 2 に切り替えます。コマンドと結果のスクリーンショット。

サブタスク 1-2-3: ブロックチェーン アカウントの権限制御

完成したブロックチェーンシステムおよびコンソール構築作業を基に、ブロックチェーンアカウント権限管理などの運用保守業務を実施します。具体的な内容は以下のとおりです。

  1. スクリプトを実行して 3 つの新しいアカウント (pem 形式) を作成し、アカウント 1 (account1) を使用してグループ 1 を指定してコンソールにログインし、アカウント 1 (account1)、アカウント 2 (account2)、およびアカウント 3 (account3) を追加します。委員会のメンバーとして検証し、プロセスと結果のスクリーンショットを保存します。
  2. アカウント 1 から 2 の投票数を変更して検証し、投票しきい値を 75% に変更して検証し、結果のスクリーンショットを保存します。
  3. アカウント 3 (account3) の委員会権限を取り消し、アカウント 3 を運用保守ロールとして設定して検証し、プロセスと結果のスクリーンショットを保存します。

サブタスク 1-2-4: ブロックチェーンネットワークの運用と保守

タスク記述要件に従って、ネットワークの設定と管理運用および保守作業を完了します。具体的な内容は次のとおりです。

  1. ブロックチェーン システムのブラックリストを設定し、node3 をブラックリストに登録するように設定し、コンソールを使用して、node3 のピア、構成ファイル、検証結果のスクリーンショットを検証します。
  2. 指定されたツール (アドレス/ルート/ツール) を使用して新しいノード (node5) の作成を完了し、新しいノード (node5) をグループ 1 とグループ 2 に接続してコンセンサスに参加し、新しいノード (node5) が作成されていることを確認します。ログ情報を介して接続されています。 グループ 1 と 2 については、プロセスと検証結果のスクリーンショットが保存されます。
  3. グループ 1 の観測ノードとしてノード 1 を設定し、結果を確認してスクリーンショットを撮ります。

タスク 1-3: ブロックチェーン システムのテスト

WeBASE配備スクリプトを元に、WeBASE環境の構築と構築結果の検証を完了し、最後に実行結果のスクリーンショットを保存します。

  1. WeBASE プラットフォームの展開を実装し、WeBASE 管理プラットフォームのホームページにアクセスし、スクリーンショットを保存します。
  2. WeBASE-Sign を使用してデータに署名します。E7ADBEE5908D、結果のスクリーンショット。
  3. WeBASE-Front を使用して、マシンの履歴パフォーマンス情報をクエリし、結果のスクリーンショットを取得します。

シリアルナンバー

中国語

パラメータ名

タイプ

必須

説明する

1

開始日

開始日

ローカル日時

はい

2

終了日

終了日

ローカル日時

はい

3

開始日の比較

コントラスト開始日

ローカル日時

いいえ

4

終了日を比較する

コントラスト終了日

ローカル日時

いいえ

5

間隔

ギャップ

整数

いいえ

デフォルトは1です

マシン履歴パフォーマンス クエリ パラメータ テーブル

モジュール 2: スマート コントラクトの開発とテスト

参加者は、このモジュールのタスクを完了した後、タスクの設計結果、実行コード、および実行結果のスクリーンショット (スクリーンショットの内容は明確で完全なもの) をクライアント デスクトップの対応するファイル [ワークステーション番号フォルダー] に貼り付ける必要があります。 \モジュール 2 提出結果.docx] タスク番号の下。

タスク 2-1: スマート コントラクトの設計

ブロックチェーン住宅レンタルプラットフォームの製品要件分析と設計文書の記述に基づいて、スマートコントラクトUMLシーケンス図を描画し、ブロックチェーン製品のスマートコントラクト機能要件文書を作成します。具体的な要件は次のとおりです。

  1. ブロックチェーン住宅レンタルプラットフォームのスマートコントラクトUMLシーケンス図を描画します。
  2. ブロックチェーン住宅レンタルプラットフォームプロジェクトの背景、需要分析、機能設計などを組み合わせて、ブロックチェーン住宅レンタルプラットフォームのスマートコントラクト機能要件文書を作成します。

タスク 2-2: スマート コントラクトの開発

スマート コントラクトの開発に Solidity 言語を使用し、必要な機能の導入に従って補足されるソース コード内のプログラム インターフェイス関数のコーディングを完了し、コード エラーと警告を解決し、コントラクトを正しくコンパイルし、関数を正しくデバッグし、コントラクトを実行して検証します。ビジネス機能 以下のサブタスクのうち、契約コーディングは、契約内の対応するインターフェイス機能の開発を表します。

サブタスク 2-2-1: ERC20 スマート コントラクト

必要な関数の導入に従って、補足されるソース コード内の ERC20 契約関連関数のコーディングを完了し、コード エラーと警告を解決し、契約を正しくコンパイルし、関数を正しくデバッグし、mint、approve、transferFrom 関数を実行します。その契約。

  1. mint 関数を作成し、この関数を完了し、コードと検証結果のスクリーンショットを保存します。
  2. 認可関数を記述します。認可トークンの数は、認可者が所有するトークンの数を超えることはできません。コードと検証結果のスクリーンショットを保存します。
  3. 許可された人がトークンを転送するための関数を作成します。転送アドレスはゼロアドレスにすることはできず、転送金額は許可された金額を超えることはできません。残高などの変数は正しく増減し、コードと検証結果のスクリーンショットは保存されます。

サブタスク 2-2-2: 住宅情報スマートコントラクト

必要な機能の導入に従って、補足するソース コードで住宅情報コントラクトのコーディングを完了し、コード エラーと警告を解決し、コントラクトを正しくコンパイルし、関数を正しくデバッグし、コントラクト内の mint 関数と transfer 関数を実行します。

  1. 家主の家の情報をブロックチェーン上に保存する機能を実現するために、家主の家をブロックチェーンにアップロードするmint関数を書きます(家番号は使用できません)、家主と家を関連付け、コードと検証のスクリーンショットを保存します結果;
  2. 家を譲渡するための譲渡関数を記述し、ユーザーに家を処分する権限があるかどうかを検証し、その他の対応する関数を実行し、コードと検証結果のスクリーンショットを保存します。

サブタスク 2-2-3: 住宅賃貸契約

必要な機能の導入に従って、補足するソース コードで住宅賃貸契約のコーディングを完了し、コード エラーと警告を解決し、契約を正しくコンパイルし、関数を正しくデバッグして、賃貸契約の作成、家主の契約への署名を実行します。 、契約機能でテナントが契約に署名し、家主が契約をキャンセルします。

  1. 住宅賃貸契約、契約紹介、その他のコードの継承を改善し、コードのスクリーンショットを保存します。
  2. 住宅賃貸契約を作成する関数を作成します。住宅賃貸契約は住宅所有者のみが作成でき、契約を作成する前に、住宅は住宅賃貸契約に対する承認を受ける必要があります。各住宅賃貸契約には、一意の番号、コード、および保存する検証結果のスクリーンショット。
  3. 家主の契約署名関数を作成します。家主は、家主が家を所有していることを確認するために、賃貸借契約に署名します。署名する前に、契約書が署名されていないこと、またはテナントが署名しているが家主が署名していないことを確認する必要があります。署名後、住宅賃貸借契約の名義に住宅が譲渡されますので、次に契約状況を更新し、コードと検証結果のスクリーンショットを保存します。
  4. テナント署名契約関数を作成します。テナントが賃貸契約に署名するときは、テナントが承認した金額が十分であることを確認する必要があり、署名する前に、契約が署名されていないこと、または家主が署名していることを確認する必要があります。署名済みですが、テナントは署名していません。契約ステータス、コード、検証を更新します。結果のスクリーンショットを保存します。
  5. 家主が契約をキャンセルするための関数を作成します。契約は、契約が署名されたときにのみキャンセルできます。契約のキャンセル要求は家主のみが発行できます。キャンセル後、デポジットはテナントに返されます。コードと検証結果のスクリーンショットが保存されます。

タスク 2-3: スマート コントラクトのテスト

サブタスク2-3-1 : Web フロントエンド プラットフォームに基づく受託テスト

    1. コードエラーと警告を解決し、すべてのコントラクトを正しくコンパイルしてコントラクトをデプロイし、デプロイされたコントラクトアドレスと abi を正常に取得し、スマートコントラクトアドレスのスクリーンショットを撮り、abi ファイルに [smart Contract.abi] という名前を付けてクライアントのデスクトップに保存します。 [ワークステーション番号フォルダ] ]ダウン;。
    2. WeBASE を使用して、テストのためにタスク 2-2 のコード補完を必要とするすべてのスマート コントラクト インターフェイスを呼び出し、実行結果のスクリーンショットを撮ります。

サブタスク2-3-2 : 脆弱性テスト

以下の脆弱なスマートコントラクトを分析し、WeBASE を使用して脆弱性を再現し、脆弱性を修正し、検証に WeBASE を使用します。

次の問題のある契約コード:

コントラクト SimpleERC20 {

    公開所有者のアドレスを指定します。

    単位公開合計。

    マッピング(アドレス => uint) プライベート残高;

    

    イベント Mint(アドレス,単位);

    コンストラクター() public {

        所有者 = メッセージ送信者;

    }

    //バイト(mint_d22vi9okr4w(アドレス)) = 6D696E745F6432327669396F6B723477286164647265737329

    関数 mint_d22vi9okr4w(アドレス _アカウント) パブリック {

        require(msg.sender == 所有者);

        require(残高[_口座]+1000 > 残高[_口座] && 合計+1000 > 合計);

        残高[_account] +=1000;

        合計 +=1000;

        発行 Mint(_account,balances[_account]);

    }

//transfer(アドレス,アドレス,uint256) = 7472616E7366657228616464726573732C616464726573732C75696E7432353629

関数 transfer(送信元アドレス、送信先アドレス、単位量) public {

        require(msg.sender==owner);

        require(残高[from] >= 金額 && 残高[to] + 金額 > 残高[to]);

        残高[から] -=金額;

        残高[to] +=金額;

    }

    function getBalance(address _account) public view returns(uint) {

        残高を返す[_account];

    }

}

契約工場ERC20{

    公開所有者のアドレスを指定します。

    コンストラクター() public {

        所有者 = メッセージ送信者;

    }

    function mint(address _token,address _account)public returns(bool){

        require(msg.sender == 所有者);

        (bool success, ) = address(_token).call(abi.encodePacked(bytes4(0x00000000), abi.encode(_account)));

    }

    

    function createERC20() public returns (アドレス){

        SimpleERC20 erc = 新しい SimpleERC20();

        返送先住所(erc);

    }

    関数 transfer(bytes メモリ _method 、アドレス _token、アドレス _to、uint _ammount) public returns(bool){

        (bool success, ) = address(_token).call(abi.encodePacked(bytes4(keccak256(abi.encodePacked(_method))), abi.encode(msg.sender, _to, _ammount)));

        成功を返します。

    }

    

    function getBalance(address _token,address _account) public returns(uint){

        SimpleERC20 erc = SimpleERC20(_token);

        戻り erc.getBalance(_account);

    }

}

  1. スマートコントラクトの問題を分析し、脆弱性の原因とその害を説明します。
  2. WeBASE を通じてスマート コントラクトを呼び出して、スマート コントラクトの抜け穴を再現し、結果のスクリーンショットを撮ります。
  3. スマート コントラクトの脆弱性を修正してテストし、修復結果とテスト結果のスクリーンショットを撮ります。

モジュール 3: ブロックチェーン アプリケーション システム開発

参加者は、このモジュールのタスクを完了した後、タスクに追加されたコード、Web ページ、および実行結果のスクリーンショットを、クライアントのデスクトップ [ワークステーション番号フォルダー\モジュール 3 提出結果.docx] の対応するディレクトリに貼り付けます。タスク番号。

タスク3-1: ブロックチェーンアプリケーションのフロントエンド機能の開発

ブロックチェーンアプリケーションシステムの構築と、サーバー側(バックエンド)とWeb側(フロントエンド)間のインターフェースの共同デバッグを完了します。要件は次のとおりです。

  1. user.vue で、VsCode ツールを使用して、デポジット詳細プロトタイプの長さ、幅、行の高さ、間隔、テキスト スタイル、色などに従ってデポジット詳細ページのスタイル開発を完了し、デポジットへの Vue の呼び出しを完了します。インターフェイス API をクエリし、インターフェイスの戻り値を取得します。 賃貸人、家の場所、建物番号、保証金の金額、受取人、支払い日の情報を Vue ページに入力し、Web ページと API を呼び出すコードの一部のスクリーンショットを保存します。インターフェース;

  1. active.vue でログアウト機能を完了し、ログアウト後、メイン ページに戻り、保存されているアドレス情報をクリアし、コードのスクリーンショットを保存します。
  2. HomeView.vue でログイン機能を完了します。ログイン時に秘密キー、ユーザー アドレス、ユーザー タイプを渡し、秘密キーが 16 進数であることを確認します。バックエンドはログイン成功情報を返した後、対応するページにジャンプし、コードのスクリーンショットを保存します。

タスク3-2:ブロックチェーンアプリケーションのバックエンド機能開発

サブタスク 3-2-1: ブロックチェーン ネットワーク環境を開始する

ブロックチェーン アプリケーション システムの開発には、チェーン上のデータと対話し、ノードとのリンクを確立し、チェーン上の情報クエリを完了するために、ブロックチェーンの基盤となるネットワークのサポートが必要です。要件は次のとおりです。

IntelliJ IDEA ツールを使用して (BlockDataProcessor.java) ファイルを開きます。クエリ ブロックチェーン情報インターフェイスで、Java-SDK を使用してブロックチェーンの最新の高さと最新のトランザクション ハッシュを取得し、結果を 10 進整数と文字列型で返します。 . コードと結果のスクリーンショットを保存します。

サブタスク 3-2-2: 秘密キーを使用してログイン インターフェイスを作成する

(1) IndexController クラスの registerUser に実装され、16 進数の秘密キーを使用してログインし、アカウント アドレスで検証し、ステートメント コードの結果のスクリーンショットを保存し、検証に postman を使用します。

(2) MySQL クライアントを使用してテスト データベースを作成してください。最初の手順で宣言したエンティティ クラスに基づいて、テスト ライブラリに次のフィールドを含む「house_leasing_contract」という名前のデータベース テーブルを作成し、テーブルのスクリーンショットを取得します。保存する作成ステートメント:

      1. 家主の口座アドレス(家主)
      2. テナントのアカウントアドレス(テナント)
      3. 月額賃料(monthly_rent)
      4. 入金額 (deposit_amount)
      5. 家賃の支払期日 (rent_due_date)
      6. リース開始日 (lease_start_date)
      7. リース終了日 (lease_end_date)

サブタスク 3-2-3: リース契約インターフェースを記述して作成する

住宅賃貸契約をブロックチェーンにデプロイし、家主が賃貸契約を作成するための契約インターフェイス (addRentalContract メソッド) の呼び出しを完了します。要件は次のとおりです。

  1. Web 側に対応するさまざまなパラメータを受け入れます。
  2. スマート コントラクト API を呼び出し、呼び出し結果の情報をフロントエンド ページに返します。
  3. Postman を使用して、レンタル契約作成インターフェイス、テスト パラメーター、結果、補足コードのスクリーンショットの機能的整合性をテストします。

サブタスク 3-2-4: 家主が賃貸契約に署名するためのインターフェイスを作成する

住宅賃貸契約をブロックチェーンにデプロイし、家主が賃貸契約に署名するための契約インターフェイス (signContract メソッド) の呼び出しを完了します。要件は次のとおりです。

  1. Web 側に対応するさまざまなパラメータを受け入れます。
  2. スマート コントラクト API を呼び出し、呼び出し結果の情報をフロントエンド ページに返します。
  3. Postman を使用して、レンタル契約作成インターフェイス、テスト パラメーター、結果、補足コードのスクリーンショットの機能的整合性をテストします。

おすすめ

転載: blog.csdn.net/qq_50377269/article/details/135242410