【ブロックチェーン】web3の世界へ - フロントエンドならweb2とweb3の違い

web3 は、いくつかの概念、スマート コントラクト、ブロックチェーン、フロントエンド インタラクションと切り離すことができません。

    1. スマート コントラクトは、ブロックチェーン内のブロックと直接対話できます。

    2. フロントエンドは、web3.js/ethers.js などの npm ライブラリを介してスマート コントラクトと対話できます。

端的に言えば、フロントエンドに関しては、web3 と web2 は、バックエンド API インターフェイスからスマート コントラクトまで、ドッキング オブジェクトに変更があるだけです。これには、スマート コントラクトSolidityを理解する必要があります。

1. web3 の基本概念

プロバイダー プロバイダー (プロバイダー) は、イーサリアム ネットワークに接続するために使用される抽象クラスであり、ブロックチェーン ネットワークにアクセスしてチェーンの状態を取得するための読み取り専用フォームを提供します。
歌手 署名者 (署名者) は通常、何らかの方法で秘密鍵に直接または間接的にアクセスし、メッセージに署名し、承認されたネットワークでアカウントのイーサ通貨を管理して取引を行うことができます。
契約 コントラクト (contract) は、イーサリアム ネットワーク上で実行され、実際に特定のコントラクトを表す抽象化であり、アプリケーションは JavaScript オブジェクトのように使用できます。

2. 概念上の区別

Web2 と Web3 は 2 つの異なる概念であり、テクノロジとアプリケーション レベルが異なります。

Web2 は、インターネットの第 2 世代、つまり現代のインターネットのインフラストラクチャとアプリケーションを指します。Web2 は集中型アーキテクチャを特徴としており、ユーザーはネットワーク リソースへのアクセスと管理を集中型サービス プロバイダーに依存する必要があります。Web2 は、主に情報伝達、ソーシャル ネットワーキング、電子商取引、オンライン エンターテイメントなどの分野で使用されます。

Web3 は、分散型インターネットとも呼ばれる第 3 世代のインターネットを指します。Web3 の特徴は、分散技術と暗号通貨のサポートを通じて分散アプリケーションを実現する分散アーキテクチャに基づいています。Web3 の目標は、デジタル ID、分散型金融、分散型アプリケーション、およびその他の分野に適用できる、より自由で、安全で、オープンで透明なインターネットを作成することです。

フロントエンド開発者にとって、Web2 と Web3 の違いは主に技術レベルとアプリケーション レベルにあります。Web2 アプリケーションの開発は、主に HTML、CSS、JavaScript などの従来の Web テクノロジに依存しています。Web3 アプリケーションの開発には、ブロックチェーン技術、分散技術、およびスマート コントラクト プログラミングに関するより多くの知識が必要です。同時に、Web3 アプリケーションの開発では、ユーザーのプライバシーとセキュリティに関する考慮事項にも、より注意を払う必要があります。

つまり、Web2 と Web3 はどちらもインターネットの開発段階であり、アプリケーション シナリオと技術的特性は大きく異なります。フロントエンド開発者は、アプリケーションの要件と技術的背景に応じて、適切な開発方法と技術スタックを選択する必要があります。

3. フロントエンドとの違い

web2 では、API を使用してバックエンドと対話し、データを追加、削除、変更、クエリします。web3 では、データと対話する必要もあります。

web3 では、Ethers/web3 などのライブラリを使用して、ABI を介してインテリジェント コントラクトとやり取りする必要があります. ブロックチェーンとやり取りする過程で、一定量のガス料金を支払う必要があります. ガスは消耗品であり、インタラクティブな消費に使用されます. .

備考: ガス料金 = 取引に必要なガス量 * ガスの単価 (ネットワークに応じた動的な数値です)

要するに、フロントエンドについては、恐れることはありません。対話オブジェクトを変更し、Web の基本概念を理解し、コントラクトの ABI インターフェースを理解するだけです。

4. Dapp を開発するには、フロント エンドで何を準備する必要がありますか?

Dapp (分散型アプリケーション) の開発では、フロントエンド、バックエンド、スマート コントラクトなど、多くの側面を考慮する必要があります。フロントエンド開発者が準備するものは次のとおりです。

    1. Web3.js: Web3.js は、Ethereum ブロックチェーンとやり取りするための API を提供する JavaScript ライブラリです。Dapp を開発する場合、Web3.js を使用して、コントラクト内の関数の呼び出し、コントラクト内の変数の読み取りなど、スマート コントラクトと対話する必要があります。

    2. MetaMask: MetaMask は、イーサリアム ブロックチェーンに接続し、スマート コントラクトと対話するための簡単な方法を提供するブラウザー プラグインです。Dapp を開発するときは、MetaMask プラグインをインストールし、それを使用して Ethereum ネットワークに接続する必要があります。

    3. Solidity: Solidity は、イーサリアム スマート コントラクトの作成に使用されるスマート コントラクト プログラミング言語です。Dapp を開発するときは、Solidity を理解し、スマート コントラクトを記述してビジネス ロジックを実装する必要があります。

    4. Remix: Remix は、スマート コントラクトの作成、テスト、デプロイのための統合開発環境を提供するブラウザー ベースの Solidity IDE です。Dapp を開発する場合、Remix を使用してスマート コントラクトを作成およびテストできます。

    5. Truffle: Truffle は、スマート コントラクト コンパイラ、テスト フレームワーク、デプロイ ツールなどを含む、Ethereum Dapps を構築するための開発フレームワークです。Dapp を開発する場合、Truffle を使用してスマート コントラクトをコンパイル、テスト、デプロイできます。

    6. IPFS: IPFS は分散ファイル ストレージおよび伝送プロトコルであり、HTML、CSS、JavaScript ファイルなどの Dapp の静的リソースを格納するために使用できます。Dapp を開発する場合、IPFS を使用して静的リソースを保存および送信し、アプリケーションの信頼性とアクセシビリティを向上させることができます。

    7. React、Vue、Angular などのフロントエンド フレームワーク: Dapp のフロントエンド インターフェイスを開発する場合、React、Vue、Angular などのフロントエンド フレームワークを使用して、インターフェイスをすばやく構築し、複雑なビジネス ロジックを実装できます。

つまり、Dapp を開発するには、フロントエンド開発者は Web3.js、MetaMask、Solidity、Remix、Truffle、IPFS などのテクノロジを習得し、フロントエンド フレームワークを使用して複雑なビジネス ロジックを実装する必要があります。同時に、Dapp の開発は、完全な Dapp を実現するために、バックエンドおよびスマート コントラクトと調整する必要もあります。

 

おすすめ

転載: blog.csdn.net/qq_23334071/article/details/130179630