第1課

バイパーとイーサリアムのスマートコントラクトの概要

イーサリアム(ETH)はイーサリアムのネイティブ暗号通貨であり、Solidityプログラミング言語を使用しています。 イーサリアムの基盤技術であるブロックチェーンは、永続的で改ざん防止の記録リストを保持する分散型台帳です。 この分散型アーキテクチャにより、開発者はプラットフォームの強力なエコシステムと適応性を活用して、多様な分散型アプリ(dApps)のセットを作成できます。

イーサリアム、スマートコントラクト、および堅実さの紹介

イーサリアムを理解する

イーサリアムは、分散型ウェブとして知られる新しいタイプのインターネットの基盤として機能する画期的なテクノロジーです。 ヴィタリック・ブテリンによって作成されたイーサリアムは、開発者が分散型アプリケーション(dApps)を作成および展開できるようにするオープンソースのブロックチェーンベースのプラットフォームです。 イーサリアムのスマートコントラクトの使用により、dAppはダウンタイム、検閲、詐欺、またはサードパーティの干渉なしに、計画どおりに実行できます。

続きを読む: イーサリアムとは何ですか?

イーサリアム(ETH)はイーサリアムのネイティブ暗号通貨であり、Solidityプログラミング言語を使用しています。 イーサリアムの基盤技術であるブロックチェーンは、永続的で改ざん防止の記録リストを保持する分散型台帳です。 この分散型アーキテクチャにより、開発者はプラットフォームの強力なエコシステムと適応性を活用して、多様な分散型アプリ(dApps)のセットを作成できます。

スマートコントラクトの力

スマートコントラクトは、契約条件がコード行に直接記述された自己実行型コントラクトです。 これらは、イーサリアム上のdAppの基本的な構成要素です。 これらのデジタル契約は、契約で定義された条件が満たされると、トランザクションを自動的に実行し、イーサリアムのネイティブ通貨であるイーサリアムをアカウント間で移動します。 この自動化により、仲介者が不要になり、プロセスの効率と信頼性が大幅に向上します。 小さなコンピュータプログラムがブロックチェーン内に保存されているため、スマートコントラクトは自動的に利用規約を施行するように設計されており、デジタル契約に新しいレベルの自動化と精度をもたらします。

続きを読む: スマートコントラクトとは何ですか?

スマートコントラクトの利点とユースケース

以前のコースの1つで説明したように:コース:スマートコントラクト 101:基本的な紹介、スマートコントラクトには、デジタル世界で革新的なコンセプトとなるいくつかの主な利点があります。

  1. 仲介者の排除:スマートコントラクトは仲介者の必要性を排除し、より費用効果の高い取引につながります。

  2. 分散化:ブロックチェーン上にスマートコントラクトを構築することで、分散型プラットフォームを作成し、単一の集中型エンティティへの依存を減らすことができます。

  3. 簡単で手頃な開発:イーサリアムのようなプラットフォームは、開発者がトランザクションベースのアプリケーションを簡単かつ安価に構築するために必要なインフラストラクチャを提供します。

  4. セキュリティと透明性の強化:スマートコントラクトはコードで記述されているため、トランザクションは不可逆的で追跡可能であり、透明性とセキュリティが向上します。

  5. 自己強制:スマートコントラクトは自己強制的であり、世界中の誰とでも取引を行うための信頼できない環境を作り出します。

堅実さ:支配的な言語

イーサリアムでスマートコントラクトを書くための最も一般的な言語はSolidityです。 JavaScript、Python、C++の影響を受けて、Solidityはイーサリアムのスマートコントラクトを開発するために設計された静的型付け言語です。 機能が豊富で成熟しており、強力なコミュニティサポートがあるため、多くのイーサリアム開発者にとって最初の選択肢となっています。

バイパーの紹介

バイパー:イーサリアムの代替

Solidityはイーサリアムの開発で脚光を浴びていますが、Vyperと呼ばれる代替言語はユニークで価値のある視点を提供します。 Vyperは、イーサリアムでスマートコントラクトを作成するために設計された、セキュリティに重点を置いたシンプルさ主導のPython言語です。 Solidityとは異なり、Vyperは、より高いセキュリティと契約の理解を容易にするために、特定の機能を放棄することを選択します。

なぜSolidityよりもVyperを選ぶのですか?

