最近、web3.0
を求める声が本当に大きくなり、ますますクレイジーになってきています。フロントエンドにはどのようなテクノロジーが必要ですか? (学習ビデオ共有: web フロントエンド )
最初に web3.0
がどのように派生するかを紹介します
インターネット
まず、ウェブとは何かについて話しましょう。1989 年、CERN (欧州素粒子物理学研究所) のティム バーナーズ リー率いる技術グループが、インターネット用の新しいプロトコルとアプリケーションを提出しました。このプロトコルの文書システムは World Wide Web、または短縮して WWW (World Wide Web) と呼ばれ、現在では「インターネット」として知られています。その目的は、世界中の科学者がインターネットを使用して研究内容を交換できるようにすることです。書類。使用するテクノロジーは主に HTML、URI、URL、HTTP などで、Web コンテンツを静的に表示できます。それが私たちの
Web1.0
一般に、Web1.0 とは 1990 年代から 21 世紀初頭のインターネットを指します。端的に言えば、ブログ、掲示板、そして AOL や CompuServe などの初期のポータルから構成されるインターネットであり、中国で有名な Sina、Sohu、NetEase などの Web サイトは当時の製品です。 Web1.0 では、静的な Web ページは基本的に受動的に読み取られ、Web ページ構築プロトコルには HTTP や FTP などが使用されます。 Web1.0 の場合、Web ページのコンテンツは雑誌と同様に読み取り専用で静的であり、表示することはできますが、変更したり操作したりすることはできません。 Web1.0 では、ユーザーは情報 (Web ページ) の消費者にすぎず、情報 (Web ページ) と対話することはできません。 Web1.0 では、平均帯域幅 50k のダイヤルアップ インターネット アクセスも使用します。
一般に、Web1.0 は読み取り専用であり、分散化されています。
Web2.0
そしてWeb2.0が台頭してきたのはおそらく2005年頃でしょう。 Web2.0 の一般的な意味は、ユーザーが Web ページ上で独自のコンテンツを作成および公開でき、インターネットに積極的に参加でき、単に Web ページを受動的に読むだけではなくなることです。最終的な資金と Web ページ全体の管理は依然として Web ページの所有者によって占められています。 Facebook、Twitter、YouTube などのソーシャル メディアもこの時代の産物です。もちろん、このようにユーザー生成コンテンツが急増すると、自然独占も生まれ、次のようないくつかの問題が発生します: 1. ユーザー データは集中化される; 2. ユーザー データは移植できない; 3. ユーザー データは販売される
つまり、Web2.0 は読み取りと書き込みの共存です。
Web3.0
Web3.0 は、電力とデータを統合する分散型ネットワークです。 1 つの企業に独占されるのではなく、ユーザーの手に集中化されます。分散型ブロックチェーン技術を使用してデータをネットワークに配信します。 Web3.0 は何年も前から使われている用語ですが、一般的になり始めたのはここ 1 年です。 Web3 ではネットワークが分散化されているため、ネットワークを制御する権限はなく、ネットワーク上に構築された分散型アプリケーション (dapps) はオープンです。分散型ネットワークのオープンな性質は、どの当事者もデータを制御したりアクセスを制限したりできないことを意味します。中央企業の許可なしに、誰でもさまざまな dapp を構築して接続できます。
Web3.0 の主な機能は次のとおりです。
セマンティック Web - Web3.0 の鍵であり、マシンによるデータ処理を容易にします。
AI - AI は、Web3.0 テクノロジーの人気に影響を与える主な要素の 1 つです。ユーザーのニーズを満たすために、大量の Web データを通じてマシンがより賢くなることを可能にします。
3D グラフィックス - Web3.0 は、2D よりも現実的な 3 次元のオンライン世界を提供する 3 次元テクノロジーにより、従来のインターネットを超えました。
ユビキティ – 同時にどこにでも存在するという概念。モバイル デバイスの普及により、多くの人がいつでもどこでもインターネットに簡単にアクセスできるようになりました。
オープン性と相互運用性。アプリケーション プログラミング インターフェイス、データ形式、プロトコル、およびデバイスとプラットフォーム間の相互運用性に関するオープン性を指します。
グローバル データ リポジトリ、プログラムやネットワーク全体で情報にアクセスする機能。
つまり、Web3.0 はインターネットの読み取り、書き込み、所有に関するすべてです。
はじめに
私たちフロントエンド開発者にとって、どのようなテクノロジーを習得し、何を知っておくべきでしょうか?簡単に言えば、Web3 開発者は、ブロックチェーン上に存在し、ブロックチェーンと対話する分散型フルスタック アプリケーションを作成します。以下で簡単に説明しましょう。
まず専門用語が何であるかを理解しましょう:
- Web3: これは、イーサリアム ブロックチェーンとスマート コントラクト Smart Contract の間の接続です。
- イーサリアム イーサリアム: ユーザーがスマート コントラクトを作成することでネットワークと対話できるようにする分散型オープンソース ブロックチェーン。そのネイティブ暗号通貨はイーサリアムです。イーサリアムは、時価総額の点でビットコインに次いで2番目に価値のある仮想通貨です。 2013 年にヴィタリック ブテリンによって作成されました。
- スマート コントラクト スマート コントラクト: ブロックチェーン上に保存され、所定の条件が満たされたときに実行されるコンピューター プログラムです。スマート コントラクトは Solidity 言語で書かれています。
- 分散型: データのステータスは中央エンティティ、プラットフォーム プラットフォーム、または個人によって収集されません。
- ブロックチェーン: ブロックチェーン ネットワークは、情報が複数の共有ネットワークに保存されるポイントツーポイント接続です。デバイス間ではハッキングはほぼ不可能です。ネットワーク上に保存された情報の変更を困難または不可能にする方法で情報を記録するシステムです。
- Solidity: スマート コントラクトを作成するためのオブジェクト指向プログラミング言語。これは、さまざまなブロックチェーン プラットフォーム、特にイーサリアムにスマート コントラクトを実装するために使用されます。 Solidity の構文は JavaScript に似ています。 Solidity を理解するには、JavaScript などのプログラミング言語の知識があることが最適です。 Solidity に直接ジャンプするのは悪い考えです
- Dapp: Decentralized App の略です。これらは、分散型ネットワークまたはブロックチェーン上でバックエンド コード (主に Solidity で記述されたスマート コントラクト) を実行するアプリケーションです。 Dapps は、react、vue、Angular などのフロントエンド フレームワークを使用して構築できます。
- ビットコイン ビットコイン: 世界で初めて広く使用された暗号通貨。
- 暗号: 暗号通貨、仮想通貨、分散型デジタル通貨とも呼ばれます。
- NFT: Non-Fungible Token、チェーン上に記録された所有権を持つデジタル資産。
- DAO: 分散型自律組織、分散型自律組織。
- メタバース: 技術的手段によって作成された仮想世界の概念。
- DeFi 分散型金融: 分散型金融システム。
- トークントークン: 暗号通貨やNFTなどのデジタル資産の総称として理解できます。
- GameFi: ゲーム DeFi、中国版ブロックチェーン ゲーム、ゲーム内の金融システムは、暗号通貨と NFT を通じて現実にマッピングできます。
上記を紹介した後、開発者向けのブロックチェーンの分類について話しましょう。主にコアブロックチェーン開発(コアブロックチェーンエンジニアはブロックチェーンシステムのアーキテクチャとセキュリティプロトコルを担当します)とブロックチェーンソフトウェア開発(これらのブロックチェーン開発者はコアブロックチェーン開発者が提供する設計アーキテクチャを使用してDappsを作成します)。
開始
それでは、実際的なことに取り掛かりましょう。フロントエンド開発では、ブロックチェーンに常駐し、ブロックチェーンと対話する分散型アプリケーションを開発したいと考えています。 web3.js ライブラリと Ethers.js ライブラリ。
web3.js
web3.js は JavaScript API ライブラリです。 Ethereum 上で DApp を実行するには、web3.js ライブラリによって提供される web3 オブジェクトを使用できます。 web3.js は RPC 呼び出しを通じてローカル ノードと通信し、RPC レイヤーを公開する任意の Ethereum ノードで使用できます。 web3 には、eth オブジェクト - web3.eth (特に Ethereum ブロックチェーンとの対話用) と shh オブジェクト - web3.shh (Whisper との対話用) が含まれています。
#Add web3
web3 をプロジェクトに導入することは、既存の参照メソッドと基本的に同じです
- npm: npm install web3
- bower: bower install web3
- metor: meteor add ethereum:web3
- vanilla: dist./web3.min.js
#Use
次に、必要がありますweb3 のインスタンスを作成し、プロバイダーを設定します。 Mist 使用時の組み込みプロバイダーなど、既存のプロバイダーを上書きしないようにするには、最初に web3 インスタンスが既に存在するかどうかを確認する必要があります。if (!web3) { web3 = new Web3(web3.currentProvider); } else { web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545")); }この API はローカルと対話するように設計されているため、 RPC ノード、すべて この関数はデフォルトで同期 HTTP リクエストを使用します。非同期リクエストを行う場合。ほとんどの関数では、非同期をサポートするためにパラメータ リストに続いてオプションのコールバック関数を渡すことができます。
web3.eth.getBlock(48, function(error, result){ if(!error) console.log(result) else console.error(error); })API の特定のディレクトリは、イーサリアム ブロックチェーンとそのエコシステム用の小さいながらも完全な JavaScript API ライブラリを提供します。これはもともと ethers.io で使用されていましたが、現在はより一般的なライブラリに拡張されています。この機能は基本的に web3.js と似ています。
機能は次のとおりです:
- 安全かつ信頼できる秘密キーをクライアント上に保持します
- インポートおよびエクスポートされた JSON ウォレット ファイル (Geth、Parity、クラウドセール) をサポート
- 任意のコントラクト ABI JavaScript メタクラスから作成ABIv2 や人間が判読できる ABI
- などのオブジェクトは、JSON-RPC、INFURA、Etherscan、または MetaMask を介した Ethereum ノードへの接続をサポートします。
- ライブラリは非常に小さいです (圧縮時約 88kb、非圧縮時 284kb)
ツール
もちろん、上記に加えて、私たちもそれを使用します 開発を改善するための多くのツール
- Truffle: プロジェクトのビルド依存関係として使用されるイーサリアム仮想マシンを使用してスマート コントラクトをコンパイルおよびテストするための開発環境を提供します
- Remix IDE: スマート コントラクトの作成と使用に最適な環境。これを使用すると、ブラウザから直接スマート コントラクトを作成、変更、実行できます。どちらかというとエディタに似ています
- MetaMask: ブラウザからイーサリアム ブロックチェーン ネットワークに接続できるようにする Chrome 拡張機能
- Ganache: ローカル ブロックチェーン環境を提供しますスマート コントラクトをテストするには
Build
フルスタックを構築したいDapp
プロジェクトにユーザー インターフェイスを追加したい場合は、react.js、vue .js または angular.js は、ethers.js または web3.js を使用してブロックチェーン ネットワークと簡単に統合できるため、優れた JavaScript フロントエンド フレームワークです。コードを記述せずに完全な Dapp を作成できるさまざまなプラットフォームがあります。Bunz、Dapp builder、Atra io、Bubble io
結論
一般的に、Web3.0 はテクノロジーではなくコンセプトです。私たちフロントエンド開発者はパニックになる必要はありません。テクノロジーがどのように発展しても、私たちは常にフロントエンドを使用します。私たちは、react.js、vue.js、または angular.js を使用して、独自に開発した Dapp アプリケーション用の独自のプラットフォームを構築することも、nodejs を使用して、イーサリアムが提供するツールキットである web3.js を使用してプラットフォームを完成させることもできます。コントラクトのコンパイル、リリース、およびコントラクト メソッドの呼び出し。
プログラミング関連の知識について詳しくは、プログラミング教育をご覧ください。 !
以上がWeb3.0がやってくる!フロントエンドフレンドリーですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Reactは、メタがユーザーインターフェイスを構築するために開発したJavaScriptライブラリであり、そのコアはコンポーネント開発と仮想DOMテクノロジーです。 1。コンポーネントと状態管理:Reactは、コンポーネント(関数またはクラス)とフック(UseStateなど)を介して状態を管理し、コードの再利用性とメンテナンスを改善します。 2。仮想DOMとパフォーマンスの最適化:仮想DOMを介して、実際のDOMを効率的に更新してパフォーマンスを向上させます。 3.ライフサイクルとフック:フック(使用効果など)は、関数コンポーネントがライフサイクルを管理し、副作用操作を実行できるようにします。 4。使用例:基本的なHelloworldコンポーネントから高度なグローバル州管理(USECONTEXTおよび

Reactエコシステムには、状態管理ライブラリ(Reduxなど)、ルーティングライブラリ(Reactrouterなど)、UIコンポーネントライブラリ(材料-UIなど)、テストツール(JESTなど)、およびビルディングツール(Webpackなど)が含まれます。これらのツールは、開発者がアプリケーションを効率的に開発および維持し、コードの品質と開発効率を向上させるのを支援するために協力します。

Reactは、ユーザーインターフェイスを構築するためにFacebookが開発したJavaScriptライブラリです。 1. UI開発の効率とパフォーマンスを改善するために、コンポーネントおよび仮想DOMテクノロジーを採用しています。 2。Reactのコア概念には、コンポーネント化、状態管理(UseStateやUseEffectなど)、および仮想DOMの作業原則が含まれます。 3。実際のアプリケーションでは、基本的なコンポーネントレンダリングから高度な非同期データ処理へのReactサポートがサポートされます。 4.主要な属性の追加や誤ったステータスの更新を忘れるなどの一般的なエラーは、ReactDevtoolsとログを介してデバッグできます。 5.パフォーマンスの最適化とベストプラクティスには、React.Memo、コードセグメンテーション、コードの読み取り可能な状態を維持し、信頼性を維持することが含まれます

HTMLでのReactの適用により、コンポーネントと仮想DOMを通じてWeb開発の効率と柔軟性が向上します。 1)反応コンポーネントのアイデアは、UIを再利用可能なユニットに分解して、管理を簡素化します。 2)仮想DOM最適化パフォーマンス、拡散アルゴリズムを介してDOM操作を最小限に抑えます。 3)JSX構文により、JavaScriptでHTMLを作成して開発効率を向上させることができます。 4)UseStateフックを使用して状態を管理し、動的なコンテンツの更新を実現します。 5)最適化戦略には、React.memoとusecallbackを使用して不必要なレンダリングを減らすことが含まれます。

