トリュフスイートとは何ですか? 機能、インストール方法、スマートコントラクトの実行方法

公開: 2020-03-24

Blockchainが主流の技術ドメインへの旅を始めたばかりの初期の頃、Solidityプログラミング言語を使用してスマートコントラクトを開発し、gethまたはsolc関数を呼び出してそれらをデプロイする必要がありました。

このプロセスを少し簡単にするには、最初にコントラクトをコンパイルしてからデプロイするbashスクリプトを作成する必要がありました。 さて、後者のアプローチは前者よりも優れていましたが、bashスクリプトは標準化の欠如を伴うことが多いことを考えると、かなり初歩的なものでした。

ブロックチェーンスマートコントラクトのシームレスで最適な開発およびテストフレームワークを作成するためのこの必要性が、TruffleEtheruemを生み出しました。

世界のトップ大学からオンラインソフトウェアエンジニアリングコースを学びましょう。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。

目次

トリュフスイートとは何ですか?

Truffle Suiteよると、Truffleは「世界クラスの開発環境、テストフレームワーク、およびイーサリアム仮想マシン(EVM)を使用したブロックチェーンのアセットパイプラインであり、開発者としての生活を楽にすることを目的としています」。

簡単に言うと、Truffleは開発環境、テストフレームワーク、アセットパイプラインがすべて1つにまとめられています。 イーサリアムブロックチェーンに基づいており、DApp(分散型アプリケーション)のスムーズでシームレスな開発を促進するように設計されています。 Truffleを使用すると、スマートコントラクトをコンパイルしてデプロイし、それらをWebアプリに挿入し、DAppのフロントエンドを開発することもできます。 今日、TruffleはEthereumBlockchainで最も広く使用されているIDEの1つです。

Truffle Suiteは、次の3つのコア要素で構成されています。

  • Truffle –スマートコントラクトのコンパイル、テスト、および展開を統合する実際の開発環境。
  • Ganache –ローカルに展開されたブロックチェーンシミュレーターです。 Ganacheは、実際のテストネットワークを設定したり、リモートネットワークを使用したりすることなく、ブロックチェーンネットワークとライブテストスマートコントラクトをシミュレートできるグラフィカルユーザーインターフェイスを備えています。
  • Drizzle –スマートコントラクトとシームレスに接続できるWebアプリケーションを開発するための便利なコンポーネントを提供するフロントエンドライブラリの品揃えです。

読む:ブロックチェーン開発者になる方法–初心者ガイド

トリュフの特徴は何ですか?

Truffle EtheruemをEthereumブロックチェーンで最も広く使用されているIDEの1つにする機能は、次のとおりです。

  • スマートコントラクトのコンパイル、デプロイ、リンクのサポートが組み込まれています。
  • MochaとChaiとの自動契約テストが可能です。
  • Truffle Consoleを使用すると、コンパイルされたコントラクトを手間のかからない方法で操作できます。
  • コンソールアプリとウェブアプリの両方をサポートする構成可能なビルドパイプラインがあります。
  • JavaScript、CoffeeScript、SASS、ES6、およびJSXのサポートが組み込まれています。
  • 新しいコントラクトとテストの作成に役立つジェネレーターがあります(たとえば、railsが生成します)。
  • スマートコントラクトを含むJS/Coffeeファイルを実行できるスクリプトランナーがあります。
  • これにより、開発段階でアセットを即座に再構築できます。
  • これにより、お好みのRPCクライアントを使用して契約のコンパイルと展開が可能になります。
  • ネットワークとパッケージの両方の管理をサポートします。

トリュフイーサリアムをインストールするにはどうすればいいですか?

ノードパッケージマネージャー(npm)を使用してTruffleEthereumをインストールできます。 まず、コンピューターにNPMをセットアップしてから、Truffleをインストールする必要があります。 これを行うには、ターミナルを開いて次のように入力する必要があります。

npm install -g truffle