Solidityの人気にもかかわらず、Vyperのセキュリティと読みやすさへの取り組みは、多くの開発者にとって魅力的な選択肢となっています。 これは、Pythonに精通している人にとってより親しみやすい構文を提供し、イーサリアムdAppsの世界に足を踏み入れようとしているPython開発者にとって素晴らしい出発点になります。

ソリッドとバイパーの違い

SolidityとVyperをよりよく理解するために、構文、学習曲線、配列と文字列のサイズ、コミュニティサポート、契約とエラー処理、変数定義、オークションの作成、関数仕様、撤退プロセス、契約終了などのさまざまなパラメータに基づいて2つの言語を比較してみましょう。

構文の容易さ

SolidityとVyperは高級言語であるため、構文は単純です。 それでも、Solidityの構文は、C ++やJavaScriptなどの広く使用されている言語に似ているため、一部の開発者にとっては簡単かもしれません。 一方、VyperはPythonに似ており、Pythonユーザーが認識できる構文を備えています。

学習曲線

Solidityはより人気のある言語であるため、より多くのドキュメントと学習資料があり、学習プロセスに役立つ可能性があります。 一方、Vyperはより新しく、学習教材も少なくなっています。 一方、その単純な形式とPythonとの類似性により、すでにPythonに精通している開発者にとって、簡単に習得できる言語になっています。

配列と文字列のサイズ

Solidityは動的な文字列と配列のスケーリングを提供し、開発者がニーズに基づいて文字列の長さを変更できるようにします。 一方、Vyperは、スマートコントラクトの潜在的な脆弱性を減らすために、配列と文字列のサイズを制限します。

コミュニティサポート

Solidityの普及により、開発者、スペシャリスト、愛好家のコミュニティが繁栄しています。 新しい言語としてのVyperには、それほど大きなコミュニティはありません。 しかし、それが進むにつれて、コミュニティのサポートは増加する可能性があります。

コントラクトの定義とエラー処理

Solidityのコントラクトは、ブラウニーやVSCodeなどのツールを使用して定義できます。 契約を作成するとき、Vyperは使用するVyperのバージョンを指定するだけです。 さらに、Vyperはタイプミスを即座に検出できるため、デバッグが簡素化されますが、Solidityでは、間違いを見つける前にコントラクトをコンパイルする必要があります。

変数定義

Vyperでの変数定義はシンプルで、高級プログラミング言語を彷彿とさせます。 一方、Solidityは、変数宣言に対してより複雑なアプローチを取ります。 さらに、Solidityではセミコロンを使用する必要があり、これによりさらに複雑な層が追加されます。

オークションの作成

Vyperでオークションを作成するのは簡単なプロセスです。 外部デコレータを許可し、他のコントラクトがそれを呼び出すことを可能にします。 一方、Solidityでは、潜在的なエラー定義や「if」ステートメントの使用など、より複雑な処理が必要になります。

機能仕様

Vyper関数は外部デコレータで装飾することができ、トランザクションの支払いを受け入れることができます。 一方、堅牢性では、関数内で外部部分と支払可能な部分を渡す必要があります。 また、Solidityは「if」ステートメントを採用していますが、Vyperは「assert」ステートメントを採用しています。

出金プロセス

Solidityとは対照的に、Vyperでの撤退プロセスはより単純です。 Solidityでは金額を定義し、「if」ステートメントを作成する必要がありますが、Vyperはより簡単な方法を採用しています。

契約の終了

Vyperは「アサート」で時間をチェックしますが、Solidityでは終了した変数を「True」に設定する前に「if」ステートメントが必要です。 さらに、Vyperとは異なり、Solidityはオークションの終了と現金の送金の発行を要求します。

ヴァイパーのセットアップ

開発環境の準備

Vyperでコーディングを開始する前に、コンピュータが開発の準備ができていることを確認する必要があります。 これがあなたがする必要があることです:

  1. Python のインストール: Vyper には Python 3.6 以上が必要です。 Python は公式サイトからダウンロードできます。 指示に従ってマシンにインストールします。 次のように入力してインストールを確認できます
    python --version ターミナルで。 インストールした Python のバージョンが出力として表示されます。

  2. Pipをインストールする:PipはPython用のパッケージマネージャーです。 これは、Python 標準ライブラリの一部ではない追加のパッケージをインストールして管理するために使用されます。 Pip は、Python をインストールするときに自動的にインストールされます。 ターミナルに入力 pip --version することで、インストールを確認できます。 インストールされていない場合は、Pipの公式Webサイトからダウンロードして、そこの指示に従ってください。