Reactの主な機能には、コンポーネント思考、国家管理、仮想DOMが含まれます。 1)コンポーネント化のアイデアにより、UIを再利用可能な部分に分割して、コードの読みやすさと保守性を向上させることができます。 2)状態管理は、状態および小道具を通じて動的データを管理し、変更を変更しますUIの更新をトリガーします。 3)仮想DOM最適化パフォーマンス、メモリ内のDOMレプリカの最小操作の計算を通じてUIを更新します。

Reactの利点は、その柔軟性と効率性であり、これは以下に反映されています。1)コンポーネントベースの設計により、コードの再利用性が向上します。 2)仮想DOMテクノロジーは、特に大量のデータ更新を処理する場合、パフォーマンスを最適化します。 3)リッチエコシステムは、多数のサードパーティライブラリとツールを提供します。 Reactがどのように機能し、例を使用するかを理解することにより、そのコアコンセプトとベストプラクティスをマスターして、効率的で保守可能なユーザーインターフェイスを構築できます。

Reactは、大規模で複雑なアプリケーションに適したユーザーインターフェイスを構築するためのJavaScriptライブラリです。 1. Reactのコアはコンポーネント化と仮想DOMであり、UIレンダリングパフォーマンスを向上させます。 2。Vueと比較して、Reactはより柔軟性がありますが、大規模なプロジェクトに適した急な学習曲線があります。 3。Angularと比較して、Reactはより軽く、コミュニティの生態学に依存し、柔軟性を必要とするプロジェクトに適しています。

Reactは、仮想Domを介してHTMLで動作します。 1)ReactはJSX構文を使用してHTMLのような構造を書きます。 2)仮想DOM管理UIアップデート、拡散アルゴリズムによる効率的なレンダリング。 3)Reactdom.render()を使用して、コンポーネントを実際のDOMにレンダリングします。 4)最適化とベストプラクティスには、React.MEMOとコンポーネントの分割を使用して、パフォーマンスと保守性を向上させることが含まれます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

メモ帳++7.3.1
使いやすく無料のコードエディター