ただし、Linuxマシンでは、上記のステートメントに「sudo」プレフィックスを追加する必要がある場合があります。 Truffleフレームワークをインストールしたら、必ずGanacheブロックチェーンシミュレーターをダウンロードしてインストールしてください。 ガナッシュの公式ウェブサイトにアクセスできます。これには、最も人気のあるプラットフォームのインストーラーが含まれています。

Truffleが正常にインストールされたので、2つの方法でTruffleプロジェクトを開始できます。 ベアプロジェクトを作成するには、次のステートメントを入力できます。

トリュフ初期化

ただし、Truffle unboxコマンドを使用して、既存のコードでプロジェクトを作成することもできます。 たとえば、次のようなトークンを作成できます。

トリュフの箱から出してメタコイン

このコマンドを実行すると、プロジェクトはトリュフボックスから作成されます。 あなたは公式ウェブサイトで多くのトリュフボックスを見つけることができますボイラープレートコードと、プロジェクトを構築してすばやく起動するために必要なすべての構成が含まれています。

トリュフプロジェクトの構造

作成するTruffleフォルダーは次のようになります。

├──契約

│├──ConvertLib.sol

│├──MetaCoin.sol

│└──Migrations.sol

├──移行

│├──1_initial_migration.js

│└──2_deploy_contracts.js

├──テスト

│├──TestMetacoin.sol

│└──metacoin.js

├──truffle-config.js

└──truffle.js

次に、Truffleフォルダーに含まれるさまざまなサブフォルダーについて詳しく説明します。

契約フォルダ

コントラクトフォルダは、すべてのスマートコントラクトが保存されているフォルダです。 このフォルダーには、Migrations.solファイルと呼ばれる特別なファイルもあります。 通常、Truffleがプロジェクトをコンパイルするとき、Contractsフォルダーを参照して、互換性のあるすべてのファイルをコンパイルします。

移行フォルダ

トリュフの移行とは、スマートコントラクトをイーサリアムブロックチェーンにデプロイする方法を定義するスクリプトを指します。 プロジェクトがより複雑になるにつれて、展開の複雑さも増すため、移行は不可欠です。 Truffle Migrationsのおかげで、スマートコントラクトの展開プロセスを順番に自動化できます。

Truffleフォルダーの構造を振り返ると、 1_initial_migration.jsというファイルが表示されます このファイルは、Migrations.solコントラクトをEthereumブロックチェーンにデプロイします。

移行により、次のことが可能になります。

  • 展開の最大ガス制限を設定します
  • デプロイメントのアドレスからを変更または変更します。
  • 任意のコントラクト関数を呼び出します。
  • ライブラリをデプロイする

テストフォルダ

スマートコントラクトに関しては、テストは必須です! ありがたいことに、Truffleには、SolidityまたはJavaScriptでテストを記述できるテストフレームワークが組み込まれています。 Solidityでテストを作成する場合は、次のように、Solidityインポートディレクティブを使用してスマートコントラクトをテストにインポートする必要があります。

インポート「../contracts/MetaCoin.sol」;

ただし、JavaScriptでテストを作成している場合は、次のように、 artifacts.require()ヘルパー関数を使用してテストをインポートする必要があります。

var MetaCoin = Artifacts.require(“ ./ MetaCoin.sol”);

構成ファイル

truffle.jsまたはtruffle-config.jsとも呼ばれる構成ファイルは、TruffleがEthereumネットワークに接続する方法を次のように定義します。

  • 環境–ゲスノートのアドレス、network_id、展開の最大ガス制限、および支払うガス価格を定義できます。
  • プロジェクト構造–ファイルがビルドおよび保存される場所を変更できます。
  • コンパイラのバージョンと設定– solcのバージョンを修正し、-O(最適化)パラメータを設定できます。
  • パッケージ管理– TruffleはEthPM(Ethereum Package Manager)と互換性があります。 TruffleプロジェクトのEthPMの依存関係を設定できます。
  • プロジェクトの説明–誰がプロジェクトを開発したかを示し、プロジェクト名、連絡先アドレスなどを指定します。

