JP7298008B2 - スマートコントラクトを開発するためのシステム、方法及び装置 - Google Patents

スマートコントラクトを開発するためのシステム、方法及び装置 Download PDF

Info

Publication number
JP7298008B2
JP7298008B2 JP2022503963A JP2022503963A JP7298008B2 JP 7298008 B2 JP7298008 B2 JP 7298008B2 JP 2022503963 A JP2022503963 A JP 2022503963A JP 2022503963 A JP2022503963 A JP 2022503963A JP 7298008 B2 JP7298008 B2 JP 7298008B2
Authority
JP
Japan
Prior art keywords
smart contract
interface
client
server
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022503963A
Other languages
English (en)
Other versions
JP2022541805A (ja
Inventor
超 ▲馬▼
▲銘▼ ▲趙▼
春▲偉▼ ▲劉▼
▲義▼ 王
群 林
▲海▼波 ▲孫▼
Original Assignee
京▲東▼科技信息技▲術▼有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 京▲東▼科技信息技▲術▼有限公司 filed Critical 京▲東▼科技信息技▲術▼有限公司
Publication of JP2022541805A publication Critical patent/JP2022541805A/ja
Application granted granted Critical
Publication of JP7298008B2 publication Critical patent/JP7298008B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Description

本願は、2019年9月4日に中国特許庁に提出された、申請番号201910832970.0で、出願人が北京海益同展信息科技有限公司で、発明の名称が「スマートコントラクトを開発するためのシステム、方法及び装置」である中国特許申請の優先順位を主張する。本願の全内容は、参照により本願に組み込まれる。
本開示の実施例は、コンピュータ技術の分野に関し、特にスマートコントラクトを開発するためのシステム、方法及び装置に関する。
ブロックチェーンは、分散データストレージ、ポイントツーポイント伝送、コンセンサスメカニズム、暗号アルゴリズムなどのコンピュータ技術に基づいて生成された分散アカウンティングメカニズムである。ブロックチェーン技術のスマートコントラクトは、ブロックチェーンプラットフォームで実行される、スマートコントラクト仮想マシンによって解釈及び実行されるソフトウェアプログラムである。実際には、スマートコントラクトは、契約参加者がこれらのコミットメントを実行できるプロトコルを含む、デジタル形式で定義されたコミットメントとして理解され得る。
現在、ブロックチェーンプラットフォームのスマートコントラクトの開発インターフェースは、通常、プロセス指向プログラミングパラダイムである。
本開示の実施例は、スマートコントラクトを開発するためのシステム、方法及び装置を提案する。
第1態様では、本開示の実施例は、スマートコントラクトを開発するためのシステムを提供し、このシステムは、
プロトコル取得モジュールであって、前記プロトコル取得モジュールは、ターゲットスマートコントラクトのインターフェースのプロトコルを取得するように構成されており、ここで、ターゲットスマートコントラクトのインターフェースのプロトコルは、ターゲットスマートコントラクトのインターフェースを定義するために使用されるプロトコル取得モジュールと、
クライアント開発モジュールであって、前記クライアント開発モジュールは、ターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシを生成するように構成されており、ここで、スマートコントラクトのクライアントインターフェースは、ターゲットスマートコントラクトのインターフェースを定義するために使用されるクライアントの定義情報であり、スマートコントラクトのクライアントプロキシは、スマートコントラクトのクライアントインターフェースを実装するために使用され、スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシは、クライアントのスマートコントラクトアプリケーションを構築するために使用されるクライアント開発モジュールと、
サーバー開発モジュールであって、前記サーバー開発モジュールは、ターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、スマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンを生成するように構成されており、ここで、スマートコントラクトのサーバーインターフェースは、ターゲットスマートコントラクトのインターフェースを定義するために使用されるサーバーの定義情報であり、スマートコントラクトのサーバースケルトンは、スマートコントラクトのクライアントインターフェースとスマートコントラクトのサーバーインターフェースとの間の接続を確立するために使用され、スマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンは、サーバーのスマートコントラクトを構築するために使用されるサーバー開発モジュールと、を含む。
いくつかの実施例では、プロトコル取得モジュールは、あらかじめ決定されたスマートコントラクトのインターフェースのプロトコルテンプレートを使用して、ターゲットスマートコントラクトインターフェースのターゲットスマートコントラクトインターフェースプロトコルを取得するようにさらに構成されている。
いくつかの実施例では、クライアントの定義情報及びサーバーの定義情報は、ターゲットスマートコントラクトのインターフェースとターゲットブロックチェーンとの間の関連関係を特徴付けるために使用される情報を含む。
いくつかの実施例では、このシステムは、ターゲットテストケースを使用して、構築されたクライアントのスマートコントラクトアプリケーション及びサーバーのスマートコントラクトをテストするように構成されているテストモジュールをさらに含み、ここで、ターゲットテストケースは、スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシに基づいて生成される。
第2態様では、本開示の実施例は、クライアントのスマートコントラクトアプリケーションを開発するための方法を提供し、この方法は、
プロトコル取得モジュールが送信したターゲットスマートコントラクトのインターフェースのプロトコルを取得し、ここで、ターゲットスマートコントラクトのインターフェースのプロトコルは、ターゲットスマートコントラクトのインターフェースを定義するために使用されるスッテプと、
ターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシを生成し、ここで、スマートコントラクトのクライアントインターフェースは、ターゲットスマートコントラクトのインターフェースを定義するために使用されるクライアントの定義情報であり、スマートコントラクトのクライアントプロキシは、スマートコントラクトのクライアントインターフェースを実装するために使用され、スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシは、クライアントのスマートコントラクトアプリケーションを構築するために使用されるスッテプと、を含む。
いくつかの実施例では、クライアントの定義情報は、ターゲットスマートコントラクトのインターフェースとターゲットブロックチェーンとの間の関連関係を特徴付けるために使用される情報を含む。
第3態様では、本開示の実施例は、サーバーのスマートコントラクトを開発するための方法を提供し、この方法は、
プロトコル取得モジュールが送信したターゲットスマートコントラクトのインターフェースのプロトコルを取得し、ここで、ターゲットスマートコントラクトのインターフェースのプロトコルは、ターゲットスマートコントラクトのインターフェースを定義するために使用されるスッテプと、
ターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、スマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンを生成し、ここで、スマートコントラクトのサーバーインターフェースは、ターゲットスマートコントラクトのインターフェースを定義するために使用されるサーバーの定義情報であり、スマートコントラクトのサーバースケルトンは、スマートコントラクトのクライアントインターフェースとスマートコントラクトのサーバーインターフェースとの間の接続を確立するために使用され、スマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンは、サーバーのスマートコントラクトを構築するために使用されるスッテプと、を含む。
いくつかの実施例では、サーバーの定義情報は、ターゲットスマートコントラクトのインターフェースとターゲットブロックチェーンとの間の関連関係を特徴付けるために使用される情報を含む。
第4態様では、本開示の実施例は、クライアントのスマートコントラクトアプリケーションを開発するための装置を提供し、この装置は、
第1取得ユニットであって、前記第1取得ユニットは、プロトコル取得モジュールが送信したターゲットスマートコントラクトのインターフェースのプロトコルを取得するように構成されており、ここで、ターゲットスマートコントラクトのインターフェースのプロトコルは、ターゲットスマートコントラクトのインターフェースを定義するために使用される第1取得ユニットと、
第1生成ユニットであって、前記第1生成ユニットは、ターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシを生成するように構成されており、ここで、スマートコントラクトのクライアントインターフェースは、ターゲットスマートコントラクトのインターフェースを定義するために使用されるクライアントの定義情報であり、スマートコントラクトのクライアントプロキシは、スマートコントラクトのクライアントインターフェースを実装するために使用され、スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシは、クライアントのスマートコントラクトアプリケーションを構築するために使用される第1生成ユニットと、を含む。
第5態様では、本開示の実施例は、サーバーのスマートコントラクトを開発するための装置を提供し、この装置は、
第2取得ユニットであって、前記第2取得ユニットは、プロトコル取得モジュールが送信したターゲットスマートコントラクトのインターフェースのプロトコルを取得するように構成されており、ここで、ターゲットスマートコントラクトのインターフェースのプロトコルは、ターゲットスマートコントラクトのインターフェースを定義するために使用される第2取得ユニットと、
第2生成ユニットであって、前記第2生成ユニットは、ターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、スマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンを生成するように構成されており、ここで、スマートコントラクトのサーバーインターフェースは、ターゲットスマートコントラクトのインターフェースを定義するために使用されるサーバーの定義情報であり、スマートコントラクトのサーバースケルトンは、スマートコントラクトのクライアントインターフェースとスマートコントラクトのサーバーインターフェースとの間の接続を確立するために使用され、スマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンは、サーバーのスマートコントラクトを構築するために使用される第2生成ユニットと、を含む。
第6態様では、本開示の実施例は、電子装置を提供し、この装置は、1つ又は複数のプロセッサと、1つ又は複数のプログラムが記憶される記憶装置とを含み、1つ又は複数のプログラムが1つ又は複数のプロセッサによって実行されるとき、1つ又は複数のプロセッサは、上記第2態様及び第3態様で説明した方法のいずれか1つの実施例の方法を実現する。
第7態様では、本開示の実施例は、コンピュータプログラムが記憶されるコンピュータ可読媒体を提供し、このプログラムがプロセッサによって実行されると、上記第2態様及び第3態様で説明した方法のいずれか1つの実施例の方法が実現される。
本開示の実施例が提供するスマートコントラクトを開発するためのシステム、方法及び装置は、プロトコル取得モジュールを介してターゲットスマートコントラクトのインターフェースのプロトコルを取得し、ここで、ターゲットスマートコントラクトのインターフェースのプロトコルは、ターゲットスマートコントラクトのインターフェースを定義するために使用され、次いで、クライアント開発モジュールは、ターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシを生成し、ここで、スマートコントラクトのクライアントインターフェースは、ターゲットスマートコントラクトのインターフェースを定義するために使用されるクライアントの定義情報であり、スマートコントラクトのクライアントプロキシは、スマートコントラクトのクライアントインターフェースを実装するために使用され、スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシは、クライアントのスマートコントラクトアプリケーションを構築するために使用され、サーバー開発モジュールは、ターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、スマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンを生成し、ここで、スマートコントラクトのサーバーインターフェースは、ターゲットスマートコントラクトのインターフェースを定義するために使用されるサーバーの定義情報であり、スマートコントラクトのサーバースケルトンは、スマートコントラクトのクライアントインターフェースとスマートコントラクトのサーバーインターフェースとの間の接続を確立するために使用され、スマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンは、サーバーのスマートコントラクトを構築するために使用され、それによりスマートコントラクトのクライアントインターフェース及びスマートコントラクトのサーバーインターフェースに基づいて、インターフェース指向のスマートコントラクトの開発を実現することができ、これは、スマートコントラクトの開発のプロセスを簡素化し、維持しやすいスマートコントラクトを取得するのに寄与し、また、スマートコントラクトのインターフェースのプロトコルに基づいて、クライアントのスマートコントラクトアプリケーションとサーバーのスマートコントラクトをそれぞれ開発できるため、スマートコントラクトの開発のプロセスをさらに簡素化し、スマートコントラクトの開発の効率を向上させる。
以下の図面を参照して非限定的な実施例の詳細な説明を読むことにより、本開示の他の特徴、目的及び利点がより明らかになる。
本出願を適用できる例示的なシステムアーキテクチャ図である。 本出願によるスマートコントラクトを開発するためのシステムの一実施例のタイミングチャートである。 本出願によるスマートコントラクトを開発するためのシステムのアプリケーションシナリオの概略図である。 本出願によるクライアントのスマートコントラクトアプリケーションを開発するための方法の一実施例のフローチャートである。 本出願によるサーバーのスマートコントラクトを開発するための方法の一実施例のフローチャートである。 本出願によるクライアントのスマートコントラクトアプリケーションを開発するための装置の一実施例の概略構造図である。 本出願によるサーバーのスマートコントラクトを開発するための装置の一実施例の概略構造図である。 本出願の実施例を実現するための電子装置に適したコンピュータシステムの概略構造図である。
以下、図面及び実施例を参照して本開示をさらに詳細に説明する。本明細書に記載された特定の実施例は、関連する発明を説明するためにのみ使用され、本発明を限定するものではないことが理解され得る。なお、説明を容易にするために、関連する発明に関連する一部のみが図面に示されている。
なお、本開示における実施例及び実施例における特徴は、矛盾がない場合、互いに組み合わせることができる。以下、本開示について、図面を参照し、実施例と併せて詳細に説明する。
図1は、本開示のスマートコントラクトを開発するためのシステム、クライアントのスマートコントラクトを開発するための方法、サーバーのスマートコントラクトを開発するための方法、クライアントのスマートコントラクトを開発するための装置又はサーバーのスマートコントラクトを開発するための装置の実施例を適用できる例示的なシステムアーキテクチャ100を示している。
図1に示すように、システムアーキテクチャ100は、プロトコル取得モジュール101、ネットワーク102、クライアント開発モジュール103及びサーバー開発モジュール104を含み得る。ネットワーク102は、プロトコル取得モジュール101とクライアント開発モジュール103との間に、及びプロトコル取得モジュール101とサーバー開発モジュール104との間に通信リンクの媒体を提供するために使用される。ネットワーク102は、有線通信リンク、無線通信リンク又は光ファイバケーブルなどの様々な接続タイプを含み得る。
クライアント開発者は、クライアント開発モジュール103を使用してネットワーク102を介してプロトコル取得モジュール101と相互作用することにより、プロトコル取得モジュール101が送信したスマートコントラクトのインターフェースのプロトコルを受信することができる。同様に、サーバー開発者は、サーバー開発モジュール104を使用してネットワーク102を介してプロトコル取得モジュール101と相互作用することにより、プロトコル取得モジュール101が送信したスマートコントラクトのインターフェースのプロトコルを受信することができる。
プロトコル取得モジュール101は、ハードウェアであってもよいし、ソフトウェアであってもよい。プロトコル取得モジュール101がハードウェアである場合、それは、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ及びデスクトップコンピュータなどを含むがこれらに限定されない、スマートコントラクトのインターフェースのプロトコルを取得する機能を有する様々な電子装置であってもよい。プロトコル取得モジュール101がソフトウェアである場合、それは、上記電子装置にインストールすることができる。それは、複数のソフトウェア又はソフトウェアモジュール(例えば、分散サービスを提供するために使用される複数のソフトウェア又はソフトウェアモジュール)として実装されてもよく、単一のソフトウェア又はソフトウェアモジュールとして実装されてもよい。ここに特別な制限はない。
クライアント開発モジュール103は、ハードウェアであってもよいし、ソフトウェアであってもよい。クライアント開発モジュール103がハードウェアである場合、それは、ソフトウェア開発機能を有するラップトップコンピュータやデスクトップコンピュータなどを含むがこれらに限定されない、様々な電子装置であってもよい。クライアント開発モジュール103がソフトウェアである場合、それは、上記電子装置にインストールすることができる。それは、複数のソフトウェア又はソフトウェアモジュール(例えば、分散サービスを提供するために使用される複数のソフトウェア又はソフトウェアモジュール)として実装されてもよく、単一のソフトウェア又はソフトウェアモジュールとして実装されてもよい。ここに特別な制限はない。
同様に、サーバー開発モジュール104は、ハードウェアであってもよいし、ソフトウェアであってもよい。サーバー開発モジュール104がハードウェアである場合、それは、ソフトウェア開発機能を有するラップトップコンピュータやデスクトップコンピュータなどを含むがこれらに限定されない、様々な電子装置であってもよい。サーバー開発モジュール104がソフトウェアである場合、それは、上記電子装置にインストールすることができる。それは、複数のソフトウェア又はソフトウェアモジュール(例えば、分散サービスを提供するために使用される複数のソフトウェア又はソフトウェアモジュール)として実装されてもよく、単一のソフトウェア又はソフトウェアモジュールとして実装されてもよい。ここに特別な制限はない。
特に、プロトコル取得モジュール101、クライアント開発モジュール103及びサーバー開発モジュール104がいずれもソフトウェアである場合、これら3つは、同じ電子装置(例えば、ラップトップコンピュータ又はデスクトップコンピュータ)にインストールすることができる。
なお、本開示の実施例が提供するクライアントのスマートコントラクトアプリケーションを開発するための方法は、一般に、クライアント開発モジュール103によって実行され、それに応じて、クライアントのスマートコントラクトアプリケーションを開発するための装置は、一般に、クライアント開発モジュール103に設置される。本開示の実施例が提供するサーバーのスマートコントラクトを開発するための方法は、一般に、サーバー開発モジュール104によって実行され、それに応じて、サーバーのスマートコントラクトを開発するための装置は、一般に、サーバー開発モジュール104に設置される。
図1のプロトコル取得モジュール、ネットワーク、クライアント開発モジュール及びサーバー開発モジュールの数は、単なる例示的であることが理解されるべきである。実装のニーズに応じて、それは、任意の数のプロトコル取得モジュール、ネットワーク、クライアント開発モジュール及びサーバー開発モジュールを有することができる。
図2を参照すると、それは、本出願によるスマートコントラクトを開発するためのシステムの一実施例のタイミングチャート200を示している。
本出願の実施例におけるスマートコントラクトを開発するためのシステムは、
プロトコル取得モジュールであって、前記プロトコル取得モジュールは、ターゲットスマートコントラクトのインターフェースのプロトコルを取得するように構成されており、ここで、ターゲットスマートコントラクトのインターフェースのプロトコルは、ターゲットスマートコントラクトのインターフェースを定義するために使用されるプロトコル取得モジュールと、
クライアント開発モジュールであって、前記クライアント開発モジュールは、ターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシを生成するように構成されており、ここで、スマートコントラクトのクライアントインターフェースは、ターゲットスマートコントラクトのインターフェースを定義するために使用されるクライアントの定義情報であり、スマートコントラクトのクライアントプロキシは、スマートコントラクトのクライアントインターフェースを実装するために使用され、スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシは、クライアントのスマートコントラクトアプリケーションを構築するために使用されるクライアント開発モジュールと、
サーバー開発モジュールであって、前記サーバー開発モジュールは、ターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、スマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンを生成するように構成されており、ここで、スマートコントラクトのサーバーインターフェースは、ターゲットスマートコントラクトのインターフェースを定義するために使用されるサーバーの定義情報であり、スマートコントラクトのサーバースケルトンは、スマートコントラクトのクライアントインターフェースとスマートコントラクトのサーバーインターフェースとの間の接続を確立するために使用され、スマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンは、サーバーのスマートコントラクトを構築するために使用されるサーバー開発モジュールと、を含み得る。
図2に示すように、ステップ201において、プロトコル取得モジュールは、ターゲットスマートコントラクトのインターフェースのプロトコルを取得する。
この実施例では、プロトコル取得モジュール(例えば、図1に示されるプロトコル取得モジュール101)は、有線接続方法又は無線接続方法によりローカル又はリモートでターゲットスマートコントラクトのインターフェースのプロトコルを取得することができる。ここで、ターゲットスマートコントラクトのインターフェースのプロトコルは、ターゲットスマートコントラクトのインターフェースを定義するために使用される。ターゲットスマートコントラクトのインターフェースは、開発されるスマートコントラクトのインターフェースであってもよく、開発されるスマートコントラクトとターゲットブロックチェーン内のノードとの間の相互作用を実現するために使用される。ターゲットブロックチェーンは、開発されるスマートコントラクトが属するブロックチェーンであってもよい。
具体的には、一例として、ターゲットスマートコントラクトのインターフェースのプロトコルは、ターゲットスマートコントラクトのインターフェースのインターフェースメソッドやインターフェースデータなどを定義するために使用される情報を含み得る。例えば、ターゲットスマートコントラクトのインターフェースは、ファンド預託インターフェースである。ターゲットスマートコントラクトのインターフェースのプロトコルは、口座開設と移転口座の2つのインターフェースメソッドを定義するために使用される情報を含み得、ユーザー名やパスワードなどのインターフェースデータを定義するために使用される情報をさらに含み得る。
実際には、ターゲットスマートコントラクトのインターフェースのプロトコルに含まれるターゲットスマートコントラクトのインターフェースを定義するために使用される情報は、開発者によって決定された情報であってもよい。さらに、プロトコル取得モジュールは、開発者によって決定された情報に基づいて、ターゲットスマートコントラクトのインターフェースのプロトコルを取得することができる。
この実施例のいくつかのオプションの実装形態では、プロトコル取得モジュールは、あらかじめ決定されたスマートコントラクトのインターフェースのプロトコルテンプレートを使用して、ターゲットスマートコントラクトインターフェースのターゲットスマートコントラクトインターフェースプロトコルを取得するようにさらに構成され得る。ここで、スマートコントラクトのインターフェースのプロトコルテンプレートは、あらかじめ決定された、スマートコントラクトのインターフェースのプロトコルを取得するために使用されるテンプレートであってもよく、開発者は、スマートコントラクトのインターフェースのプロトコルテンプレートにターゲットスマートコントラクトのインターフェースを定義するために使用される情報を入力して、ターゲットスマートコントラクトのインターフェースのプロトコルを取得することができる。一例として、スマートコントラクトのインターフェーステンプレートには、インターフェースメソッドアイテムが含まれ得、開発者は、インターフェースメソッドアイテムの位置に口座開設と移転口座を入力し、さらに、開発者が入力したターゲットスマートコントラクトのインターフェースを定義するために使用されるインターフェースメソッドの情報に基づいて、ターゲットスマートコントラクトのインターフェースのプロトコルを取得することができる。
この実装形態では、スマートコントラクトのインターフェースのプロトコルテンプレートを使用して、ターゲットスマートコントラクトのインターフェースのプロトコルを取得するステップを簡素化することができるため、これは、スマートコントラクト開発の効率を向上させるのに寄与する。
ステップ202において、プロトコル取得モジュールは、ターゲットスマートコントラクトのインターフェースのプロトコルをクライアント開発モジュールに送信する。
この実施例では、ステップ201で取得されたターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、プロトコル取得モジュールは、クライアント開発モジュール(例えば、図1に示されるクライアント開発モジュール103)に上記ターゲットスマートコントラクトのインターフェースのプロトコルを送信することができる。
ステップ203において、クライアント開発モジュールは、ターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシを生成する。
この実施例では、クライアント開発モジュールは、ターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシを生成することができる。ここで、スマートコントラクトのクライアントインターフェースは、ターゲットスマートコントラクトのインターフェースを定義するために使用されるクライアントの定義情報であってもよい。具体的には、クライアントの定義情報は、クライアントによってサポートされるプログラミング言語でターゲットスマートコントラクトのインターフェースを定義する情報を含み得る。スマートコントラクトのクライアントプロキシは、スマートコントラクトのクライアントインターフェースを実装するために使用され得る。スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシは、クライアントのスマートコントラクトアプリケーションを構築するために使用され得る。
実際には、様々な方法を使用してスマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシを生成することができる。具体的には、一例として、クライアント開発モジュールは、あらかじめ決定されたスマートコントラクトのクライアントフレームワークを使用して、スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシを生成することができる。ここで、スマートコントラクトのクライアントフレームワークは、あらかじめ決定されたフレームワークであってもよく、それは、クライアントがインターフェースに基づいて、スマートコントラクトにアクセスする基本機能を含み得る。具体的には、クライアント開発モジュールは、スマートコントラクトのクライアントフレームワークに基づいて、ターゲットスマートコントラクトのインターフェースのプロトコルをクライアントによってサポートされる言語に変換し、さらに、スマートコントラクトのクライアントインターフェースを生成することができる。これに基づいて、クライアント開発モジュールは、スマートコントラクトのクライアントフレームワークにおける、スマートコントラクトのクライアントインターフェースを実装するために使用される機能を組み合わせて、スマートコントラクトのクライアントプロキシを取得することができる。
この実施例のいくつかのオプションの実装形態では、クライアントの定義情報は、ターゲットスマートコントラクトのインターフェースとターゲットブロックチェーンとの間の関連関係を特徴付けるために使用される情報をさらに含み得る。具体的には、ターゲットスマートコントラクトのインターフェースとターゲットブロックチェーンとの間の関連関係は、ターゲットスマートコントラクトのインターフェースを介して生成されたトランザクションとターゲットブロックチェーンとの間の関連関係を指すことができる。実際には、開発者は、ターゲットブロックチェーン内のターゲットスマートコントラクトのインターフェースに対応するトランザクション(すなわち、ターゲットスマートコントラクトのインターフェースを介して生成されたトランザクション)がターゲットブロックチェーンで属するブロックの番号やトランザクション確認時間などをスマートコントラクトのクライアントインターフェースにカプセル化し、さらに、ターゲットスマートコントラクトのインターフェースとターゲットブロックチェーンとの間の関連関係を特徴付ける情報を含むクライアントの定義情報を取得することができる。
この実装形態は、スマートコントラクトのクライアントインターフェースにおいて、ターゲットスマートコントラクトのインターフェースのブロックチェーン関連情報を拡張することにより、より包括的なクライアントのスマートコントラクトアプリケーションを開発するのに寄与する。また、スマートコントラクトのクライアントインターフェースを生成するプロセス中に、ブロックチェーン関連情報をカプセル化することで、スマートコントラクトのクライアントインターフェースに基づいて、クライアントのスマートコントラクトアプリケーションを開発する後続のプロセスを簡素化し、クライアントのスマートコントラクトアプリケーション開発の効率を向上させることができる。
実際には、生成されたスマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシに基づいて、開発者は、クライアントのスマートコントラクトアプリケーションを構築することができる。
ステップ204において、プロトコル取得モジュールは、サーバー開発モジュールにターゲットスマートコントラクトのインターフェースのプロトコルを送信する。
この実施例では、ステップ201で取得されたターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、プロトコル取得モジュールは、上記ターゲットスマートコントラクトのインターフェースのプロトコルを、サーバー開発モジュール(例えば、図1に示されるサーバー開発モジュール104)に送信することができる。
なお、このステップ204は、上記ステップ202と同期して実行されてもよく、ステップ202の実行前又は実行後に実行されてもよい。この実施例で説明されたステップ202及びステップ204の実行順序は、本出願の特定の実装形態に対する制限として解釈されるべきではない。また、ステップ204がステップ202と同期して実行され得る場合、次のステップ205も、上記ステップ203と同期して実行され得、又はステップ205は、上記ステップ203の前又は後に実行され得、ステップ204がステップ202の実行前に実行され得る場合、次のステップ205も、ステップ203の実行前又は実行後に実行され得、又はステップ205がステップ203と同期して実行され得、ステップ204がステップ202の実行後に実行され得る場合、次のステップ205も、ステップ203の実行前又は実行後に実行され得、又はステップ205がステップ203と同期して実行され得、すなわち、本出願は、ステップ203とステップ205の特定の実行順序も制限せず、ステップ203がステップ202の後に実行され、ステップ205がステップ204の後に実行されるだけでよいということが理解され得る。
ステップ205において、サーバー開発モジュールは、ターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、スマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンを生成する。
この実施例では、サーバー開発モジュールは、ターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、スマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンを生成することができる。ここで、スマートコントラクトのサーバーインターフェースは、ターゲットスマートコントラクトのインターフェースを定義するために使用されるサーバーの定義情報であってもよい。具体的には、サーバーの定義情報は、サーバーによってサポートされるプログラミング言語でターゲットスマートコントラクトのインターフェースを定義する情報を含み得る。スマートコントラクトのサーバースケルトンは、スマートコントラクトのクライアントインターフェースとスマートコントラクトのサーバーインターフェースとの間の接続を確立するために使用され得、具体的には、スマートコントラクトのクライアントインターフェースを介して送信されたスマートコントラクト要求からスマートコントラクトのサーバーインターフェースへのルーティングと適応を提供するために使用され得る。スマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンは、サーバーのスマートコントラクトを構築するために使用され得る。
実際には、様々な方法を使用してスマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンを生成することができる。具体的には、一例として、サーバー開発モジュールは、あらかじめ決定されたスマートコントラクトのサーバーフレームワークを使用して、スマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンを生成することができる。ここで、スマートコントラクトのサーバーフレームワークは、あらかじめ決定されたフレームワークであってもよく、それは、インターフェースに基づいてスマートコントラクトにアクセスするサーバーの基本機能を含み得る。具体的には、サーバー開発モジュールは、スマートコントラクトのサーバーフレームワークに基づいて、ターゲットスマートコントラクトのインターフェースのプロトコルをサーバーによってサポートされる言語に変換し、さらに、スマートコントラクトのサーバーインターフェースを生成することができる。これに基づいて、サーバー開発モジュールは、スマートコントラクトのサーバーフレームワークにおける、スマートコントラクトのクライアントインターフェースからスマートコントラクトのサーバーインターフェースへのルーティングと適応を実現するために使用される機能を組み合わせて、スマートコントラクトのサーバースケルトンを取得することができる。
この実施例のいくつかのオプションの実装形態では、サーバーの定義情報は、ターゲットスマートコントラクトのインターフェースとターゲットブロックチェーンとの間の関連関係を特徴付けるために使用される情報をさらに含み得る。実際には、開発者は、ターゲットスマートコントラクトのインターフェースに対応するトランザクション(すなわち、ターゲットスマートコントラクトのインターフェースを介して生成されたトランザクション)がターゲットブロックチェーンで属するブロックの番号やトランザクション確認時間などをスマートコントラクトのサーバーインターフェースにカプセル化し、さらにターゲットスマートコントラクトのインターフェースとターゲットブロックチェーンとの間の関連関係を特徴付ける情報を含むサーバーの定義情報を取得することができる。
この実装形態は、スマートコントラクトのサーバーインターフェースにおいて、ターゲットスマートコントラクトのインターフェースのブロックチェーン関連情報を拡張することにより、より包括的なサーバーのスマートコントラクトを開発するのに寄与する。また、スマートコントラクトのサーバーインターフェースを生成するプロセス中に、ブロックチェーン関連情報をカプセル化することで、スマートコントラクトのサーバーインターフェースに基づいてサーバーのスマートコントラクトを開発する後続のプロセスを簡素化し、サーバーのスマートコントラクト開発の効率を向上させることができる。
実際には、生成されたスマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンに基づいて、開発者は、サーバーのスマートコントラクトを構築することができる。
この実施例のいくつかのオプションの実装形態では、スマートコントラクトを開発するための上記システムは、テストモジュール(図には示されていない)であって、前記テストモジュールは、ターゲットテストケースを使用して、構築されたクライアントのスマートコントラクトアプリケーションとサーバーのスマートコントラクトをテストするように構成されており、ここで、ターゲットテストケースは、スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシに基づいて生成することができるテストモジュールをさらに含み得る。具体的には、開発者は、既存のソフトウェア開発ツールを使用して、スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシに基づいて、ターゲットテストケースを決定することができる。
実際には、1つのターゲットテストケースは、1回のスマートコントラクト要求に相当し、ターゲットテストケースを通じて、クライアントのスマートコントラクトアプリケーションは、サーバーのスマートコントラクトからスマートコントラクトを要求することができ、さらに、サーバーのスマートコントラクトがフィードバックした情報に基づいて、クライアントのスマートコントラクトアプリケーションとサーバーのスマートコントラクトの状態を決定することができ、それによりクライアントのスマートコントラクトアプリケーションとサーバーのスマートコントラクトの機能テストを実現することができる。
図3を参照し続けると、図3は、この実施例によるスマートコントラクトを開発するためのシステムのアプリケーションシナリオの概略図である。
図3のアプリケーションシナリオでは、プロトコル取得モジュール301は、最初にターゲットスマートコントラクトのインターフェースのプロトコル302を取得することができ、ここで、ターゲットスマートコントラクトのインターフェースのプロトコル302は、ターゲットスマートコントラクトのインターフェースを定義するために使用される。次に、プロトコル取得モジュール301は、ターゲットスマートコントラクトのインターフェースのプロトコル302をクライアント開発モジュール303及びサーバー開発モジュール304にそれぞれ送信することができる。
次いで、クライアント開発モジュール303は、受信されたターゲットスマートコントラクトのインターフェースのプロトコル302に基づいて、スマートコントラクトのクライアントインターフェース305及びスマートコントラクトのクライアントプロキシ306を生成することができ、ここで、スマートコントラクトのクライアントインターフェース305は、ターゲットスマートコントラクトのインターフェースを定義するために使用されるクライアントの定義情報であり、スマートコントラクトのクライアントプロキシ306は、スマートコントラクトのクライアントインターフェースを実装するために使用され、スマートコントラクトのクライアントインターフェース305及びスマートコントラクトのクライアントプロキシ306は、クライアントのスマートコントラクトアプリケーションを構築するために使用される。
そして、サーバー開発モジュール304は、受信されたターゲットスマートコントラクトのインターフェースのプロトコル302に基づいて、スマートコントラクトのサーバーインターフェース307及びスマートコントラクトのサーバースケルトン308を生成することができ、ここで、スマートコントラクトのサーバーインターフェース307は、ターゲットスマートコントラクトのインターフェースを定義するために使用されるサーバーの定義情報であり、スマートコントラクトのサーバースケルトン308は、スマートコントラクトのクライアントインターフェースとスマートコントラクトのサーバーインターフェースとの間の接続を確立するために使用され、スマートコントラクトのサーバーインターフェース307及びスマートコントラクトのサーバースケルトン308は、サーバーのスマートコントラクトを構築するために使用される。
本開示の上記実施例が提供する方法は、スマートコントラクトのクライアントインターフェース及びスマートコントラクトのサーバーインターフェースに基づいて、インターフェース指向のスマートコントラクトの開発を実現することができ、これは、スマートコントラクトの開発のプロセスを簡素化し、維持しやすいスマートコントラクトを取得するに寄与する。また、スマートコントラクトのインターフェースのプロトコルに基づいて、クライアントのスマートコントラクトアプリケーション及びサーバーのスマートコントラクトをそれぞれ開発することができ、それにより、スマートコントラクトの開発のプロセスをさらに簡素化し、スマートコントラクト開発の効率を向上させる。
図4を参照し続けると、図4は、本開示によるクライアントのスマートコントラクトアプリケーションを開発するための方法の一実施例のプロセス400を示している。クライアントのスマートコントラクトアプリケーションを開発するためのこの方法は、以下のステップ401とステップ402を含む。
ステップ401:プロトコル取得モジュールが送信したターゲットスマートコントラクトのインターフェースのプロトコルを取得する。
この実施例では、クライアントのスマートコントラクトアプリケーションを開発するための方法の実行主体(例えば、図1に示されるクライアント開発モジュール103)は、有線接続方法又は無線接続方法により、プロトコル取得モジュール(例えば、図1に示されるプロトコル取得モジュール101)が送信したターゲットスマートコントラクトのインターフェースのプロトコルを取得することができる。ここで、ターゲットスマートコントラクトのインターフェースのプロトコルは、ターゲットスマートコントラクトのインターフェースを定義するために使用される。ターゲットスマートコントラクトのインターフェースは、開発されるスマートコントラクトのインターフェースであってもよく、開発されるスマートコントラクトとターゲットブロックチェーン内のノードとの間の相互作用を実現するために使用される。ターゲットブロックチェーンは、開発されるスマートコントラクトが属するブロックチェーンであってもよい。
ステップ402:ターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシを生成する。
この実施例では、ステップ401で得られたターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、上記実行主体は、スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシを生成することができる。ここで、スマートコントラクトのクライアントインターフェースは、ターゲットスマートコントラクトのインターフェースを定義するために使用されるクライアントの定義情報であってもよい。具体的には、クライアントの定義情報は、クライアントによってサポートされるプログラミング言語でターゲットスマートコントラクトのインターフェースを定義する情報を含み得る。スマートコントラクトのクライアントプロキシは、スマートコントラクトのクライアントインターフェースを実装するために使用され得る。スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシは、クライアントのスマートコントラクトアプリケーションを構築するために使用され得る。
この実施例のいくつかのオプションの実装形態では、クライアントの定義情報は、ターゲットスマートコントラクトのインターフェースとターゲットブロックチェーンとの間の関連関係を特徴付けるために使用される情報をさらに含み得る。
実際には、生成されたスマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシに基づいて、開発者は、クライアントのスマートコントラクトアプリケーションを構築することができる。
なお、図4に対応する実施例における実行主体は、スマートコントラクトを開発するための上記システムにおけるクライアント開発モジュールと同じ特徴を有し得る。したがって、図4に対応する実施例は、スマートコントラクトを開発するための上記システムにおけるクライアント開発モジュールの特徴と組み合わせて、新しい技術的解決手段を構成することができる。繰り返しを避けるために、ここでは繰り返しない。
本開示の実施例が提供するクライアントのスマートコントラクトアプリケーションを開発するための方法は、ターゲットスマートコントラクトのインターフェースのプロトコルを取得し、ここで、ターゲットスマートコントラクトのインターフェースのプロトコルは、ターゲットスマートコントラクトのインターフェースを定義するために使用され、次いでターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシを生成し、ここで、スマートコントラクトのクライアントインターフェースは、ターゲットスマートコントラクトのインターフェースを定義するために使用されるクライアントの定義情報であり、スマートコントラクトのクライアントプロキシは、スマートコントラクトのクライアントインターフェースを実装するために使用され、スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシは、クライアントのスマートコントラクトアプリケーションを構築するために使用され、それによりスマートコントラクトのクライアントインターフェースに基づいて、インターフェース指向のクライアントのスマートコントラクトアプリケーションの開発を実現することができ、これは、クライアントのスマートコントラクトアプリケーションの開発のプロセスを簡素化し、維持しやすいクライアントのスマートコントラクトアプリケーションを取得するのに寄与する。
図5をさらに参照すると、図5は、サーバーのスマートコントラクトを開発するための方法の一実施例のプロセス500を示している。サーバーのスマートコントラクトを開発するためのこの方法のプロセス500は、以下のステップ501とステップ502を含む。
ステップ501:プロトコル取得モジュールが送信したターゲットスマートコントラクトのインターフェースのプロトコルを取得する。
この実施例では、サーバーのスマートコントラクトを開発するための方法の実行主体(例えば、図1に示されるサーバー開発モジュール104)は、有線接続方法又は無線接続方法により、プロトコル取得モジュールが送信したターゲットスマートコントラクトのインターフェースのプロトコルを取得することができる。ここで、ターゲットスマートコントラクトのインターフェースのプロトコルは、ターゲットスマートコントラクトのインターフェースを定義するために使用される。ターゲットスマートコントラクトのインターフェースは、開発されるスマートコントラクトのインターフェースであってもよく、開発されるスマートコントラクトとターゲットブロックチェーン内のノードとの間の相互作用を実現するために使用される。ターゲットブロックチェーンは、開発されるスマートコントラクトが属するブロックチェーンであってもよい。
ステップ502:ターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、スマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンを生成する。
この実施例では、ステップ501で得られたターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、上記実行主体は、スマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンを生成することができる。ここで、スマートコントラクトのサーバーインターフェースは、ターゲットスマートコントラクトのインターフェースを定義するために使用されるサーバーの定義情報であってもよい。具体的には、サーバーの定義情報は、サーバーによってサポートされるプログラミング言語でターゲットスマートコントラクトのインターフェースを定義する情報を含み得る。スマートコントラクトのサーバースケルトンは、スマートコントラクトのクライアントインターフェースとスマートコントラクトのサーバーインターフェースとの間の接続を確立するために使用され得、具体的には、スマートコントラクトのクライアントインターフェースを介して送信されたスマートコントラクト要求からスマートコントラクトのサーバーインターフェースへのルーティングと適応を提供するために使用され得る。スマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンは、サーバーのスマートコントラクトを構築するために使用され得る。
この実施例のいくつかのオプションの実装形態では、サーバーの定義情報は、ターゲットスマートコントラクトのインターフェースとターゲットブロックチェーンとの間の関連関係を特徴付けるために使用される情報をさらに含み得る。
実際には、生成されたスマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンに基づいて、開発者は、サーバーのスマートコントラクトを構築することができる。
なお、図5に対応する実施例における実行主体は、スマートコントラクトを開発するための上記システムにおけるサーバー開発モジュールと同じ特徴を有しうる。したがって、図5に対応する実施例は、スマートコントラクトを開発するための上記システムにおけるサーバー開発モジュールが有する特徴と組み合わせて、新しい技術的解決手段を構成することができる。繰り返しを避けるために、ここでは繰り返しない。
本開示の実施例が提供するサーバーのスマートコントラクトを開発するための方法は、ターゲットスマートコントラクトのインターフェースのプロトコルを取得し、ここで、ターゲットスマートコントラクトのインターフェースのプロトコルは、ターゲットスマートコントラクトのインターフェースを定義するために使用され、次いで、ターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、スマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンを生成し、ここで、スマートコントラクトのサーバーインターフェースは、ターゲットスマートコントラクトのインターフェースを定義するために使用されるサーバーの定義情報であり、スマートコントラクトのサーバースケルトンは、スマートコントラクトのクライアントインターフェースとスマートコントラクトのサーバーインターフェースとの間の接続を確立するために使用され、スマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンは、サーバーのスマートコントラクトを構築するために使用され、それによりスマートコントラクトのサーバーインターフェースに基づいて、インターフェース指向のサーバーのスマートコントラクトの開発を実現することができ、これは、サーバーのスマートコントラクトアプリケーションの開発のプロセスを簡素化し、維持しやすいサーバーのスマートコントラクトアプリケーションを取得するのに寄与する。
図6をさらに参照すると、上記の各図に示される方法の実施として、本開示は、クライアントのスマートコントラクトアプリケーションを開発するための装置の一実施例を提供し、この装置の実施例は、図4に示される方法の実施例に対応し、この装置は、様々な電子装置に特に適用することができる。
図6に示すように、この実施例におけるクライアントのスマートコントラクトアプリケーションを開発するための装置600は、第1取得ユニット601及び第1生成ユニット602を含む。ここで、第1取得ユニット601は、プロトコル取得モジュールが送信したターゲットスマートコントラクトのインターフェースのプロトコルを取得するように構成されており、ここで、ターゲットスマートコントラクトのインターフェースのプロトコルは、ターゲットスマートコントラクトのインターフェースを定義するために使用され、第1生成ユニット602は、ターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシを生成するように構成されており、ここで、スマートコントラクトのクライアントインターフェースは、ターゲットスマートコントラクトのインターフェースを定義するために使用されるクライアントの定義情報であり、スマートコントラクトのクライアントプロキシは、スマートコントラクトのクライアントインターフェースを実装するために使用され、スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシは、クライアントのスマートコントラクトアプリケーションを構築するために使用される。
この実施例では、第1取得ユニット601は、有線接続方法又は無線接続方法により、プロトコル取得モジュール(例えば、図1に示されるプロトコル取得モジュール101)が送信したターゲットスマートコントラクトのインターフェースのプロトコルを取得することができる。ここで、ターゲットスマートコントラクトのインターフェースのプロトコルは、ターゲットスマートコントラクトのインターフェースを定義するために使用される。ターゲットスマートコントラクトのインターフェースは、開発されるスマートコントラクトのインターフェースであってもよく、開発されるスマートコントラクトとターゲットブロックチェーン内のノードとの間の相互作用を実現するために使用される。ターゲットブロックチェーンは、開発されるスマートコントラクトが属するブロックチェーンであってもよい。
この実施例では、第1取得ユニット601が取得したターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、第1生成ユニット602は、スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシを生成することができる。ここで、スマートコントラクトのクライアントインターフェースは、ターゲットスマートコントラクトのインターフェースを定義するために使用されるクライアントの定義情報であってもよい。具体的には、クライアントの定義情報は、クライアントによってサポートされるプログラミング言語でターゲットスマートコントラクトのインターフェースを定義する情報を含み得る。スマートコントラクトのクライアントプロキシは、スマートコントラクトのクライアントインターフェースを実装するために使用され得る。スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシは、クライアントのスマートコントラクトアプリケーションを構築するために使用され得る。
実際には、生成されたスマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシに基づいて、開発者は、クライアントのスマートコントラクトアプリケーションを構築することができる。
この実施例のいくつかのオプションの実装形態では、クライアントの定義情報は、ターゲットスマートコントラクトのインターフェースとターゲットブロックチェーンとの間の関連関係を特徴付けるために使用される情報をさらに含み得る。
この装置600に記載される各ユニットは、図4を参照して説明した方法の各ステップに対応することが理解され得る。したがって、上記方法について説明した操作、特徴及び生成された有益な効果は、装置600及びそれに含まれるユニットにも適用可能であり、ここでは繰り返しない。
本開示の上記実施例が提供する装置600は、スマートコントラクトのクライアントインターフェースに基づいて、インターフェース指向のクライアントのスマートコントラクトアプリケーションの開発を実現することができ、これは、クライアントのスマートコントラクトアプリケーションの開発のプロセスを簡素化し、維持しやすいクライアントのスマートコントラクトアプリケーションを取得するのに寄与する。
図7をさらに参照すると、上記の各図に示される方法の実施として、本開示は、サーバーのスマートコントラクトを開発するための装置の一実施例を提供し、この装置の実施例は、図5に示される方法の実施例に対応し、この装置は、様々な電子装置に特に適用することができる。
図7に示すように、この実施例のサーバーのスマートコントラクトを開発するための装置700は、第2取得ユニット701及び第2生成ユニット702を含む。ここで、第2取得ユニット701は、プロトコル取得モジュールが送信したターゲットスマートコントラクトのインターフェースのプロトコルを取得するように構成されており、ここで、ターゲットスマートコントラクトのインターフェースのプロトコルは、ターゲットスマートコントラクトのインターフェースを定義するために使用され、第2生成ユニット702は、ターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、スマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンを生成するように構成されており、ここで、スマートコントラクトのサーバーインターフェースは、ターゲットスマートコントラクトのインターフェースを定義するために使用されるサーバーの定義情報であり、スマートコントラクトのサーバースケルトンは、スマートコントラクトのクライアントインターフェースとスマートコントラクトのサーバーインターフェースとの間の接続を確立するために使用され、スマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンは、サーバーのスマートコントラクトを構築するために使用される。
この実施例では、第2取得ユニット701は、有線接続方法又は無線接続方法により、プロトコル取得モジュールが送信したターゲットスマートコントラクトのインターフェースのプロトコルを取得することができる。ここで、ターゲットスマートコントラクトのインターフェースのプロトコルは、ターゲットスマートコントラクトのインターフェースを定義するために使用される。ターゲットスマートコントラクトのインターフェースは、開発されるスマートコントラクトのインターフェースであってもよく、開発されるスマートコントラクトとターゲットブロックチェーン内のノードとの間の相互作用を実現するために使用される。ターゲットブロックチェーンは、開発されるスマートコントラクトが属するブロックチェーンであってもよい。
この実施例では、第2取得ユニット701が取得したターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、第2生成ユニット702は、スマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンを生成することができる。ここで、スマートコントラクトのサーバーインターフェースは、ターゲットスマートコントラクトのインターフェースを定義するために使用されるサーバーの定義情報であってもよい。具体的には、サーバーの定義情報は、サーバーによってサポートされるプログラミング言語でターゲットスマートコントラクトのインターフェースを定義する情報を含み得る。スマートコントラクトのサーバースケルトンは、スマートコントラクトのクライアントインターフェースとスマートコントラクトのサーバーインターフェースとの間の接続を確立するために使用され得、具体的には、スマートコントラクトのクライアントインターフェースを介して送信されたスマートコントラクト要求からスマートコントラクトのサーバーインターフェースへのルーティングと適応を提供するために使用され得る。スマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンは、サーバーのスマートコントラクトを構築するために使用され得る。
実際には、生成されたスマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンに基づいて、開発者は、サーバーのスマートコントラクトを構築することができる。
この実施例のいくつかのオプションの実装形態では、サーバーの定義情報は、ターゲットスマートコントラクトのインターフェースとターゲットブロックチェーンとの間の関連関係を特徴付けるために使用される情報をさらに含み得る。
この装置700に記載される各ユニットは、図5を参照して説明した方法の各ステップに対応することが理解され得る。したがって、上記方法について説明した操作、特徴及び生成された有益な効果は、装置700及びそれに含まれるユニットにも適用可能であり、ここでは繰り返しない。
本開示の上記実施例が提供する装置700は、スマートコントラクトのサーバーインターフェースに基づいて、インターフェース指向のサーバーのスマートコントラクトの開発を実現することができ、これは、サーバーのスマートコントラクトアプリケーションの開発のプロセスを簡素化し、維持しやすいサーバーのスマートコントラクトアプリケーションを取得するのに寄与する。
図8を参照すると、図8は、本開示の実施例を実施するのに適した電子装置(例えば、図1のクライアント開発モジュール103又はサーバー開発モジュール104)800の概略構造図を示している。図8に示されている電子装置は、単なる一例であり、本開示の実施例の機能及び使用範囲に任意の制限をもたらすべきではない。
図8に示すように、電子装置800は、処理装置(例えば、セントラルプロセッサ、グラフィックプロセッサなど)801を含み得、それは、読み取り専用メモリ(ROM)802に記憶されたプログラム又は記憶装置808からランダムアクセスメモリ(RAM)803にロードされたプログラムに従って、様々な適切なアクションと処理を実行することができる。RAM803には、電子装置800の操作に必要な様々なプログラム及びデータも記憶される。処理装置801、ROM802及びRAM803は、バス804を介して互いに接続される。入出力(I/O)インターフェース805もバス804に接続される。
一般に、以下の装置は、I/Oインターフェース805に接続され得る。キーボード、マウス、カメラ、マイクロフォン、加速度計、及びジャイロスコープなどを含む入力装置806、液晶ディスプレイ(LCD)、スピーカー、及びバイブレーターなどを含む出力装置807、テープやハードディスクなどを含む記憶装置808、及び通信装置809。通信装置809は、電子装置800が他の装置と無線又は有線通信を実行してデータを交換することを可能にし得る。図8は、様々な装置を有する電子装置800を示しているが、示されているすべての装置を実装又は備える必要はないことが理解されるべきである。代わりに多かれ少なかれ装置を実装又は備えることができる。
特に、本開示の実施例によれば、フローチャートを参照して上記で説明したプロセスは、コンピュータソフトウェアプログラムとして実現され得る。例えば、本開示の実施例は、コンピュータプログラム製品を含み、それは、コンピュータ可読媒体に搭載されたコンピュータプログラムを含み、このコンピュータプログラムは、フローチャートに示される方法を実行するためのプログラムコードを含む。そのような実施例では、このコンピュータプログラムは、通信装置809を介してネットワークからダウンロード及びインストールされ得るか、又は記憶装置808からインストールされ得るか、又はROM 802からインストールされ得る。このコンピュータプログラムが処理装置801により実行されると、本開示の実施例の方法で定義された上記機能が実行される。
なお、本開示に記載されるコンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体、あるいは2つの任意の組み合わせであってもよい。コンピュータ可読記憶媒体は、例えば、電気、磁気、光学、電磁、赤外線、又は半導体のシステム、装置又はデバイス、又は上記の任意の組み合わせであってもよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例は、1つ又は複数のワイヤーを有する電気接続、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROM又はフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスク読み出し専用メモリ(CD-ROM)、光記憶装置、磁気記憶装置、又は上記の任意の適切な組み合わせを含み得るが、これらに限定されない。本開示では、コンピュータ可読記憶媒体は、プログラムを含む又は記憶する任意の有形媒体であってもよく、このプログラムは、命令実行システム、装置又はデバイスに使用されるか、又はそれらと組み合わせて使用され得る。本開示では、コンピュータ可読信号媒体は、ベースバンド内で、又は搬送波の一部として伝播されるデータ信号を含み得、これには、コンピュータで読み取り可能なプログラムコードが運ばれる。この伝播されたデータ信号は、電磁信号、光信号又は上記の任意の適切な組み合わせを含むがこれらに限定されない、多くの形態をとることができる。コンピュータ可読信号媒体はまた、コンピュータ可読記憶媒体以外の任意のコンピュータ可読媒体であってもよく、このコンピュータ可読信号媒体は、命令実行システム、装置又はデバイスによって使用されるか、又はそれらと組み合わせて使用されるプログラムを送信、伝播又は伝送することができる。コンピュータ可読媒体に含まれるプログラムコードは、ワイヤー、光ケーブル、RF(無線周波数)など、又は上記の任意の適切な組み合わせを含むがこれらに限定されない、任意の適切な媒体で伝送することができる。
上記コンピュータ可読媒体は、上記電子装置に含まれてもよく、この電子装置に組み立てられずに単独で存在していてもよい。上記コンピュータ可読媒体には、1つ又は複数のプログラムが搭載され、上記1つ又は複数のプログラムがこの電子装置によって実行されると、この電子装置は、プロトコル取得モジュールが送信したターゲットスマートコントラクトのインターフェースのプロトコルを取得し、ここで、ターゲットスマートコントラクトのインターフェースのプロトコルは、ターゲットスマートコントラクトのインターフェースを定義するために使用され、ターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシを生成し、ここで、スマートコントラクトのクライアントインターフェースは、ターゲットスマートコントラクトのインターフェースを定義するために使用されるクライアントの定義情報であり、スマートコントラクトのクライアントプロキシは、スマートコントラクトのクライアントインターフェースを実装するために使用され、スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシは、クライアントのスマートコントラクトアプリケーションを構築するために使用される。
又は、上記1つ又は複数のプログラムがこの電子装置によって実行されると、この電子装置は、プロトコル取得モジュールが送信したターゲットスマートコントラクトのインターフェースのプロトコルを取得し、ここで、ターゲットスマートコントラクトのインターフェースのプロトコルは、ターゲットスマートコントラクトのインターフェースを定義するために使用され、ターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、スマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンを生成し、ここで、スマートコントラクトのサーバーインターフェースは、ターゲットスマートコントラクトのインターフェースを定義するために使用されるサーバーの定義情報であり、スマートコントラクトのサーバースケルトンは、スマートコントラクトのクライアントインターフェースとスマートコントラクトのサーバーインターフェースとの間の接続を確立するために使用され、スマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンは、サーバーのスマートコントラクトを構築するために使用される。
本開示の操作を実行するために使用されるコンピュータプログラムコードは、1つ又は複数のプログラミング言語又はそれらの組み合わせで書くことができ、前記プログラミング言語は、Java、Smalltalk、及びC++などのオブジェクト指向のプログラミング言語を含み、「C」言語や同様のプログラミング言語など、従来の手続き型プログラミング言語をさらに含む。プログラムコードは、ユーザーのコンピュータで完全に実行され得るか、一部がユーザーのコンピュータで実行され得るか、独立したソフトウェアパッケージとして実行され得るか、一部がユーザーのコンピュータで実行されて一部がリモートコンピュータで実行され得るか、又はリモートコンピュータ又はサーバーで完全に実行され得る。リモートコンピュータの場合、リモートコンピュータは、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む、あらゆる種類のネットワークを介してユーザーのコンピュータに接続され得るか、又は、外部コンピュータに接続され得る(例えば、インターネットサービスプロバイダーを使用してインターネット経由で接続される)。
図面のフローチャート及びブロック図は、本開示の様々な実施例による、システム、方法及びコンピュータプログラム製品の実現可能なアーキテクチャ、機能及び操作を示している。この点に関して、フローチャート又はブロック図の各ブロックは、1つのモジュール、プログラムセグメント、又はコードの一部を表すことができ、このモジュール、プログラムセグメント、又はコードの一部は、指定された論理機能を実現するための1つ又は複数の実行可能な命令を含む。いくつかの代替としての実装では、ブロックにマークされた機能は、図面にマークされた順序とは異なる順序で発生することもできることにも注意する必要がある。例えば、連続的に表される2つのブロックは、実際には、実質的に並行して実行され得、それらは、関係する機能によって、逆の順序で実行され得る場合がある。ブロック図及び/又はフローチャートの各ブロック、及びブロック図及び/又はフローチャートのブロックの組み合わせは、指定された機能又は操作を実行する専用のハードウェアベースのシステムによって実現され得るか、又は専用のハードウェアとコンピュータの命令の組み合わせによって実現され得ることにも注意する必要がある。
本開示で説明される実施例に含まれるユニットは、ソフトウェアで実装され得るか、ハードウェアで実装され得る。ここで、ユニットの名は、特定の状況下でのこのユニット自体の制限を構成するものではない。例えば、第1取得ユニットは、「ターゲットスマートコントラクトのインターフェースのプロトコルを取得するためのユニット」とさらに記述され得る。
以上の説明は、本開示の好ましい実施例及び適用される技術原理の説明にすぎない。当業者であれば、本開示に含まれる開示の範囲は、上記技術的特徴の特定の組み合わせによって形成される技術的解決手段に限定されず、上記開示の構想から逸脱することなく、上記技術的特徴又はそれらの同等の特徴の任意の組み合わせよって形成される、上記特徴と本開示で開示された(ただし、これらに限定されない)同様の機能を有する技術的特徴を互いに置き換えることで形成される技術的解決手段など、他の技術的解決手段もカバーすべきであることを理解する必要がある。

Claims (12)

  1. プロトコル取得モジュールであって、前記プロトコル取得モジュールは、ターゲットスマートコントラクトのインターフェースのプロトコルを取得するように構成されており、ここで、ターゲットスマートコントラクトのインターフェースのプロトコルは、ターゲットスマートコントラクトのインターフェースを定義するために使用されるプロトコル取得モジュールと、
    クライアント開発モジュールであって、前記クライアント開発モジュールは、前記ターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシを生成するように構成されており、ここで、スマートコントラクトのクライアントインターフェースは、前記ターゲットスマートコントラクトのインターフェースを定義するために使用されるクライアントの定義情報であり、スマートコントラクトのクライアントプロキシは、スマートコントラクトのクライアントインターフェースを実装するために使用され、スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシは、クライアントのスマートコントラクトアプリケーションを構築するために使用されるクライアント開発モジュールと、
    サーバー開発モジュールであって、前記サーバー開発モジュールは、前記ターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、スマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンを生成するように構成されており、ここで、スマートコントラクトのサーバーインターフェースは、前記ターゲットスマートコントラクトのインターフェースを定義するために使用されるサーバーの定義情報であり、スマートコントラクトのサーバースケルトンは、スマートコントラクトのクライアントインターフェースとスマートコントラクトのサーバーインターフェースとの間の接続を確立するために使用され、スマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンは、サーバーのスマートコントラクトを構築するために使用されるサーバー開発モジュールと、を含むスマートコントラクトを開発するためのシステム。
  2. 前記プロトコル取得モジュールは、あらかじめ決定されたスマートコントラクトのインターフェースのプロトコルテンプレートを使用して、ターゲットスマートコントラクトインターフェースのターゲットスマートコントラクトインターフェースプロトコルを取得するようにさらに構成されている請求項1に記載のシステム。
  3. 前記クライアントの定義情報及び前記サーバーの定義情報は、前記ターゲットスマートコントラクトのインターフェースとターゲットブロックチェーンとの間の関連関係を特徴付けるために使用される情報を含む請求項1に記載のシステム。
  4. テストモジュールであって、前記テストモジュールは、ターゲットテストケースを使用して、構築されたクライアントのスマートコントラクトアプリケーション及びサーバーのスマートコントラクトをテストするように構成されており、ここで、前記ターゲットテストケースは、前記スマートコントラクトのクライアントインターフェース及び前記スマートコントラクトのクライアントプロキシに基づいて生成されるテストモジュールをさらに含む請求項1~3のいずれか1項に記載のシステム。
  5. クライアント開発モジュールによって実行されるクライアントのスマートコントラクトアプリケーションを開発するための方法であって、
    プロトコル取得モジュールが送信したターゲットスマートコントラクトのインターフェースのプロトコルを取得し、ここで、ターゲットスマートコントラクトのインターフェースのプロトコルは、ターゲットスマートコントラクトのインターフェースを定義するために使用されるステップと、
    前記ターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシを生成し、ここで、スマートコントラクトのクライアントインターフェースは、前記ターゲットスマートコントラクトのインターフェースを定義するために使用されるクライアントの定義情報であり、スマートコントラクトのクライアントプロキシは、スマートコントラクトのクライアントインターフェースを実装するために使用され、スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシは、クライアントのスマートコントラクトアプリケーションを構築するために使用されるステップと、を含むクライアントのスマートコントラクトアプリケーションを開発するための方法。
  6. 前記クライアントの定義情報は、前記ターゲットスマートコントラクトのインターフェースとターゲットブロックチェーンとの間の関連関係を特徴付けるために使用される情報を含む請求項5に記載の方法。
  7. サーバー開発モジュールによって実行されるサーバーのスマートコントラクトを開発するための方法であって、
    プロトコル取得モジュールが送信したターゲットスマートコントラクトのインターフェースのプロトコルを取得し、ここで、ターゲットスマートコントラクトのインターフェースのプロトコルは、ターゲットスマートコントラクトのインターフェースを定義するために使用されるステップと、
    前記ターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、スマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンを生成し、ここで、スマートコントラクトのサーバーインターフェースは、前記ターゲットスマートコントラクトのインターフェースを定義するために使用されるサーバーの定義情報であり、スマートコントラクトのサーバースケルトンは、スマートコントラクトのクライアントインターフェースとスマートコントラクトのサーバーインターフェースとの間の接続を確立するために使用され、スマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンは、サーバーのスマートコントラクトを構築するために使用されるステップと、を含むサーバーのスマートコントラクトを開発するための方法。
  8. 前記サーバーの定義情報は、前記ターゲットスマートコントラクトのインターフェースとターゲットブロックチェーンとの間の関連関係を特徴付けるために使用される情報を含む請求項7に記載の方法。
  9. 第1取得ユニットであって、前記第1取得ユニットは、プロトコル取得モジュールが送信したターゲットスマートコントラクトのインターフェースのプロトコルを取得するように構成されており、ここで、ターゲットスマートコントラクトのインターフェースのプロトコルは、ターゲットスマートコントラクトのインターフェースを定義するために使用される第1取得ユニットと、
    第1生成ユニットであって、前記第1生成ユニットは、前記ターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシを生成するように構成されており、ここで、スマートコントラクトのクライアントインターフェースは、前記ターゲットスマートコントラクトのインターフェースを定義するために使用されるクライアントの定義情報であり、スマートコントラクトのクライアントプロキシは、スマートコントラクトのクライアントインターフェースを実装するために使用され、スマートコントラクトのクライアントインターフェースとスマートコントラクトのクライアントプロキシは、クライアントのスマートコントラクトアプリケーションを構築するために使用される第1生成ユニットと、を含むクライアントのスマートコントラクトアプリケーションを開発するための装置。
  10. 第2取得ユニットであって、前記第2取得ユニットは、プロトコル取得モジュールが送信したターゲットスマートコントラクトのインターフェースのプロトコルを取得するように構成されており、ここで、ターゲットスマートコントラクトのインターフェースのプロトコルは、ターゲットスマートコントラクトのインターフェースを定義するために使用される第2取得ユニットと、
    第2生成ユニットであって、前記第2生成ユニットは、前記ターゲットスマートコントラクトのインターフェースのプロトコルに基づいて、スマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンを生成するように構成されており、ここで、スマートコントラクトのサーバーインターフェースは、前記ターゲットスマートコントラクトのインターフェースを定義するために使用されるサーバーの定義情報であり、スマートコントラクトのサーバースケルトンは、スマートコントラクトのクライアントインターフェースとスマートコントラクトのサーバーインターフェースとの間の接続を確立するために使用され、スマートコントラクトのサーバーインターフェースとスマートコントラクトのサーバースケルトンは、サーバーのスマートコントラクトを構築するために使用される第2生成ユニットと、を含むサーバーのスマートコントラクトを開発するための装置。
  11. 1つ又は複数のプロセッサと、
    1つ又は複数のプログラムが記憶される記憶装置と、を含み、
    前記1つ又は複数のプログラムが前記1つ又は複数のプロセッサによって実行されるとき、前記1つ又は複数のプロセッサは、請求項5~8のいずれか1項に記載の方法を実現する電子装置。
  12. コンピュータプログラムが記憶されるコンピュータ可読記憶媒体であって、このプログラムがプロセッサによって実行されるとき、請求項5~8のいずれか1項に記載の方法を実現するコンピュータ可読記憶媒体。
JP2022503963A 2019-09-04 2020-04-01 スマートコントラクトを開発するためのシステム、方法及び装置 Active JP7298008B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201910832970.0A CN110532115B (zh) 2019-09-04 2019-09-04 用于开发智能合约的系统、方法和装置
CN201910832970.0 2019-09-04
PCT/CN2020/082672 WO2021042715A1 (zh) 2019-09-04 2020-04-01 用于开发智能合约的系统、方法和装置

Publications (2)

Publication Number Publication Date
JP2022541805A JP2022541805A (ja) 2022-09-27
JP7298008B2 true JP7298008B2 (ja) 2023-06-26

Family

ID=68666870

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022503963A Active JP7298008B2 (ja) 2019-09-04 2020-04-01 スマートコントラクトを開発するためのシステム、方法及び装置

Country Status (5)

Country Link
US (1) US20220278860A1 (ja)
EP (1) EP4027242A4 (ja)
JP (1) JP7298008B2 (ja)
CN (1) CN110532115B (ja)
WO (1) WO2021042715A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110532115B (zh) * 2019-09-04 2021-03-05 北京海益同展信息科技有限公司 用于开发智能合约的系统、方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000181716A (ja) 1998-12-16 2000-06-30 Fujitsu Ltd 分散オブジェクトにおけるメソッド実行最適化方式
US20050278693A1 (en) 2004-06-15 2005-12-15 Brunell Edward G Distribution adaptor for network management application development
US20190102423A1 (en) 2017-09-29 2019-04-04 Oracle International Corporation System and method for providing an interface for a blockchain cloud service

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150379510A1 (en) * 2012-07-10 2015-12-31 Stanley Benjamin Smith Method and system to use a block chain infrastructure and Smart Contracts to monetize data transactions involving changes to data included into a data supply chain.
US10402792B2 (en) * 2015-08-13 2019-09-03 The Toronto-Dominion Bank Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers
US10022613B2 (en) * 2016-05-02 2018-07-17 Bao Tran Smart device
AU2018354949B2 (en) * 2017-10-24 2022-03-10 Tata Consultancy Services Limited System and method for generating a blockchain application for different blockchain technologies
CN107943950B (zh) * 2017-11-24 2020-07-10 中钞信用卡产业发展有限公司杭州区块链技术研究院 一种区块链中数据智能合约生成的方法及系统
US10476847B1 (en) * 2017-12-08 2019-11-12 Symbiont.Io, Inc. Systems, methods, and devices for implementing a smart contract on a distributed ledger technology platform
CN108052321B (zh) * 2017-12-28 2020-12-25 杭州趣链科技有限公司 一种基于配置信息自动生成区块链智能合约的方法
CN109981546B (zh) * 2017-12-28 2021-08-20 北京京东尚科信息技术有限公司 获取应用模块间的远程调用关系的方法和装置
CN108846745B (zh) * 2018-04-19 2022-06-07 深圳市迅雷网络技术有限公司 区块链交易处理辅助系统、区块链数据处理系统及方法
CN108763058A (zh) * 2018-04-24 2018-11-06 苏州同济区块链研究院有限公司 一种区块链测评系统
US11169985B2 (en) * 2018-07-27 2021-11-09 Oracle International Corporation System and method for supporting SQL-based rich queries in hyperledger fabric blockchains
US11182379B2 (en) * 2018-08-24 2021-11-23 Oracle International Corporation DAG based methods and systems of transaction processing in a distributed ledger
CN109614093B (zh) * 2018-11-01 2022-02-22 播金信息科技(上海)有限公司 可视化智能合约系统以及智能合约的处理方法
CN109542421B (zh) * 2018-11-12 2021-09-07 夸克链科技(深圳)有限公司 一种模块化区块链智能合约
CN109615518A (zh) * 2018-12-11 2019-04-12 北京瑞卓喜投科技发展有限公司 一种智能合约系统的构建方法和智能合约系统
CN109683867A (zh) * 2018-12-27 2019-04-26 石更箭数据科技(上海)有限公司 一种对接区块链的方法及其装置、介质、终端
CN109683869A (zh) * 2018-12-29 2019-04-26 北京阿斯特时代科技有限公司 Dapp的开发方法和装置
EP3610630B1 (en) * 2019-03-04 2021-03-03 Advanced New Technologies Co., Ltd. Software interface for smart contracts
CN110532115B (zh) * 2019-09-04 2021-03-05 北京海益同展信息科技有限公司 用于开发智能合约的系统、方法和装置
US11822538B2 (en) * 2020-11-05 2023-11-21 Oracle International Corporation Systems and methods of transaction identification generation for transaction-based environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000181716A (ja) 1998-12-16 2000-06-30 Fujitsu Ltd 分散オブジェクトにおけるメソッド実行最適化方式
US20050278693A1 (en) 2004-06-15 2005-12-15 Brunell Edward G Distribution adaptor for network management application development
US20190102423A1 (en) 2017-09-29 2019-04-04 Oracle International Corporation System and method for providing an interface for a blockchain cloud service

Also Published As

Publication number Publication date
EP4027242A4 (en) 2023-09-20
CN110532115B (zh) 2021-03-05
WO2021042715A1 (zh) 2021-03-11
JP2022541805A (ja) 2022-09-27
CN110532115A (zh) 2019-12-03
EP4027242A1 (en) 2022-07-13
US20220278860A1 (en) 2022-09-01

Similar Documents

Publication Publication Date Title
US11966791B2 (en) Systems and methods for developing a web application using micro frontends
WO2021012794A1 (zh) 基于云服务的区块链构建方法、装置、介质及电子设备
US10621124B2 (en) Method, device and computer program product for enabling SR-IOV functions in endpoint device
US20080127206A1 (en) Conducting client-server inter-process communication
JP7553582B2 (ja) 画像特殊効果の処理方法及び装置
CN111309304B (zh) 一种生成idl文件的方法、装置、介质和电子设备
CN113505520A (zh) 用于支持异构联邦学习的方法、装置和系统
WO2023173954A1 (zh) 数据获取方法、装置、存储介质以及电子设备
CN111857658A (zh) 一种渲染动态组件的方法、装置、介质和电子设备
CN113821352A (zh) 一种远程服务的调用方法和装置
JP2022541929A (ja) スマートコントラクトを発行するための方法及び装置
CN107332854B (zh) 一种报文序列化协商方法及服务提供设备
JP7298008B2 (ja) スマートコントラクトを開発するためのシステム、方法及び装置
WO2023056841A1 (zh) 一种数据服务方法、装置及相关产品
KR20220167217A (ko) 블록체인 시스템의 가동 방법, 장치, 설비 및 저장 매체
CN114615521B (zh) 视频处理方法和装置、计算机可读存储介质、电子设备
CN115022328A (zh) 服务器集群以及服务器集群的测试方法、装置和电子设备
EP4142297A1 (en) Method, apparatus and device for configuring video special effect, and storage medium
CN109005250A (zh) 用于访问服务端的方法和装置
Kelkile Optimizing Telemedicine Framework Using Fog Computing For Smart Healthcare Systems
CN112929453A (zh) 一种共享session数据的方法和装置
WO2024193483A1 (zh) 系统中传输数据的方法、装置及电子设备
CN113626160B (zh) 一种基于cavium处理器的网络数据包高并发处理方法与系统
Quant An Engineer's Journey into Network Function Virtualization & 5G Research
KR100675067B1 (ko) 컴포넌트 속성 동기화 시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230502

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230522

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230614

R150 Certificate of patent or registration of utility model

Ref document number: 7298008

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150