Web3スタック:開発者向けリファレンス
公開: 2022-04-11Web3プロジェクトの構築に参加しますか? このリファレンスでは、最も一般的なレイヤーと開発環境の概要を説明します。
現在、このトピック(Web3)の周りにかなりの話題があることは周知の事実です。 多くの人々が、Web3メタバースの新たなスタートを追求するために、FAANGや著名なスタートアップでの仕事を辞めています。
そして、あなたが同じようなかゆみを感じていると仮定すると、どこから始めますか? この記事は、Web3開発に直接飛び込みたい人に完全に捧げられています。 私たちの焦点はさまざまなカテゴリーにあり、それぞれがあなたの旅を始めるための貴重なリソースを含んでいます。
このリファレンスにアクセスできるようにするために、リソースを別々のセクションに分割します。
そしてそれらのセクションは次のとおりです。
- レイヤー。 開発で使用される最も人気のあるブロックチェーン。
- 開発環境。 これらのレイヤーへのデプロイに役立つツール。
- 身元。 ウォレットIDを中心に構築し、暗号サインインを使用する方法。
- 保管所。 P2P技術を使用して永続的なデータストレージを作成します。
- API。 メインネットワークに直接アクセスして情報を取得します。
- フロントエンド。 フロントエンドのもののための人気のあるフレームワーク。
スタックは、特定の目標を達成するために使用されるテクノロジーの特定の組み合わせを定義するために使用される用語です。 フルスタック開発であろうと、この場合はWeb3スタックであろうと。 Web3アプリや製品の構築に関連するテクノロジーは、かなり「不安定」であることに注意してください。
より多くの人々がブロックチェーン上でソフトウェアを構築することに慣れてくるにつれて、多くのことが変化しているという意味で。 したがって、このリファレンスの目標は、実際のプロジェクトですでに使用されているリソースに言及することです。
それがすべて良さそうなら、私たちは始めることができます。
レイヤー
Web3プロジェクトの基盤は、レイヤーから始まります。 アプリケーションまたは製品が存在する特定のブロックチェーンネットワーク。
#1。 イーサリアム
イーサリアムは、そのネイティブのスマートコントラクト提案のおかげで人気を博しました。
それ以来、開発者はそれを次世代のWeb3アプリケーションを構築するための好ましいブロックチェーンレイヤーにしました。 また、多くのNFTプロジェクトで推奨されるレイヤーであるため、NFT関連のアプリで作業したい場合は、Ethereumにすぐに提供できるものがたくさんあります。
#2。 ポリゴン
ポリゴンレイヤーはイーサリアムのサイドチェーンであり、トランザクション(ガス)料金を低く抑えながら、より複雑なセキュリティプラクティスを提供します。 トランザクション数が非常に多いが、トランザクションの価格が低いプロジェクトで人気があります。
Polygonは側鎖であるため、レイヤー2ブロックチェーンとも呼ばれます。 ただし、Polygonの急速な開発により、NFTアプリだけでなく、dAppや支払いシステムにも人気があります。
その他の注目すべきWeb3レイヤー:
- ソラナ。 大規模なDeFiアプリを構築するという目的のために構築されたブロックチェーン。
- NEARプロトコル。 膨大な開発者リソースを備えたスマートコントラクトブロックチェーン。
- 水玉模様。 ガバナンスプロジェクトを構築するためのクロスブロックチェーンプロトコル。
- テゾス。 分散型のクリエイティブプラットフォームを構築するためのエネルギーに焦点を当てたプラットフォーム。
- ファントム。 dAppを構築するためのオープンソースのスマートコントラクトプラットフォーム。
開発環境
開発環境では、「最初から始める」部分全体をスキップできます。 これらは当分の間、ほとんどイーサリアムベースです。
#1。 ヘルメット
Hardhatは、イーサリアム開発者向けの開発環境です。 これは、開発者が分散型アプリだけでなくスマートコントラクトを構築してまとめるプロセスを自動化するのを支援することで機能します。 その人気は、アプリをローカルでテストするために使用できるイーサリアムネットワークの1対1のコピーである組み込みのハードハットネットワークに由来しています。
#2。 トリュフ
Truffleは、スマートコントラクトを構築するためのJavaScriptベースのフレームワークです。 EVM(Ethereum Virtual Machine)を使用することを前提としており、開発プロセスを加速するためのツールを提供します。 これらのツールの一部には、自動テスト、コントラクトコンパイラ、およびコンソールから直接連絡先にアクセスするための個別のツールが含まれます。
その他の注目すべきWeb3開発環境:
- ファウンドリ。 イーサリアムでアプリを構築するためのRustベースのツールキット。
- ブラウニー。 スマートコントラクトを構築およびテストするためのPythonベースのフレームワーク。
- アンカー。 Rustで書かれたSolanaと連携するためのフレームワーク。
- 乗船します。 イーサリアムの上に構築するオールインワンフレームワーク。
- ワッフル。 スマートコントラクトをテストするためのカスタムビルドのフレームワーク。
身元
従来のユーザー名とパスワードの認証とは異なり、Web3では、開発者はウォレットの使用と公開鍵の両方を実装します。
#1。 WalletConnect
WalletConnectは、モバイルウォレットを介してdAppに接続するために使用されるオープンソースプロトコルです。 WalletConnectを使用する主な概念は、QRコードのスキャンを中心に解決され、ユーザーはこれを使用してIDを確認し、Web3アプリへの新しい接続を承認できます。
PillarやMetaMaskのようなウォレットを知っているなら、それらはすべてWalletConnectと直接統合されます。 これは、多くの開発者リソースにアクセスできることも意味します。 最後になりましたが、プロトコルはすべての主要なブロックチェーンで機能し、より多くのチェーンが頻繁に追加されます。
#2。 スプルース
SpruceはYCombinatorが支援するスタートアップであり、分散型IDの概念をブロックチェーン外の領域にもたらすことを目的としています。 このキットは、ユーザーがソーシャルメディア、個人のWebサイト、ブロックチェーンネットワークなどのさまざまなメディアでデジタルIDを確認できるようにすることを目的としています。
保管所
メディア(ビデオ、写真など)をWeb3にどのように保存しますか? これは主にP2Pファイルストレージプロトコルを使用して行われます。
#1。 IPFS
IPFSは、世界をリードするP2P(ピアツーピア)ストレージプロトコルです。 ファイルをIPFSにアップロードすると、そのファイルのサイズが変更され、カスタムハッシュによって保護され、一意の識別子として指紋が割り当てられます。
その後、そのネットワークの一部である他のノード(システムまたはユーザー)は、ファイルにアクセスして検証し、キャッシュに保存できます。 キャッシュされると、正しいアクセス方法で誰でもファイルにアクセスできます。
最終的に、IPFSの目標は、分散型ストレージシステムを提供することだけではありません。 しかし、コンテンツが数年ではなく数十年に及ぶことを保証するためにも。 たとえば、Webサイトがしばらくすると消え、メディアを含むすべてのコンテンツが失われます。 IPFSは、そのための真のソリューションを提供します。
#2。 スカイネット
Skynetは、Sia(分散型)クラウドネットワークを使用してアクセス可能なファイル共有を提供します。 実際にホームページからすぐに使用できます。 ファイルをアップロードするだけで、リンクが表示されます。 APIキーにサインアップしない限り、90日間続きます。 ただし、開発のコンテキストでは、Skynetを使用すると、同じユースケースを簡単に複製できますが、独自の分散型アプリケーション内にあります。
#2。 ファイルベース
Filebaseは、AmazonS3APIとの直接リンクを提供するSaaSスタートアップです。 このAPIを使用してS3バケットからデータをフェッチし、それらをさまざまな分散ストレージオプションに再分散させることができます。
現在、Filebaseは、Skynet、IPFS、Sia、StorjなどのWeb3ベースのストレージオプションをサポートしています。 開発者として、これは、クライアントに分散型ファイルストレージサービスを提供するプロセスを簡素化できることを意味します。
また、新規ユーザーとして5GBのストレージを無料で利用できますが、料金は有料プランでもリーズナブルです。
その他の注目すべきWeb3ストレージソリューション:
- アーウィーブ。 Arweaveは、単一の前払い料金でデータを永続的かつ持続的に保存できるようにするプロトコルです。
- ファイルコイン。 あらゆる種類のメディアを分散型クラウド環境に保存します。
- 群れ。 イーサリアムのスマートコントラクトによってインセンティブを与えられる自立したP2Pストレージノード。
- アレフ。 dAppを構築し、Alephにクラウドベースのストレージを管理させます。
API
従来のデータベースベースのスタックとは異なり、開発者はAPIを使用してブロックチェーンと対話し、ブロックチェーンにデータを要求または保存します。 APIは、クライアントと呼ばれることもあります。
#1。 グラフ
グラフは、さまざまなブロックチェーンに接続するためのオールインワンAPIソリューションです。 このAPIの目的は、開発者が個別のアルゴリズムを構築する必要があるデータにアクセスできるようにすることです。 たとえば、ブロックチェーンのデータポイントは、スマートコントラクトに基づく単純なアドレスから複雑なトランザクションに由来します。
この例は、NFTの履歴を追跡することです。
個々の購入履歴はかなり簡単に追跡できる可能性がありますが、さまざまな購入との関係を理解しようとすると、次第に難しくなります。 このような場合、Graph APIは、特定のユースケースをすばやく視覚化するのに役立つ事前に作成された呼び出しとインデックスディレクトリを提供します。
#2。 Web3.js
Web3.jsは、イーサリアムと直接対話するための最も人気のあるJavaScriptAPIです。 これは主に、イーサリアムチェーンと相互作用するクライアントアプリケーションを開発するために使用されます。 Web3.jsに含まれるサブライブラリのコレクションは、転送、スマートコントラクト管理などの機能を提供します。
#3。 錬金術
Alchemyは急速に成長し、最も尊敬されるWeb3プラットフォームの1つになりました。 彼らのアプローチはすべて、Web3アプリケーションを迅速に構築およびスケーリングする方法について開発者を教育することです。 そして、彼らは洗練されたブロックチェーンAPIと一連の開発者ツールを提供することでこれを行うことができます。
#4。 useDApp
useDAppは、Ethereumブロックチェーンと対話するためのReactベースのフレームワークです。 これは、React.js、Ethers.jsライブラリ、Waffle、およびWeb-3Reactコンポーネントで構成されています。 これは通常、プロジェクトのニーズに基づいてさまざまなデータクエリを表示できる簡単にアクセスできるWebサイトのフロントエンドを構築するために使用されます。
フロントエンド
開発者は、Web3プロジェクトのフロントエンドインターフェイスを構築するためにどのようなフレームワークを使用していますか?
#1。 React
Reactの人気は比類のないものです。 そして、それがWeb3サイトで最も人気のあるフロントエンドライブラリでもあることを知っても驚くことではありません。 コンポーネント駆動型アーキテクチャは、開発者がコア設計に干渉することなくフロントエンドの複数の部分で作業できることを意味します。
確かな出発点として、GitHubのWeb3-Reactライブラリを確認できます。
#2。 次
Next.jsはReactの後継ですが、どちらも直接提携していません。 大規模なWeb3プロジェクトには膨大なリソース管理が必要であり、Next.jsには静的プロジェクトと動的プロジェクトの両方のネイティブツールがバンドルされており、Binance、Bitscreener、Hashnodeなどの企業で使用されています。
クイックスタートについては、NextWeb3Boilerplateをご覧ください。
Web3開発の開始
特に、まだ始めたばかりの場合は、取り入れることが非常に多くなります。 事実、この分野では物事が非常に急速に変化しています。 初期のプロジェクトはすべてNFTに関連していましたが、最近では、分散型ネットワークと個々のブロックチェーンプラットフォームに重点が置かれています。
Web3プロジェクトを開始する限り、このリファレンスで十分です。 また、TwitterとDiscordの両方で最新のWeb3トレンドに追いつくための最も活発なコミュニティであるため、これらの両方でループを維持することをお勧めします。