メインコンテンツへスキップ

このページの翻訳を行う

🌏

このページの新しいバージョンがありますが、現在は英語のみです。最新バージョンの翻訳にご協力ください。

ページを翻訳する
英語を見る

ここにバグはありません!🐛

このページは翻訳されていないため、このページは英語で表示されています。

このページは不完全なので、皆さまのご協力をお願いします。このページを編集して、他の人に役に立つものは、何でも追加してください。

スマートコントラクトの構成可能性

最終編集者: , Invalid DateTime
ページ編集

簡単な紹介

スマートコントラクトはイーサリアム上で公開されており、オープン API と考えることができます。 Dapp デベロッパーになるために、独自のスマートコントラクトを書く必要はありません。スマートコントラクトとやり取りする方法を理解するだけで済みます。 例えば、アプリ内のすべてのトークンスワップロジックを処理するために、分散型取引所であるUniswapの既存のスマートコントラクトを使用できます。ゼロから始める必要はありません。 v2v3のコントラクトをいくつか確認してみてください。

構成可能性とは

構成可能性とは、新しいシステムや出力を作成するために、別個のコンポーネントを組み合わせることです。 ソフトウェア開発では、構成可能性とは、既存のソフトウェアコンポーネントを再利用して新しいアプリケーションを構築できることを意味します。 構成可能性を理解するには、レゴブロックのような構成可能な要素として考えると良いでしょう。 各々のレゴは別のレゴと組み合わせることができ、異なるレゴを組み合わせることで複雑な構造を構築できます。

イーサリアムでは、すべてのスマートコントラクトはレゴのようなものです。他のプロジェクトのスマートコントラクトをプロジェクトの構成要素であるビルディングブロックとして使用できます。 これは、一からのやり直しやゼロからの構築に時間を費やす必要がないことを意味します。

構成可能性の仕組み

イーサリアムのスマートコントラクトはパブリック API のようなものなので、誰でもコントラクトとやり取りしたり、それらを Dapp に統合して機能を追加したりすることができます。 スマートコントラクトの構成は一般的に、モジュール性、自律性、発見性の 3 つの原則に基づいています。

1. モジュール性: 個々のコンポーネントが特定のタスクを実行する能力です。 イーサリアムでは、すべてのスマートコントラクトに特定のユースケースがあります(Uniswap の例に見ることができます)。

2. 自律性: 構成可能なコンポーネントには、独立して動作できることが求められます。 イーサリアムの各スマートコントラクトは自己実行形式であり、システムの他の部分に依存することなく機能することができます。

3. 発見性: 公開されていない外部コントラクトを呼び出したり、公開されていないソフトウェアライブラリをアプリケーションに統合したりすることはできません。 設計上、スマートコントラクトはオープンソースであり、誰でもスマートコントラクトを呼び出したり、コードベースをフォークしたりすることができます。

構成可能性のメリット

開発サイクルの短縮

構成可能性は、Dappを作成する際にデベロッパーが行うべき作業を減らします。 Naval Ravikant 氏が言うように、「オープンソースは、すべての問題を一度だけ解決すればよいということを意味する」ということです。

一つの問題を解決するスマートコントラクトがある場合、他のデベロッパーはそれを再利用できるため、同じ問題を解決する必要はありません。 このようにして、デベロッパーは既存のソフトウェアライブラリを利用し、更なる機能を追加して新しい Dapp を作成することができます。

イノベーションの加速

構成可能性があると、デベロッパーが自由にオープンソースコードを再利用、修正、複製、または統合して望ましい結果を生み出せるため、イノベーションや検証作業が促進されます。 その結果、開発チームは基本的な機能に時間を費やすことが少なくなり、新機能の検証作業に多くの時間を費やすことができます。

ユーザーエクスペリエンスの向上

イーサリアムエコシステムのコンポーネント間の相互運用性は、ユーザーエクスペリエンスを向上させます。 アプリケーション間で通信できない分断されたエコシステムよりも、外部のスマートコントラクトを統合している Dapp の方が、ユーザーに高い機能性を提供できます。

ここでは、裁定取引の例を使用して、相互運用性のメリットを説明します。

トークンが取引所A取引所Bよりも高く取引されている場合、この価格差を利用して利益を上げることができます。 ただし、それができるのは、トランザクション(つまり、取引所Bからトークンを購入し、取引所Aでそれを売却すること)に資金を提供するだけの十分な資金がある場合に限ります。

取引を行うのに十分な資金を持っていないシナリオでは、フラッシュローンが理想的かもしれません。 フラッシュローンは非常に専門的ですが、基本的な考え方は、一つのトランザクション内で(担保なしに)資産を借りて同じだけ返すということです。

当初の例に戻りましょう。制定取引業者は多額のフラッシュローンを利用して取引所Bからトークンを購入し、それらを取引所Aに売却し、資金と利息の払い戻しを受け、利益を確保するまでを同一のトランザクションの中で行うことができます。 この複雑なロジックでは、複数のコントラクトへの呼び出しを組み合わせる必要がありますが、スマートコントラクトに相互運用性がない場合は不可能です。

イーサリアムの構成可能性の例

トークンスワップ

ETH でトランザクションフィーを支払う必要がある Dapp を作成する場合、トークンスワップロジックを統合することで、ユーザーが他の ERC-20 トークンで支払えるようにすることができます。 このコードは、コントラクトが呼び出された関数を実行する前に、ユーザーのトークンを ETH に自動的に変換します。

ガバナンス

DAO向けにカスタマイズしたガバナンスシステムの構築には、コストと時間がかかることがあります。 代わりに、Aragon Clientのようなオープンソースのガバナンスツールキットを使用して、ガバナンスフレームワークをすばやく作成して DAO を立ち上げることができます。

ID 管理

カスタム認証システムを構築したり、集中型プロバイダーに依存したりしなくても、ユーザーの認証を管理する分散型アイデンティティ(DID)ツールを統合できます。 例えば、オープンソースツールキットのSpluceIDなどがあります。このツールキットは「イーサリアムでサインイン」機能を提供し、ユーザーはイーサリアムウォレットを使用してアイデンティティを認証できます。

参考文献

イーサリアムを学ぶために利用したコミュニティリソースはありますか? もしあればページを編集して追加してください!

このページについてご協力ください。

あなたがトピックの専門家であり、貢献したい場合は、知識を使ってこのページを編集してください。

貢献者として名前が記載され、イーサリアムコミュニティを助けることになります!

この柔軟性を使用する ドキュメントテンプレート

質問がありますか?こちらの #content チャンネルでお問い合わせください Discord サーバ

ページを編集

この記事は役に立ちましたか?