バイパーのインストール

環境の準備ができたら、Vyperをインストールできます。 ターミナルを開き、次のコマンドを実行します。

ニシキヘビ
pip3 インストール バイパー

コードの最後に、ターミナルが次のコマンドを入力してpipを更新するように提案していることがわかります。

ニシキヘビ
python.exe -m pip install --upgrade pip

このコマンドを実行して、pipの最新バージョンが使用可能であることを確認します。 更新されたバージョンをインストールすると、このようなメッセージが表示されます

インストールが完了したら、を実行して vyper --versionVyperのバージョンを確認できます。 インストールした Vyper のバージョンが出力として表示されます。

Vyperの開発ツールとIDEの紹介

Vyperコードは任意のテキストエディタで記述できますが、統合開発環境(IDE)を使用すると、作業がはるかに簡単になります。 ここにあなたのための2つのオプションがあります:

  1. リミックス:リミックスは、イーサリアムが提供するブラウザベースのIDEです。 SolidityとVyperの両方をサポートし、組み込みコンパイラ、堅牢なデバッガー、テスト環境などの機能を提供します。 Remixの公式ウェブサイトに移動すると、Remixの使用を開始できます。 インストールは必要ありません。 (コース中にこのオプションを使用します)

  2. ブラウニー:ブラウニーは、イーサリアム用のPythonベースの開発環境およびテストフレームワークです。 SolidityとVyperの両方をサポートしています。 Brownieの主な利点の1つは、多くの開発者がすでに精通している言語であるPythonでテストを作成できることです。 ブラウニーをインストールするには、ターミナルを開いて実行します pip3 install eth-brownie。 これには数分かかり、多くのライブラリとパッケージがインストールされます。

免責聲明
* 投資有風險,入市須謹慎。本課程不作為投資理財建議。
* 本課程由入駐Gate Learn的作者創作,觀點僅代表作者本人,絕不代表Gate Learn讚同其觀點或證實其描述。
目錄
第1課

バイパーとイーサリアムのスマートコントラクトの概要

イーサリアム(ETH)はイーサリアムのネイティブ暗号通貨であり、Solidityプログラミング言語を使用しています。 イーサリアムの基盤技術であるブロックチェーンは、永続的で改ざん防止の記録リストを保持する分散型台帳です。 この分散型アーキテクチャにより、開発者はプラットフォームの強力なエコシステムと適応性を活用して、多様な分散型アプリ(dApps)のセットを作成できます。

イーサリアム、スマートコントラクト、および堅実さの紹介

イーサリアムを理解する

イーサリアムは、分散型ウェブとして知られる新しいタイプのインターネットの基盤として機能する画期的なテクノロジーです。 ヴィタリック・ブテリンによって作成されたイーサリアムは、開発者が分散型アプリケーション(dApps)を作成および展開できるようにするオープンソースのブロックチェーンベースのプラットフォームです。 イーサリアムのスマートコントラクトの使用により、dAppはダウンタイム、検閲、詐欺、またはサードパーティの干渉なしに、計画どおりに実行できます。

続きを読む: イーサリアムとは何ですか?

イーサリアム(ETH)はイーサリアムのネイティブ暗号通貨であり、Solidityプログラミング言語を使用しています。 イーサリアムの基盤技術であるブロックチェーンは、永続的で改ざん防止の記録リストを保持する分散型台帳です。 この分散型アーキテクチャにより、開発者はプラットフォームの強力なエコシステムと適応性を活用して、多様な分散型アプリ(dApps)のセットを作成できます。

スマートコントラクトの力

スマートコントラクトは、契約条件がコード行に直接記述された自己実行型コントラクトです。 これらは、イーサリアム上のdAppの基本的な構成要素です。 これらのデジタル契約は、契約で定義された条件が満たされると、トランザクションを自動的に実行し、イーサリアムのネイティブ通貨であるイーサリアムをアカウント間で移動します。 この自動化により、仲介者が不要になり、プロセスの効率と信頼性が大幅に向上します。 小さなコンピュータプログラムがブロックチェーン内に保存されているため、スマートコントラクトは自動的に利用規約を施行するように設計されており、デジタル契約に新しいレベルの自動化と精度をもたらします。

