ノード — Alchemy のように、開発者がブロックチェーンネットワークに接続するのを助けます。
オンチェーンデータのクエリとインデックス — The Graph のように、バックエンド開発者がチェーン上のデータをクエリし、インデックスを作成するのを助けます(この分野は非常に重要で、多くの Web3 プロジェクトがこのニーズを持っています。例えば、NFT プロジェクトのコミュニティ運営や DeFi プロトコルの取引追跡など)。
オラクル — 例えば Chainlink のように、スマートコントラクト開発者がオフチェーンデータを呼び出すのを助けます。
分散型ストレージ — IPFS / Arweave のように。
かつて Web3 開発者であった経験を基に、Chainbase の創設者 Mogu はこれらの分野を整理し、開発者が Web3 開発ツールをより良く理解できるように 5 つのレイヤーに分解しました。これらの 5 つのレイヤーは、ネットワーク層、ノード層(IaaS)、ミドルウェア層(PaaS)、上流層(SaaS)、データ分析層です。
チェーンと対話するミドルウェア(PaaS)として、Chainbase は開発者がより馴染みのある方法(例えば、馴染みのある言語を使用するなど)でブロックチェーンネットワークと対話できるように、完全なツールセットを提供することを目指しています。これにより、開発者が Web3 に入るためのハードルを下げます。
一般的に、Dapp 開発者はチェーンと対話するために以下のステップを完了する必要があります:
ノードを構築してブロックチェーンネットワークに接続する
データのデコード(データクレンジング)、マルチチェーンデータを構造化するためのサーバーを構築する
APIを開発してサーバーデータをクエリし、インデックスを作成する
フロントエンドがAPIを呼び出して正しいデータを表示する
ここでは、Chainbase が提供する 3 つのサービス(Chain API、Web3 API、deCrypto Data Cloud)を例に、プロセス中の課題と異なる開発者ツールがこれらの問題をどのように解決するかを示します。
画像 チェーンとの対話プロセスにおける課題と開発ツール
- Chain API サービス(JSON RPC)
重要なポイント:ノードを介してブロックチェーンネットワークに接続する必要があります。しかし、プロジェクト側が独自にノードを構築するコストは非常に高い(人件費、サーバー、時間など)ため、この問題はプロジェクトの初期段階で特に顕著です。
例えば、Ethereum に接続するために、開発者は以下の作業を完了する必要があります:
クラウドサービスを購入する(中央集権的なクラウド、例えば AWS、Google Cloud、Azure など、または分散型クラウドコンピューティングサービス)、Geth ノードをインストールする(痛点:高コスト)
データを同期する(痛点:運用と維持コスト、時間コスト)
JSON RPC API(独自構築またはサードパーティのプロバイダーを使用)を使用して Ethereum に接続する
プロジェクト側がこのプロセスを自分で完了した場合、費用には以下が含まれます:
クラウドサービス(使用する計算量に依存)+ 運用と維持 + 追加費用
負荷分散コスト(中央集権的なクラウドサービスの場合)、サービス障害リスクを回避するため
全体として、毎月 1 万ドル以上の費用がかかる可能性があります(小規模なプロジェクトでも)、さらに維持にかかる追加の時間が必要です —— これらの時間は本来、製品開発に使うことができたはずです。逆に、サードパーティのプロバイダーを使用することで、時間とコストを節約できます —— 毎月 100 ドル未満になる可能性があります。したがって、ほとんどのプロジェクト側は後者の解決策を採用します。
類似のプロバイダー:Alchemy、Infura、QuickNode、Ankr、InfStones など。
これらのサービスプロバイダーは主にノードサービスを提供していますが、Chainbase はデータクエリ / インデックスに重点を置いています(ノードサービスは私たちのパッケージの一部に過ぎません)。さらに、多くのサービスプロバイダーの価格設定は小規模チームや個人開発者にとってはあまり親切ではありません。
- Web3 API サービス
重要なポイント:ブロックチェーンネットワークに接続した後、データをクエリし、インデックスを作成します。しかし、オンチェーンデータは「分析可能」ではありません。さらに、開発者は EVM(ETH、Layer2 など)と non-EVM(Solana、Flow など)の異なるデータ構造を扱う必要があります。
ブロックチェーンネットワークは本質的に分散型台帳であり、「非構造化」データで構成される「データベース」と見なすことができます。例えば、EVM チェーン上のプロトコルレベルのデータ(ERC20、ERC721、ERC1155、ERC137 など)をクエリするためには、一般的なビジネスシナリオ(トークン、NFT、ENS ドメインなど)に対して、開発者はまずチェーン上のデータをデコードし、構造化する必要があります。その後、API を開発してデータをクエリし、インデックスを作成します。また、彼らは複数のパブリックチェーンと異なるプロトコルに対して同じことを行わなければなりません(注意:non-EVM のデータデコードはより複雑です)。
類似のプロバイダー:Moralis、The Graph。
Moralis はテンプレート API を提供しており、オープン性はありません。したがって、彼らが提供する API が開発者のニーズを満たさない場合、良い解決策はありません。Chainbase はカスタマイズ可能な設定を実現できるため、より柔軟でオープンです。
The Graph はごく少数のチェーンのデータインデックスを提供していますが、dApp シーンに限定されています。しかし、dApps によって生成されるデータはブロックチェーンネットワークのごく一部に過ぎません。さらに、GRT はクラウド化されていないため、開発者の長尾ニーズを満たすためのデータクラウドサービスを提供できません。
- deCrypto Data Cloud
重要なポイント:新興プロジェクト(成熟したプロジェクトも含む)にとって、彼らの革新的なニーズはより長尾のビジネスシナリオに関連しており、これにより既存の API がプロジェクト側のニーズを完全に満たすのが難しくなります。したがって、彼らが API を自動的にカスタマイズできるプラットフォームが必要です。
Web3 データのデコードと構造化は困難であり、リアルタイム性を実現することはさらに難しいです。
このようなプラットフォームを構築する基本的な課題には以下が含まれます:
リアルタイム能力
ストレージコスト
応答速度
技術的難易度
運用と維持コスト
したがって、Web3 の個人開発者や開発チームにとって、独自のデータベースを構築することは技術的に非常に困難であり、時間と労力がかかります。
Chainbase は Web3 API の基盤の上に、多テナント隔離とセキュリティ監視の処理を経て、サービスを開発者に公開し、彼らがプラットフォーム上で自由に SQL プログラミングを使用してカスタマイズ API を生成できるようにします。これをブロックチェーンネットワークの上にある抽象層と見なすことができ、マルチチェーン上のすべてのデータを集約し、開発者がこのデータベースを使用して簡単かつリアルタイムでオンチェーンデータのクエリやインデックス作成などの作業を行えるようにします。
開発者は deCrypto Data Cloud を使用して何ができますか:
エンド機能 -- SQL
クエリ -- データ
API を作成 -- 所有者
バックエンドコーディング -- API およびその他
類似のプロバイダー:現在、市場に直接の競合相手は見当たりませんが、deCrypto Data Cloud は Dune Analytics のよりオープンでリアルタイムな、開発者向けのバージョンと見なすことができます。
deCrypto Data Cloud と Dune Analytics の違いは以下の通りです:
Chainbaseはリアルタイム計算を採用し、開発者にリアルタイムデータベースと応答能力を提供しますが、Dune Analyticsはオフライン分析ダッシュボード(データは毎日更新)を提供します。これらの2つの製品は、焦点と解決シナリオが実際には異なります。
deCrypto Data Cloudは主にバックエンド開発者向けであり、データアナリスト向けではありません。バックエンドエンジニアはこの製品を使用してAPIを作成し、データをクエリし、結果をフロントエンドに返します。(背景情報:バックエンドは
開発キット#
開発者が私たちの製品を使用して dApps を構築する際、彼らは API の状態を監視したいと考えています。これにはデバッグ、SDK などが含まれますが、これに限りません。開発者中心のチームとして、私たちはユーザーが関連する活動を管理しやすくするためのオールインワンの開発者フレンドリーなインターフェースを提供しています —— これは上記の 3 つのサービスの補完でもあります。
Chainbase は、Web3 ブロックチェーンインタラクションレイヤーのインフラストラクチャのリーダーです。クラウド化された API サービスを提供することで、開発者がブロックチェーンネットワークに迅速にアクセスし、利用できるようにし、Web3 アプリケーションを簡単に構築できるようにします。
Chainbase は、チェーンとのインタラクションとオンチェーンデータのクエリ / インデックス作成をより簡単にします。誰でもオープンな API を使用、構築、公開できるため、開発者はバックエンドの問題を解決するのではなく、アプリケーションレベルの革新に集中できます。
Chainbase は現在、Ethereum、Polygon、BSC、Fantom、Avalanche、Arbitrum などのチェーンをサポートしています。dApp がどのチェーンにデプロイされていても、プロジェクトの規模に関わらず、開発者は開発時間とコストを大幅に削減できます。
本記事で分析したように、Chainbase の競争優位性は以下の通りです:
リアルタイムのマルチチェーンデータクエリ / インデックスを提供
SQL を介してカスタム API を生成することをサポート
統合された開発者フレンドリーなインターフェース
安定したサービスと手頃な価格
タイムリーで信頼できる技術サポート
期待されるのは3-5 年のプログラミング開発経験を持ち、1 年以上のスマートコントラクトまたはブロックチェーン関連の開発経験を持つ中級開発者です。私はスクリーンショットを下に貼り付け、重要な部分にマークを付けました。
このブロックチェーンから以下の技術的要点が見て取れます:
-
ブロックチェーンの基本原理
-
Ethereum 技術に精通し、EVM を深く理解している
-
Solidity プログラミング
-
スマートコントラクトの設計、開発、テスト、展開、維持
-
スマートコントラクトのクロスチェーントランザクション
-
Truffle 開発フレームワーク
-
web3js、ethers.js、OpenZeppelin などのライブラリ
たとえ Web3 の開発にまだ触れたことがなくても、Web 開発の経験があるプログラマーであれば、Dapp のアプリケーション開発パラダイムは基本的に一致しています。この JD から以下のポイントをまとめられると思います:
-
ブロックチェーンの基本原理と Ethereum 技術は Web3 開発の基礎知識です。
-
スマートコントラクトはブロックチェーン開発の重要な要素です。
-
Solidity はスマートコントラクトを書くための重要な言語です。
-
Truffle は主流のブロックチェーン開発フレームワークです。
-
web3js、ethers.js、OpenZeppelin はブロックチェーン開発でよく使用されるライブラリです。
そうです、これらの技術ポイントは Dapp 開発やスマートコントラクトの作成で通常使用されるものです。もしかしたら、まだその中の概念や技術を完全に理解していないかもしれませんが、大丈夫です。大まかな印象を持っていればいいのです。次に、以下の「学習ルートガイド」でこれらについて言及します。
基礎知識の学習は多くの人にとって退屈であることが避けられません。ブロックチェーンを学ぶ際には、国内外の具体的なアプリケーションについても理解しておくと良いでしょう。例えば、MetaMask(最も有名なブロックチェーンウォレット)、Stepn(ランニングシューズを購入し、走ることで収益を得る Dapp)、Axie Infinity(ポケモンをテーマにしたブロックチェーンゲーム)、NBA TopShot(NBA 公式認証の NFT)、OpenSea(世界最大の NFT 取引市場)などがあります。
これらのブロックチェーンに基づく Dapp を理解することで、ブロックチェーンのアプリケーションシナリオをより直感的に認識できます。直接使用できるインタラクティブなアプリケーションほど直感的なものはありません。理解を深める過程で、現在のブロックチェーンエコシステムの繁栄を発見するでしょう。現在、多くの Dapp は Ethereum だけでなく、BNB Chain、SOLONA、TRON などの多くのパブリックチェーンエコシステムでも運営されています。
すべての開発者にdappradar.comを通じて Dapp エコシステムを探索することをお勧めします。このウェブサイトは、Apple エコシステムの Apple Store に類似しており、DappRadar は Web3 の世界の Apple Store です。また、このウェブサイトのブログの質は非常に高く、優れたブログ記事や専門的なブロックチェーン調査報告が多数あります。
ブロックチェーンの基礎知識を理解したら、次は技術学習の段階に進むべきです。前述のように、新人開発者にとって、ブロックチェーンを学ぶ最良の方法は Ethereum から始めることです。次に、Ethereum エコシステムの関連技術スタックを見ていきましょう。
-
ブロックチェーンアプリケーションエコシステム:
-
Ethereum の基礎:
-
MetaMask と Faucet:
-
faucets.chain.link/rinkeby(Rinkeby テストネット)
-
www.rinkeby.io/#faucet(Rinkeby テストネット)
-
faucet.metamask.io/ (Faucet テストネット)
-
Solidity:
-
Remix:
-
js ライブラリ
-
開発フレームワーク:
-
Truffle 中国語ドキュメント(このドキュメントは比較的古く、更新されていないため、公式サイトを確認することをお勧めします)
-
ERC-20:
-
スマートコントラクトライブラリ:
-
スマートコントラクトセキュリティ:
**NFTLaunchKit:**NFTLaunchKit を使用すると、コードなしでウェブサイトのダッシュボードでスマートコントラクトを作成できます。同時に、NFTLaunchKit は NFT ミントサイトを作成するためのテンプレートを提供し、ダッシュボードからすべてを管理します。
**Hardhat:**Hardhat は Ethereum 開発環境です。開発者は Hardhat でコントラクトをコンパイルし、オープンネットワークで実行でき、Solidity スタックトレースやコンソールなどの機能もあります。
**Foundry:**Foundry は Rust で書かれた Ethereum アプリケーション開発のための非常に高速でポータブルかつモジュール式のツールキットです。
**Brownie:**Brownie は Ethereum 仮想マシン向けのスマートコントラクトの開発とテストのための Python ベースのフレームワークです。
**dapp.tools:**dapp.tools は Ethereum 中心の CLI ツールセットで、Unix 設計理念に従い、組み合わせやすさ、設定可能性、拡張性を促進します。
**Ganache:** 個人の Ethereum ブロックチェーンを迅速に立ち上げるのを助け、テストを実行したり、コマンドを実行したり、状態を確認したりすることができます。
**Waffle:** スマートコントラクトの効果的なテストツールです。
フロントエンドツール#
**wagmi:**wagmi は React Hooks のコレクションで、Ethereum を使用するために必要なすべてを含んでいます。wagmi は簡単にウォレットに接続し、ENS と残高情報を表示し、メッセージに署名し、コントラクトと対話することができます —— これらすべてはキャッシュ、リクエストの重複排除、持続性を備えています。
**Solana-Web3.js:**Solana-Web3.js ライブラリは、Solana への完全なカバレッジを提供することを目的としています。このライブラリは Solana JSON RPC API の上に構築されています。
**Ethers.js:**Ethers.js ライブラリは、Ethereum ブロックチェーンおよびそのエコシステムと対話するための完全でコンパクトなライブラリを目指しています。
**Web3.js:**Web3.js は、開発者が HTTP、IPC、または WebSocket を使用してローカルまたはリモートの Ethereum ノードと対話できるようにするライブラリのコレクションです。
**Web3Auth:**Web3Auth は、Web3 ウォレットとアプリケーションが主流およびネイティブ Web3 ユーザーにシームレスなユーザーログインを提供できるようにするシンプルな非管理型認証インフラストラクチャです。
**Web3Modal:**Web3Modal は、開発者が簡単にカスタマイズ可能な設定を通じてアプリケーションに複数のプロバイダーのサポートを追加するのを助ける使いやすいライブラリです。
**NFTs2Me:**NFTs2Me は、NFTLaunchKit のように無コードプラットフォームを使用して NFT を作成、ミント、販売することができます。NFTLaunchKit も非常に便利なフロントエンドツールであり、ここでは詳しく説明しません。
ストレージツール#
**NFT.Storage:**IPFS と Filecoin 上の NFT の無料分散ストレージと帯域幅。NFT.Storage は、オフチェーン NFT データ(メタデータ、画像、その他の資産)のために設計された長期ストレージサービスで、アップロードサイズは最大 31GiB です。
**Web3.Storage:** 分散型ネットワーク上でデータを保存する最も簡単な方法。シンプルな API を使用してデータを保存します。迅速でオープンかつ無料です。
**OrbitDB:**OrbitDB はサーバーレスの分散型ピアツーピアデータベースです。OrbitDB は IPFS をデータストレージとして使用し、IPFS Pubsub を使用して自動的にピアとデータベースを同期します。これは最終的に一貫性のあるデータベースであり、CRDT を使用して衝突のないデータベースマージを行い、OrbitDB を分散型の優れた選択肢にします。
**ThreadDB:**ThreadDB は IPFS と Libp2p に基づいて構築されたマルチパーティデータベースで、Web 上のデータに別のアーキテクチャを提供します。
**Spheron:** 分散型ネットワークホスティングで、Arweave、Skynet、IPFS、Filecoin 上のストレージをサポートします。
セキュリティ#
**Mythril:**EVM バイトコードのセキュリティ分析ツールです。Ethereum、Hedera、Quorum、Vechain、Roostock、Tron など、EVM 互換のブロックチェーンで構築されたスマートコントラクトのセキュリティ脆弱性を検出します。
**Slither:**Slither は Python 3 で書かれた Solidity 静的分析フレームワークです。脆弱性検出器のセットを実行し、コントラクトの詳細に関する視覚情報を印刷し、カスタム分析を簡単に作成するための API を提供します。Slither は開発者が脆弱性を発見し、コードの理解を深めるのを可能にします。
**MythX™:**ConsenSys Software Inc™の MythX™は Ethereum スマートコントラクトの主要なセキュリティ分析サービスです。私たちの使命は、開発チームが高価なエラーを回避し、Ethereum をより安全で信頼できるプラットフォームにすることです。
**Manticore:** スマートコントラクトとバイナリファイルを分析するためのシンボリック実行ツールです。
**Securify 2.0:**Securify 2.0 は Ethereum 財団と ChainSecurity がサポートする Ethereum スマートコントラクトのセキュリティスキャナーです。
監視ツール#
**Blocktorch:**Blocktorch は分散型スタックの可観測性プラットフォームです。分散コンポーネントの状態を一目で把握できます。ログを迅速にブラウズし、十分なコンテキストを提供します。サービスレベル目標を設定して異常を確認し、通知を受け取ります。
**Tenderly:** リアルタイム監視、アラート、デバッグ、スマートコントラクトのシミュレーションのための包括的な Ethereum 開発者プラットフォームです。
ブラウザ#
** ブロックブラウザは、ブロックチェーンを検索するためのオンラインインターフェースを提供し、開発者やユーザーがトランザクション、アドレス、ブロック、手数料などに関するデータを取得できるようにします。** 各ブロックブラウザは特定のブロックチェーンに関するデータを提供し、含まれる情報の種類はサービスするブロックチェーンのアーキテクチャによって異なります。例えば、Etherscan は Ethereum のブロックブラウザおよび分析プラットフォームであり、Solana Explorer は開発者が Solana チェーン上でトランザクションやアカウントを検索できるようにします。このように、対応する開発ネットワークの Block Explorer を検索すれば、それぞれのブラウザを見つけることができます。
**UpStreamApp:** 世界中の暗号通貨と Web3 に焦点を当てたオンラインイベントに参加し、DAO に参加し、新しい友達を作ります。
**Crypto Nomads Club:**Crypto Nomads Club は、世界中のさまざまな暗号活動で出会ったデジタルノマドや常連旅行者を対象としています。
**Eventbrite:**Eventbrite は Web3 イベントをマッチングするか、自分のイベントを作成できます。
**TinTinLand:**Web3 開発者コミュニティで、前述のコミュニティに比べて、TinTinLand はイベントやソーシャル機能を提供するだけでなく、Web3 技術リソースや専門コースも提供します。
Web3 のマーケティングツールは、製品のマーケティング段階で開発者が製品をより良くローンチするのを助けます。
**Mobula.fi:** 分散型データアグリゲーター(トークン、NFT)。
**WaitlistPanda:** 潜在顧客を収集し、オーディエンスを構築する最も簡単な方法で、「ウイルス的」な候補者リストやソーシャル推薦などを作成できます。
**Lemlist:** パーソナライズされたメール、自動フォローアップ、すべてのチャネルの潜在顧客とのインタラクション。Lemlist は販売自動化とメールソフトウェアを統合します。
**Make:** ノーコードの自動化マーケティングを作成します。
Solidity プログラミング言語は、すべてのスマートコントラクト開発者にとって最も基本的な部分であり、スマートコントラクトを書く方法の鍵です!以下のいくつかの言語から選択し、開発を開始できます。
-
Solidity L スマートコントラクト言語の要約。もしあなたがスマートコントラクトの初心者であれば、Solidity から始めるべきです。もしあなたがずっとスマートコントラクトを扱っているのであれば、Solidity についてすでに理解しているかもしれません。Solidity は、Ethereum、Avalanche、Moonbeam、Polygon、BSC などのほとんどのスマートコントラクトプラットフォームに適用されます。これは、ほとんどのブロックチェーンが Ethereum 仮想マシン(EVM)を採用しているためです。
-
LOpenzeppelin 仮想機械(EVM)、Solidity はそのために生まれました。現在、上位 10 の DeFi プロジェクトのうち 9 つが Solidity を主要なプログラミング言語として使用しています。L スマートコントラクトの要点の要約。私は、将来的に 90%のスマートコントラクトの価値が Solidity で実現されると予測しています。
-
Solidity 言語は活発にメンテナンスされており、大量のサポートがあります。L スター選手:yul/assembly を別の言語として限定できますが、Solidity と一緒に使用されるため、私はそれを独自の言語とは見なしていません。L 優れた選手 L 補欠選手 Vyper L 非 EVM:Vyper は EVM 互換の別の言語であり、上位 10 の DeFi プロジェクトの 1 つで使用されています(他のいくつかのプロジェクトは補助的に使用しています)、つまり Curve.fi です。Vyper は Python ベースの言語で、私はそれを好んで使用しています。その適用範囲は EVM の兄弟である Solidity ほど広くはありませんが、Python が好きな場合は、Solidity ではなくこの言語を試してみることをお勧めします。スター選手 LHardhat Rust Rust はブロックチェーンの新星であり、EVM で使用できないブロックチェーン(Ethereum、Polygon、Binance Smart Chain など)で使用されます。
-
しかし、Rust は Solana、Terra などの新興ブロックチェーンや Polkadot のブロックチェーンアプリケーションに適用されます。Rust はパフォーマンスの良い汎用言語であり、スマートコントラクト以外でも使用されます。そのため、多くのパブリックチェーンが開発言語として Rust を選択しています。その論理は、「ああ、まあ、一部の開発者が Rust を習得しているので、開発者ができるだけ多くの場所で Rust を使用できるようにしましょう」となります。これらの新興ブロックチェーンに参加したい場合、Rust は信頼できる選択肢です。私の推測では、Rust は現在、世界中のスマートコントラクトにロックされている価値の約 5%をカバーしていますが、これは完全に推測です。
-
スマートコントラクト言語の要点:
・必ず知っておくべきこと:Solidity
・Python 愛好者:Vyper
・Terra、Solana、Polkadot:Rust など -
- スマートコントラクト必須ツール
この部分では、スマートコントラクトで使用されるツールについて議論します。これらのツールの中から唯一の選択をする必要はありません。望むなら、これらすべてのツールを使用できます!これらをどのように分類するかは不明ですが、「必須」という表現が適切だと思います。Chainlink
Chainlink はブロックチェーンオラクルであり、スマートコントラクトをハイブリッドスマートコントラクトにするためのツールです。これにはいくつかのオフチェーンコンポーネントが含まれ、現実世界と接続されます。スマートコントラクトは素晴らしいですが、外部世界と接続されていないという大きな問題があります。オフチェーンコンポーネント(データやオフチェーン計算など)を使用してスマートコントラクトを分散化するには、オフチェーンデータと計算を分散化する必要があります。これが Chainlink ネットワークとツールの役割です。ほとんどのトップスマートコントラクトプラットフォームはハイブリッドスマートコントラクトであり、オラクルをインフラストラクチャの重要な構成要素としています。DeFi Pulse の上位 10 プロジェクトを見れば、どれがハイブリッドであるかがわかります。
- スマートコントラクト必須ツール
アスタリスクの説明 *:Uniswap にはオラクル製品があります。Yearn と Instadapp はアグリゲーターであり、オラクルを使用するプロトコルと連携しています / ハイブリッドです。Sushiswap はオラクルを使用してレバレッジ取引を行います。
少なくとも 50%のプロジェクトがオラクルをインフラストラクチャの重要な部分として使用しており、さらに 30%(合計 80%)が何らかの形でオラクルを使用しています。オラクルを通じて資産価格情報、乱数、イベント駆動の自動実行などを取得できます。
この分野に入るすべてのスマートコントラクト開発者にとって、Chainlink は必須の機能です。どの言語やブロックチェーンであっても。
2020 年と 2021 年には、無数のフラッシュローン攻撃やオラクル操作攻撃などのハッカー行為が見られ、DeFi 分野で数十億ドルの損失を引き起こしました。最も悲しいことに、その半分以上は Chainlink のような信頼できるオラクルを使用することで防ぐことができました。2022 年にあなたやあなたの友人が中央集権的または安全でないオラクルを使用することがないようにしてください。
Chainlink のような安全なオラクルソリューションを使用してください。「ああ、中央集権的なオラクルを使用して、私のユーザーが 1 億ドルを失った」という状況が 2022 年に続くことはできません。したがって、Chainlink に精通し、強力で堅牢なアプリケーションを作成し、オラクル攻撃から自分を守ってください。
Openzeppelin
Openzeppelin は「Solidity 標準ライブラリ」としての地位を確立しました。開発者(私自身を含む)が NFT/ERC721、ERC20、アップグレード可能なコントラクト、DAO / ガバナンス、またはこの分野の開発者がやりたいプロジェクトを迅速に展開する方法を探しているとき、10 回中 8 回は Openzeppelin パッケージを探すことになるでしょう。
Openzeppelin はすでに書かれたスマートコントラクトのセットであり、あなたは車輪を再発明する必要はありません。私はプロジェクトで彼らが監査した拡張可能なスマートコントラクトを使用しており、無数の時間を節約しています。Openzeppelin がどれほど重要であるかを強調することはできません。私の約 80%のチュートリアルでは、何らかの形で Openzeppelin を使用しています。
スマートコントラクトの要点の要約:
必ず知っておくべきこと:Chainlink と Openzeppelin
これら 2 つのものを同時に使用することができます(そしておそらくすべきです)。私のこれらの技術に対する理解に基づいて、どれだけ強調しても過言ではありません。
- デプロイとテストフレームワーク 昨年、私のレビュー記事はこのカテゴリに特化していたので、今年はこれらのフレームワークが今日の地位においてどのように異なるかをお話しする必要があります。スマートコントラクトフレームワークは、すべての開発者の作業の重要な部分です。これらは、スマートコントラクトを効率的にテストし、デプロイするのを助けます。そのうちの少なくとも 1 つを習得することは成功への重要なステップです。より直感的に理解するために、DeFi Pulse に基づいて作成したグラフを見て、いくつかのトップ DeFi プロジェクトが使用している開発フレームワークを示します。 DEFI スマートコントラクト PULSE 名ロック(USD)開発フレームワーク
スター選手:Hardhat、Brownie、DappTools
優れた選手:Remix、Truffle、Apeworx、Foundry
補欠選手:Waffle、sbt-ethereum、web3j、Embark、Saddle
S
② Defipulse の 10 大 DeFi プロジェクトと彼らが使用しているスマートコントラクト開発フレームワーク。さらに、私はこれらのフレームワークの現在の状況を次のように見ています:スター選手:Hardhat、Brownie、DappTools 優れた選手:Remix、Truffle、Apeworx、Foundry 補欠選手:
これらのツールは必ずしもすべてのエラーをキャッチするわけではないので、自分の能力を信じてください!。
Slither
Slither は静的分析の選択ツールの 1 つになりつつあります。Slither は Trail of Bits チーム(私が最も好きな監査機関の 1 つ)によって構築され、使いやすく、エンジニアが犯す可能性のある多くの単純なエラーをキャッチできます。私はこのオープンソースのエラーチェッカーを試すことを強くお勧めします!
MythX
MythX は ConsenSys の別のツールで、クラウドベースのバグテストツールで、より深い掘り下げができると言われています。Aave や私のような多くのユーザーは、その深さを好んでいます。確かに、ユーザーには有料のハードルがありますが、資金がある場合は価値があります。
Mythril
Mythril は MythX 製品の分析ツールのオープンソースのサブセットです。これは私が深く研究したツールではありませんが、いくつかの有望な簡単な結果を提供するようです。
Manticore
Manticore は Trail of Bits の別のツールですが、静的分析を行うのではなく、シンボリック実行を行い、スマートコントラクトがどのように機能するかを特定します。Slither を使用している場合は、これも試してみる価値があります!
Echidna
次に、Trail of Bits(なぜ彼らが私のお気に入りの 1 つであるかはお分かりでしょう)が Echidna をリリースしました。これは EVM コントラクト用のファズィングツールで、Trail of Bits の他のツールを使用している場合は、もう一度試してみる価値があります。
Securify
Securify は特定の脆弱性を探すための素晴らしいオープンソースツールです。これは、あなたが試すことができる別のツールです。