また読む:初心者のためのブロックチェーンプロジェクトのアイデア

スマートコントラクトを実行する方法は?

スマートコントラクトを実行するさまざまな方法は次のとおりです–

  • スマートコントラクトをコンパイルするには、次のコードを実行する必要があります。

トリュフコンパイル

  • 移行を実行するには、次のコードを使用する必要があります。

トリュフの移行

特定の環境に言及することによってもそれを行うことができます:

トリュフの移行–ネットワークライブ

  • スマートコントラクトをテストするには、次のコードを実行できます。

トリュフテスト

次のコードを使用して、特定のテストを実行することもできます。

トリュフテスト./path/to/FileTest.sol

この投稿では、トリュフイーサリアムの基本的な考え方とその機能を紹介することを目的としています。 Truffleは、標準の開発手法をブロックチェーンの全体像に取り入れることで、DAppとスマートコントラクトの開発をはるかに便利にする強力なツールです。

まとめ

ブロックチェーンテクノロジーのキャリアは増加しており、ブロックチェーンはテクノロジー業界の顔を永遠に大きく変えました。 ブロックチェーン開発者になり、スマートコントラクトとチェーンコードを構築することに興味がある場合は、 ブロックチェーンテクノロジーでIIIT-BとupGradの高度な証明書プログラムをチェックアウトしてください。

イーサリアムのバイパーとは何ですか?

Vyperは、イーサリアム仮想世界を対象とした、契約指向の統計的に型付けされたpythonicプログラミング言語です。 これは、連帯を改善するために設計されました。 Vyperの主な原則と目標は、セキュリティ、言語とコンパイラの単純さ、および監査可能性です。 Vyperは強く型付けされた言語であるため、あるデータ型を別のデータ型として使用することはできません。 境界とオーバーフローのチェック、強い型付け、小さくて理解しやすいコンパイラ側、純粋関数の制限付きサポート、符号付き整数と10進数の固定小数点数のサポート、決定可能性など、多くの追加機能が付属しています。 また、開発者があいまいなプログラムをコーディングすることを不可能にする単純な構文を持っています。

スマートコントラクトの欠点は何ですか?

スマートコントラクトは、非常に多くの用途と幅広い人気がありますが、多くの制限があります。 スマートコントラクトの施行には法的な規制があり、サイバー攻撃を受けやすくなっています。 コードエラーは修正に時間と費用がかかるため、スマートコントラクトプロセスを変更することはほぼ不可能です。 サードパーティの関与は大幅に減少しますが、完全に排除することはできません。 たとえば、開発者は、スマートコントラクトのコードを作成するための用語を理解するために弁護士を必要としています。 スマートコントラクトは、プログラマーへの依存度が高く、バグにさらされることもあり、これは重大な欠点です。

ブロックチェーンのネットワークおよびパッケージ管理とは何ですか?

パッケージマネージャーは、インストール、更新、構成、およびアプリケーションの削除を自動化するのに役立ちます。 これらはオペレーティングシステムやプログラミング環境で使用され、依存関係地獄を回避するのに役立ちます。 パッケージマネージャーの主な機能には、パッケージの信頼性の確保、オンラインリポジトリからのソフトウェアのダウンロード、既存のソフトウェアの更新などがあります。パッケージマネージャー、バイナリパッケージ、ソースコードベースのパッケージ、ハイブリッドシステム、メタパッケージマネージャー、アプリケーションにはさまざまな種類があります。ベースのマネージャーなど。ブロックチェーン関連のパッケージマネージャーもあります。 そのようなマネージャーの1つがノードパッケージマネージャーです。 NPMは、個人がオープンソースリポジトリを介して共有リソースを利用できるようにする世界最大のソフトウェアレジストリです。