続きを読む: スマートコントラクトとは何ですか?

スマートコントラクトの利点とユースケース

以前のコースの1つで説明したように:コース:スマートコントラクト 101:基本的な紹介、スマートコントラクトには、デジタル世界で革新的なコンセプトとなるいくつかの主な利点があります。

  1. 仲介者の排除:スマートコントラクトは仲介者の必要性を排除し、より費用効果の高い取引につながります。

  2. 分散化:ブロックチェーン上にスマートコントラクトを構築することで、分散型プラットフォームを作成し、単一の集中型エンティティへの依存を減らすことができます。

  3. 簡単で手頃な開発:イーサリアムのようなプラットフォームは、開発者がトランザクションベースのアプリケーションを簡単かつ安価に構築するために必要なインフラストラクチャを提供します。

  4. セキュリティと透明性の強化:スマートコントラクトはコードで記述されているため、トランザクションは不可逆的で追跡可能であり、透明性とセキュリティが向上します。

  5. 自己強制:スマートコントラクトは自己強制的であり、世界中の誰とでも取引を行うための信頼できない環境を作り出します。

堅実さ:支配的な言語

イーサリアムでスマートコントラクトを書くための最も一般的な言語はSolidityです。 JavaScript、Python、C++の影響を受けて、Solidityはイーサリアムのスマートコントラクトを開発するために設計された静的型付け言語です。 機能が豊富で成熟しており、強力なコミュニティサポートがあるため、多くのイーサリアム開発者にとって最初の選択肢となっています。

バイパーの紹介

バイパー:イーサリアムの代替

Solidityはイーサリアムの開発で脚光を浴びていますが、Vyperと呼ばれる代替言語はユニークで価値のある視点を提供します。 Vyperは、イーサリアムでスマートコントラクトを作成するために設計された、セキュリティに重点を置いたシンプルさ主導のPython言語です。 Solidityとは異なり、Vyperは、より高いセキュリティと契約の理解を容易にするために、特定の機能を放棄することを選択します。

なぜSolidityよりもVyperを選ぶのですか?

Solidityの人気にもかかわらず、Vyperのセキュリティと読みやすさへの取り組みは、多くの開発者にとって魅力的な選択肢となっています。 これは、Pythonに精通している人にとってより親しみやすい構文を提供し、イーサリアムdAppsの世界に足を踏み入れようとしているPython開発者にとって素晴らしい出発点になります。

ソリッドとバイパーの違い

SolidityとVyperをよりよく理解するために、構文、学習曲線、配列と文字列のサイズ、コミュニティサポート、契約とエラー処理、変数定義、オークションの作成、関数仕様、撤退プロセス、契約終了などのさまざまなパラメータに基づいて2つの言語を比較してみましょう。

構文の容易さ

SolidityとVyperは高級言語であるため、構文は単純です。 それでも、Solidityの構文は、C ++やJavaScriptなどの広く使用されている言語に似ているため、一部の開発者にとっては簡単かもしれません。 一方、VyperはPythonに似ており、Pythonユーザーが認識できる構文を備えています。

学習曲線

Solidityはより人気のある言語であるため、より多くのドキュメントと学習資料があり、学習プロセスに役立つ可能性があります。 一方、Vyperはより新しく、学習教材も少なくなっています。 一方、その単純な形式とPythonとの類似性により、すでにPythonに精通している開発者にとって、簡単に習得できる言語になっています。

配列と文字列のサイズ

Solidityは動的な文字列と配列のスケーリングを提供し、開発者がニーズに基づいて文字列の長さを変更できるようにします。 一方、Vyperは、スマートコントラクトの潜在的な脆弱性を減らすために、配列と文字列のサイズを制限します。

コミュニティサポート

Solidityの普及により、開発者、スペシャリスト、愛好家のコミュニティが繁栄しています。 新しい言語としてのVyperには、それほど大きなコミュニティはありません。 しかし、それが進むにつれて、コミュニティのサポートは増加する可能性があります。

コントラクトの定義とエラー処理

Solidityのコントラクトは、ブラウニーやVSCodeなどのツールを使用して定義できます。 契約を作成するとき、Vyperは使用するVyperのバージョンを指定するだけです。 さらに、Vyperはタイプミスを即座に検出できるため、デバッグが簡素化されますが、Solidityでは、間違いを見つける前にコントラクトをコンパイルする必要があります。

変数定義

Vyperでの変数定義はシンプルで、高級プログラミング言語を彷彿とさせます。 一方、Solidityは、変数宣言に対してより複雑なアプローチを取ります。 さらに、Solidityではセミコロンを使用する必要があり、これによりさらに複雑な層が追加されます。

オークションの作成

Vyperでオークションを作成するのは簡単なプロセスです。 外部デコレータを許可し、他のコントラクトがそれを呼び出すことを可能にします。 一方、Solidityでは、潜在的なエラー定義や「if」ステートメントの使用など、より複雑な処理が必要になります。

機能仕様

Vyper関数は外部デコレータで装飾することができ、トランザクションの支払いを受け入れることができます。 一方、堅牢性では、関数内で外部部分と支払可能な部分を渡す必要があります。 また、Solidityは「if」ステートメントを採用していますが、Vyperは「assert」ステートメントを採用しています。

出金プロセス

Solidityとは対照的に、Vyperでの撤退プロセスはより単純です。 Solidityでは金額を定義し、「if」ステートメントを作成する必要がありますが、Vyperはより簡単な方法を採用しています。

契約の終了

Vyperは「アサート」で時間をチェックしますが、Solidityでは終了した変数を「True」に設定する前に「if」ステートメントが必要です。 さらに、Vyperとは異なり、Solidityはオークションの終了と現金の送金の発行を要求します。

ヴァイパーのセットアップ

開発環境の準備

Vyperでコーディングを開始する前に、コンピュータが開発の準備ができていることを確認する必要があります。 これがあなたがする必要があることです:

  1. Python のインストール: Vyper には Python 3.6 以上が必要です。 Python は公式サイトからダウンロードできます。 指示に従ってマシンにインストールします。 次のように入力してインストールを確認できます
    python --version ターミナルで。 インストールした Python のバージョンが出力として表示されます。

  2. Pipをインストールする:PipはPython用のパッケージマネージャーです。 これは、Python 標準ライブラリの一部ではない追加のパッケージをインストールして管理するために使用されます。 Pip は、Python をインストールするときに自動的にインストールされます。 ターミナルに入力 pip --version することで、インストールを確認できます。 インストールされていない場合は、Pipの公式Webサイトからダウンロードして、そこの指示に従ってください。

バイパーのインストール

環境の準備ができたら、Vyperをインストールできます。 ターミナルを開き、次のコマンドを実行します。

ニシキヘビ
pip3 インストール バイパー

コードの最後に、ターミナルが次のコマンドを入力してpipを更新するように提案していることがわかります。

ニシキヘビ
python.exe -m pip install --upgrade pip

このコマンドを実行して、pipの最新バージョンが使用可能であることを確認します。 更新されたバージョンをインストールすると、このようなメッセージが表示されます

インストールが完了したら、を実行して vyper --versionVyperのバージョンを確認できます。 インストールした Vyper のバージョンが出力として表示されます。

Vyperの開発ツールとIDEの紹介

Vyperコードは任意のテキストエディタで記述できますが、統合開発環境(IDE)を使用すると、作業がはるかに簡単になります。 ここにあなたのための2つのオプションがあります:

  1. リミックス:リミックスは、イーサリアムが提供するブラウザベースのIDEです。 SolidityとVyperの両方をサポートし、組み込みコンパイラ、堅牢なデバッガー、テスト環境などの機能を提供します。 Remixの公式ウェブサイトに移動すると、Remixの使用を開始できます。 インストールは必要ありません。 (コース中にこのオプションを使用します)

  2. ブラウニー:ブラウニーは、イーサリアム用のPythonベースの開発環境およびテストフレームワークです。 SolidityとVyperの両方をサポートしています。 Brownieの主な利点の1つは、多くの開発者がすでに精通している言語であるPythonでテストを作成できることです。 ブラウニーをインストールするには、ターミナルを開いて実行します pip3 install eth-brownie。 これには数分かかり、多くのライブラリとパッケージがインストールされます。

免責聲明
* 投資有風險,入市須謹慎。本課程不作為投資理財建議。
* 本課程由入駐Gate Learn的作者創作,觀點僅代表作者本人,絕不代表Gate Learn讚同其觀點或證實其描述。