Ethers.jsとは何ですか?イーサリアムのJavaScriptライブラリについて詳しく調査します

初級編3/18/2024, 8:47:39 AM
イーサリアムは、そのツールキット、スマートコントラクト、コードに沿ったエコシステムで知られるブロックチェーンプロトコルであり、開発者中心のアプローチに必要な機能を提供するために ethers.js(Javascriptライブラリ)に大きく依存しています。

他の暗号通貨プレイヤーに目を向けるよりもEther(ETH)に注目している場合は、より技術的な観点からEthereumを理解するための時間を取るべきです。ツールキット、スマートコントラクト、コードに沿ったエコシステムで知られるブロックチェーンプロトコル、Ethereumは、開発者中心のアプローチに必要な効力を与えるために、ethers.jsというJavascriptライブラリに重点を置いています。

ethers.jsは唯一のEthereumネイティブJavaScriptライブラリではありませんが、小規模なDAppsにとってはより良い選択肢です。このガイドでは、ethers.jsの側面にさらに深く踏み込み、この技術的概念を理解するのに役立ちます。

このガイドでは:

  1. ethers.jsの展開
  2. なぜethers.jsが重要なのですか?
  3. すべてのEthers.jsのバージョンが説明されています
  4. ethers.jsを使い始める
  5. コア機能
  6. 暗号通貨の出版物がEthers.jsを活用する方法
  7. Ethers.jsの実世界の応用
  8. セキュリティの考慮事項
  9. Ethers.js: 多様なツール
  10. よくある質問

ethers.jsの展開

ethers.jsはJavaScriptライブラリーです-いくつかの機能を自動化する事前に書かれたコードのセットです。開発にJavaScriptライブラリーを使用すると、コードの記述作業を最小限に抑えることができます。このプロセスはユーザーフレンドリーになり、DApp開発者にとっては、これらのライブラリーがバンドルとして基本的なブロックチェーン固有の機能を提供するのに役立ちます。

Ethers.jsと開発サイクル:BeInCrypto

こちらがGitHubですリポジトリ図書館用。

JavaScript ライブラリとは

ethers.jsについて詳しく調べる前に、JavaScriptライブラリをもう少し詳しく見てみましょう。これらのライブラリは、特定の一般的なタスクを自動化できる事前に書かれたJavaScriptコードのセットです。ethers.jsのようなライブラリを使用すると、DAppの作成プロセスをスピードアップすることができ、他のブロックチェーン固有の相互作用をさらにスピードアップすることもできます。

なぜイーサリアムでJavaScriptライブラリが必要なのですか?

イーサリアムは分散型ソフトウェア開発プラットフォームに進化しました。From スマート契約toDeFi applications to DApps, coding is integral to the Ethereum ecosystem. That is exactly why Ethereum-tailored JavaScript libraries like ethers.js exist. Using these libraries, developers can connect to the network, deploy and interact with smart contracts, and easily manage ブロックチェーンデータ。

Ethers.jsは唯一の有名なEthereum Javascriptライブラリではありません。もう1つの著名なものは、Ethereum Foundationによって設立されたWeb3.jsです。Web3.jsは包括的なドキュメントコレクションで知られており、より複雑なDApps向けに作られています。

ethers.jsはなぜ重要ですか?

前述の通り、ethers.jsはEthereumブロックチェーンと関わる開発者を対象としています。重要性に関しては、Richard Mooreによって開発されたこのライブラリは、“Ethers”という名前で販売され、以下のような作業に役立ちます。

  1. 複数のイーサリアム取引を簡素化する
  2. 包括的なドキュメントとリソースへのアクセスを提供します
  3. DApp開発の促進


Ethers.jsエコシステムとそれが担う役割:BeInCrypto

ここには、Ethereumアカウントの現在の残高を取得するために使用されるコードスニペットの簡単な例があります。まず、コードを読んで、ethers.jsがどのように生活を楽にしているかを理解しましょう。

const { ethers } = require(‘ethers’);

// イーサリアムネットワークに接続します

const provider = new ethers.providers.JsonRpcProvider('https://mainnet.infura.io/v3/YOUR_INFURA_API_KEY’);

// アカウントアドレスを指定します

const accountAddress = ‘0xABC123…’;

// バランスを取得して表示します

provider.getBalance(accountAddress).then((balance) => {

// WeiからEtherに残高を変換const balanceInEther = ethers.utils.formatEther(balance);console.log(`残高:${balanceInEther} ETH`);

});

この例では、コマンドであるethers.providers.JsonRpcProviderがInfuraエンドポイントを呼び出し、getBalanceが残高を取得する方法が明確に示されています。EthereumのJSON RPCやリモート手続き呼び出しと直接やり取りする必要はありません。この場合、ethers.jsを、Ethereumをより簡単で馴染みやすくする翻訳者と考えることができます。

ethers.jsの重要性についてまだ理解していないのですか?ここに簡単な類推があります。

ethers.jsを古い図書カードと考えてみてください。覚えていますか、あのカードにはカタログがあり、通路を見つけてから棚番号を見つけることで、正しい本を見つけることができました。これがethers.jsが目指すことです。それはEthereumの膨大な機能を簡素化し整理し、開発者が必要なものを正確に見つけることを可能にします。

https://twitter.com/wondernw/status/1764751034096800009?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1764751034096800009%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

すべてのエーテル.jsのバージョンについて説明します

これまでに、いくつかのEthers.jsバージョンが登場し、それぞれ新機能やバグ修正が導入されています。また、バージョニングは、v1.2.3のように標準的なセマンティクスに従っており、最初の数字はメジャーバージョンを示し、2番目と3番目の数字はマイナーおよびパッチを示しています。今回はメジャーバージョンのアップグレードのみを考慮します - 互換性がないかもしれない変更です。

  1. バージョン1.x(レガシー):これは最初のリリースであり、取引署名、ウォレット管理などに関連する機能に続いています。
  2. バージョン2.x(イーサーズウォレット):ウォレットユーティリティや機能に焦点を当て、安全な保管を含むプライベートキー.
  3. バージョン3.x(Ethersプロバイダー):Ethereumノードに接続するための抽象化が導入されました。 Infura、WebSocketsなど、さまざまなタイプのプレーヤーが収容されました。
  4. バージョン4.x(イーサリアム契約):スマートコントラクト主導のプロパティが拡張され、データのエンコードとデコード、イベントフィルターなどのユーティリティがさらに増えました。
  5. バージョン5.x:モジュラーアーキテクチャ、強化されたサポートを提供しますENS、包括的なエラー処理、およびその他の機能。
  6. バージョン6.x:ES6の機能の追加、BigIntの導入、オーバーローディングのアクセシビリティなど。


Ethers.jsのアーキテクチャとコンポーネント:BeInCrypto

https://harambetoken.ai/?domain=beincrypto&banner=header-banner-3&cpid=1ce31526-203f-4d6a-bf00-af77d6cf6edd

Ethers.js’の各バージョンの詳細については、詳細をご覧ください。元のドキュメント.

「Ethers.jsは、優れたブロックチェーンの相互運用性、ネイティブなTypeScriptサポート、高度なデバッグツールで輝いています。React、Vue、Angularなどの人気フレームワークにシームレスに統合される、すっきりとしたライブラリです。」

Redbelly Intern、Builder: X

ethers.jsを使い始める

ethers.jsのポテンシャルを活用する前に、DAppやスマートコントラクトの開発のどの段階でそれが呼び出されるかを知っておくことが必要です。これは、ゼロからこれらの要素を知り、理解する必要がある人々のための素早い概要です。

Web3.jsは初心者にやさしく、ethers.jsよりも簡潔です。

一方、Ethers.js はより多くのオプションを提供し、新しいです。Web3.js よりも少し複雑です。

degenBRo, ブロックチェーン開発者であり、Solidity Financeの創設者:BeInCryptoに語ったところ

始めるには、まずコンピュータを開いて開発環境を設定する必要があります。これにはNode.jsと統合開発環境が含まれます。JavaScriptは通常ブラウザ上で実行されますが、Node.jsを使用すると同じコンピュータ上で実行することもできます。ethers.jsなどのJavaScriptライブラリをインストールするのはNode.jsのランタイム環境です。

ソフトウェア開発者がテストする必要があるIDEについては、VS Code、Sublime Text、またはその他を検討できます。

https://twitter.com/juniorrbn_dev/status/1765370597066862749?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1765370597066862749%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

ethers.jsサポートのインストール

次のステップは、Ethers.jsをホストするライブラリであるEthersをインストールすることです。

npm install ethersをインストール

その後、接続するにはエーテルを使用する必要があります。イーサリアムウォレット, ブロックチェーンとのやり取りは認証情報を検証するためにこの手順が必要です。これにはインストール済みのエーテルライブラリを使用できます。以下はサンプルコマンドです:

/Related

その他の記事

イーサリアムETFの説明:それは何か、そしてどのように動作するのか

14分 2024年3月15日 3日前

ビットコイン(BTC)で支払いを受ける方法:知っておく必要があるすべて

25分 2024年3月15日 2日前

const { ethers } = require(‘ethers’);

// Connect to the MetaMaskウォレット

const provider = new ethers.providers.Web3Provider(window.ethereum);

完了したら、IDEを使用してSolidityコードを記述し、DAppsのスマートコントラクトを作成できます。Ethers.jsを使用して同じものを展開します。ローカルでDAppまたは契約をテストすることもできます。トリュフそして、Hardhatを使用します。その後、契約をEthereumネットワークにデプロイします。その際には、ethers.jsが必要です。

const contract = new ethers.ContractFactory(abi, bytecode, signer);

const deployedContract = await contract.deploy();

未経験のabi、バイトコード、サイン者は、スムーズなスマートコントラクトの開発に必要な用語です。Abiまたはアプリケーションバイナリインターフェースは、ネットワークがあなたのスマートコントラクトを認識するのに役立つラベルのようなものです。バイトコードは、スマートコントラクトのコンパイル済み、あるいはネットワーク用のバージョンであり、サイン者は署名生成エンティティです。

フロントエンド用のエーテル.js

スマートコントラクトが展開されると、DAppのフロントエンドまたはユーザーインターフェースを構築する必要があります。これには、AngularまたはReactを使用できます。フロントエンド内にEthers.jsを統合して、Ethereumスマートコントラクトとやり取りできるようにすることもできます。以下は同じためのサンプルコードです。

const provider = new ethers.providers.Web3Provider(window.ethereum);

const contract = new ethers.Contract(contractAddress, contractABI, provider.getSigner());

その後、RinkebyやRopstenなどのテストネット上でDAppをテストする必要があります。満足しているときには、DAppをメインネット上で展開できます。プロセス全体でEthersまたはethers.jsとやり取りする回数に注目してください。

コア機能

Ethers.jsは包括的なEthereumライブラリとして現れます。開発者の生活を簡単にするいくつかの独占的な提供があります。

プロバイダー

Ethers.jsのプロバイダーは、Ethereumネットワークとあなたが作業しているDAppの間の橋渡しとなります。これには、ブロックチェーンデータの問い合わせを簡素化することや、トランザクションのブロードキャストを支援することも含まれます。Infuraは、Ethers.jsが使用するプロバイダーの1つです。

同じもののサンプルコードがこちらにあります:

const { ethers } = require(‘ethers’);

// Infuraを使用して接続

const provider = new ethers.providers.JsonRpcProvider('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID’);

// 現在のブロック番号を確認します

provider.getBlockNumber().then((blockNumber) => {

console.log("現在のブロック番号:", blockNumber);

});

ウォレット

Ethers.jsを使用すると、ウォレットを管理し、新しいアカウントを作成したり、既存のアカウントをインポートしたり、取引の署名に使用する秘密鍵を安全に管理したり、その他の操作を行ったりできます。

契約

https://harambetoken.ai/?domain=beincrypto&banner=header-banner-3&cpid=1ce31526-203f-4d6a-bf00-af77d6cf6edd

Ethers.jsのこの構成要素はオブジェクトのインスタンス化をサポートしています。これにより、特定の契約関数を呼び出しやすくなり、ネイティブなJavascriptメソッドのようになります。


Ethers.jsとスマートコントラクトの相互作用:BeInCrypto

ENS統合

Ethers.jsはENS名をそれらのEthereumアドレスに解決し、その逆も可能です。この機能によりエラーのリスクが低減されます。

これはこれに対するサンプルコードスニペットです:

const { ethers } = require(‘ethers’);

const provider = new ethers.providers.JsonRpcProvider('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID’;

const ensName = ‘アリス.eth’;

provider.resolveName(ensName).then((address) => {

console.log(`${ensName} は ${address} に解決されました。`);

});

前述の機能に加えて、Ethers.jsには以下の側面や機能もあり、Ethereum固有の直接アクセスを開発者が支援します。

  1. サイン者
  2. ユーティリティ
  3. イベントリスナーとフィルター(ブロックチェーンのアクションに対するリアルタイム応答を活性化するためのもの)
  4. 取引
  5. マルチコールサポート
  6. TypeScriptサポート(コード信頼性と開発者全体のエクスペリエンス向上を意図したもの)

Ethers.jsを使用する利点のいくつか:

https://twitter.com/juniorrbn_dev/status/1765370617937736000?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1765370617937736000%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

暗号通貨の出版物がEthers.jsを活用する方法

BeInCryptoなどのメディア出版物は、Ethers.jsを活用して、ゼロから高度で有用なweb3ツールを作成することができます。これにより、ブロックチェーン、あるいはむしろイーサリアムの機能を活用して、利便性を向上させることが可能になります。以下は、検討できるオプションです。

データフィード

Ethers.jsの機能を使用して、ネットワーク統計などの実際のリアルタイム暗号データフィードを統合することができます。ガス手数料, そして、記事やリソースを常に最新の状態に保つためのさらなる機能があります。こちらは、ビットコインの最新ブロック番号を取得し、リアルタイムでハーフィングを追跡するためのサンプルコードです。

const { ethers } = require(‘ethers’);

const provider = new ethers.providers.JsonRpcProvider('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID’);

provider.getBlockNumber().then((blockNumber) => {

console.log(“現在のブロック番号:”, blockNumber);// このデータをあなたの出版プラットフォームに統合して、リアルタイムのデータフィードを提供します

});

インタラクティブコンテンツ

出版物は、ユーザーがスマートコントラクトと直接やり取りしたり、投票に参加したり、必要に応じて小さなゲームをプレイしたりするためのインタラクティブコンテンツを作成することができます。

こちらは、スマートコントラクトから特定のマイルストーンの挨拶を取得するためのサンプルコードスニペットです。

const { ethers } = require(‘ethers’);

const provider = new ethers.providers.Web3Provider(window.ethereum);

const contractAddress = ‘0x…’;

const contractABI = [

「function getGreeting() view returns (string)」

];

const contract = new ethers.Contract(contractAddress, contractABI, provider);

async function displayGreeting() {

const greeting = await contract.getGreeting();document.getElementById(‘greeting’).innerText = greeting;

}

KuCoinで口座を開設し、最大700 USDTの保証ボーナスを受け取りましょう。

  1. KuCoinを使って暗号通貨取引の旅を始めて、一歩リードしましょう!
  2. KuCoinで安心して取引しましょう!当社のプラットフォームは、デジタル資産のために最高水準の保護を提供し、セキュリティを最優先にしています。
  3. KuCoinと一緒に仮想通貨の広大な世界を探検しましょう!

今すぐ登録!

Ethers.jsが展開されている実際の例:

https://twitter.com/ronakpal1/status/1767071343345095092?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1767071343345095092%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

分散型出版

メディア出版社は、ブロックチェーンネットワーク上に記事の一部が公開される分散型の出版も検討することができます。これにより検閲への抵抗やコンテンツの信頼性向上に役立つことがあります。

ここには、記事のハッシュがオンラインで公開の証拠として保存されているサンプルコードがあります。

const { ethers } = require(‘ethers’);

const wallet = new ethers.Wallet(‘YOUR_PRIVATE_KEY’, provider);

const contentHash = ethers.utils.id("記事のコンテンツをここに入力");

const tx = await wallet.sendTransaction({

to: ‘0xSomeStorageContractAddress’,data: contentHash // このデータを受け入れ、保存する契約を想定しています

});

console.log("トランザクションハッシュ(公開の証明):", tx.hash);

これらはメディア出版のためのユースケースのわずかな例に過ぎません。しかし、他のセクターも ethers.js の力を活用することができます。これには次のものが含まれます。

  1. ブロックチェーン開発者(予定)
  2. 金融アナリストは、DeFiメトリックス
  3. ゲーム開発者
  4. コンテンツクリエイター
  5. サプライチェーンマネージャー

それ以上。

Ethers.jsの実世界アプリケーション

Besides being useful in ディーファイ, NFTやゲームプロジェクトに加え、いくつかの既存のDAppsがEthers.jsの使用をサポートしています。これには以下が含まれます:

  1. Uniswap: Ether.jsは、取引の実行、流動性の追加、さらにはプール統計のクエリを行うためにUniswapの固有のスマートコントラクトとやり取りします。この場合、DApp開発者は、取引ボット、ポートフォリオ管理ツールなど、Uniswapとやり取りするツールを構築する予定です。
  2. Aave: DApp開発者やその他関係者は、Ether.jsの機能を活用してAave固有のスマートコントラクトとやり取りすることができます。これにより、彼らは借入資産のためのフロントエンドを準備し、担保を預け、その他多くのことを行うことができます。

Ethers.jsの幾つかの神話を破る:

https://twitter.com/imashuttoshh/status/1765558806291894739?refsrc=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1765558806291894739%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

セキュリティの考慮事項

Ethers.jsを使用すると、かなり広範囲なセットが付属していますセキュリティ考慮事項。以下は、従うべきいくつかのポイントです。

  1. アプリケーションのコードベース内にプライベートキーをハードコードすることは避けることをお勧めします。
  2. すべてのスマートコントラクトのやりとりは、契約のテストと徹底した監査の前に行われるべきです。
  3. スマートコントラクトとやり取りする際は、「call」のような安全なパターンを使用して、読み取り専用のタスクを実行してください。
  4. ethers.jsの使用を最適化するためには、リクエストのバッチ処理を検討することができます。これにより、読み取り専用のリクエストをバッチ処理してネットワークコールの回数を最小限に抑えることができます。これらの最適化技術によって、アプリケーションを高度にスケーラブルかつコスト効率の良いものにすることができるのは言うまでもありません。

こちらは、それがどのように機能するかの例です。

// Ethers.jsを使用したコントラクト呼び出しのバッチ処理の擬似コード(概念的な例)

const contract = new ethers.Contract(address, abi, provider);

const [value1, value2, value3] = await Promise.all([

contract.viewFunction1(),contract.viewFunction2(),contract.viewFunction3()

];

Ethers.js: 多目的ツール

スポンサー

https://harambetoken.ai/?domain=beincrypto&banner=header-banner-3&cpid=1ce31526-203f-4d6a-bf00-af77d6cf6edd

このガイドで示されているように、Ethers.jsは多機能なツールです。その機能を簡単に見てきましたが、Ethers.jsを完全に理解する最良の方法は、スマートコントラクト、JavaScript、IDE、DAppsなどの世界にさらに深く入り込むことです。また、EthereumとEthersコミュニティに参加することも役立ちます。

よくある質問

開発者はEthers.jsのイベントをどのように利用できますか?

Ethers.jsが提供する主要なユーティリティは何ですか?

Ethers.jsとWeb3.jsの間の接続は何ですか?

免責事項:

  1. この記事は[から転載されましたbeincrypto], すべての著作権は元の著者に帰属します [アナンダ・バネルジー]。もし、この転載に異議がある場合は、お問い合わせください。Gate Learnチームが速やかに対処します。
  2. 責任の免責事項:この記事で表現された意見は、著者個人のものであり、投資アドバイスを構成するものではありません。
  3. 他の言語への記事の翻訳は、Gate Learnチームによって行われます。特に言及されていない限り、翻訳された記事のコピー、配布、または盗用は禁止されています。

Ethers.jsとは何ですか?イーサリアムのJavaScriptライブラリについて詳しく調査します

初級編3/18/2024, 8:47:39 AM
イーサリアムは、そのツールキット、スマートコントラクト、コードに沿ったエコシステムで知られるブロックチェーンプロトコルであり、開発者中心のアプローチに必要な機能を提供するために ethers.js(Javascriptライブラリ)に大きく依存しています。

他の暗号通貨プレイヤーに目を向けるよりもEther(ETH)に注目している場合は、より技術的な観点からEthereumを理解するための時間を取るべきです。ツールキット、スマートコントラクト、コードに沿ったエコシステムで知られるブロックチェーンプロトコル、Ethereumは、開発者中心のアプローチに必要な効力を与えるために、ethers.jsというJavascriptライブラリに重点を置いています。

ethers.jsは唯一のEthereumネイティブJavaScriptライブラリではありませんが、小規模なDAppsにとってはより良い選択肢です。このガイドでは、ethers.jsの側面にさらに深く踏み込み、この技術的概念を理解するのに役立ちます。

このガイドでは:

  1. ethers.jsの展開
  2. なぜethers.jsが重要なのですか?
  3. すべてのEthers.jsのバージョンが説明されています
  4. ethers.jsを使い始める
  5. コア機能
  6. 暗号通貨の出版物がEthers.jsを活用する方法
  7. Ethers.jsの実世界の応用
  8. セキュリティの考慮事項
  9. Ethers.js: 多様なツール
  10. よくある質問

ethers.jsの展開

ethers.jsはJavaScriptライブラリーです-いくつかの機能を自動化する事前に書かれたコードのセットです。開発にJavaScriptライブラリーを使用すると、コードの記述作業を最小限に抑えることができます。このプロセスはユーザーフレンドリーになり、DApp開発者にとっては、これらのライブラリーがバンドルとして基本的なブロックチェーン固有の機能を提供するのに役立ちます。

Ethers.jsと開発サイクル:BeInCrypto

こちらがGitHubですリポジトリ図書館用。

JavaScript ライブラリとは

ethers.jsについて詳しく調べる前に、JavaScriptライブラリをもう少し詳しく見てみましょう。これらのライブラリは、特定の一般的なタスクを自動化できる事前に書かれたJavaScriptコードのセットです。ethers.jsのようなライブラリを使用すると、DAppの作成プロセスをスピードアップすることができ、他のブロックチェーン固有の相互作用をさらにスピードアップすることもできます。

なぜイーサリアムでJavaScriptライブラリが必要なのですか?

イーサリアムは分散型ソフトウェア開発プラットフォームに進化しました。From スマート契約toDeFi applications to DApps, coding is integral to the Ethereum ecosystem. That is exactly why Ethereum-tailored JavaScript libraries like ethers.js exist. Using these libraries, developers can connect to the network, deploy and interact with smart contracts, and easily manage ブロックチェーンデータ。

Ethers.jsは唯一の有名なEthereum Javascriptライブラリではありません。もう1つの著名なものは、Ethereum Foundationによって設立されたWeb3.jsです。Web3.jsは包括的なドキュメントコレクションで知られており、より複雑なDApps向けに作られています。

ethers.jsはなぜ重要ですか?

前述の通り、ethers.jsはEthereumブロックチェーンと関わる開発者を対象としています。重要性に関しては、Richard Mooreによって開発されたこのライブラリは、“Ethers”という名前で販売され、以下のような作業に役立ちます。

  1. 複数のイーサリアム取引を簡素化する
  2. 包括的なドキュメントとリソースへのアクセスを提供します
  3. DApp開発の促進


Ethers.jsエコシステムとそれが担う役割:BeInCrypto

ここには、Ethereumアカウントの現在の残高を取得するために使用されるコードスニペットの簡単な例があります。まず、コードを読んで、ethers.jsがどのように生活を楽にしているかを理解しましょう。

const { ethers } = require(‘ethers’);

// イーサリアムネットワークに接続します

const provider = new ethers.providers.JsonRpcProvider('https://mainnet.infura.io/v3/YOUR_INFURA_API_KEY’);

// アカウントアドレスを指定します

const accountAddress = ‘0xABC123…’;

// バランスを取得して表示します

provider.getBalance(accountAddress).then((balance) => {

// WeiからEtherに残高を変換const balanceInEther = ethers.utils.formatEther(balance);console.log(`残高:${balanceInEther} ETH`);

});

この例では、コマンドであるethers.providers.JsonRpcProviderがInfuraエンドポイントを呼び出し、getBalanceが残高を取得する方法が明確に示されています。EthereumのJSON RPCやリモート手続き呼び出しと直接やり取りする必要はありません。この場合、ethers.jsを、Ethereumをより簡単で馴染みやすくする翻訳者と考えることができます。

ethers.jsの重要性についてまだ理解していないのですか?ここに簡単な類推があります。

ethers.jsを古い図書カードと考えてみてください。覚えていますか、あのカードにはカタログがあり、通路を見つけてから棚番号を見つけることで、正しい本を見つけることができました。これがethers.jsが目指すことです。それはEthereumの膨大な機能を簡素化し整理し、開発者が必要なものを正確に見つけることを可能にします。

https://twitter.com/wondernw/status/1764751034096800009?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1764751034096800009%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

すべてのエーテル.jsのバージョンについて説明します

これまでに、いくつかのEthers.jsバージョンが登場し、それぞれ新機能やバグ修正が導入されています。また、バージョニングは、v1.2.3のように標準的なセマンティクスに従っており、最初の数字はメジャーバージョンを示し、2番目と3番目の数字はマイナーおよびパッチを示しています。今回はメジャーバージョンのアップグレードのみを考慮します - 互換性がないかもしれない変更です。

  1. バージョン1.x(レガシー):これは最初のリリースであり、取引署名、ウォレット管理などに関連する機能に続いています。
  2. バージョン2.x(イーサーズウォレット):ウォレットユーティリティや機能に焦点を当て、安全な保管を含むプライベートキー.
  3. バージョン3.x(Ethersプロバイダー):Ethereumノードに接続するための抽象化が導入されました。 Infura、WebSocketsなど、さまざまなタイプのプレーヤーが収容されました。
  4. バージョン4.x(イーサリアム契約):スマートコントラクト主導のプロパティが拡張され、データのエンコードとデコード、イベントフィルターなどのユーティリティがさらに増えました。
  5. バージョン5.x:モジュラーアーキテクチャ、強化されたサポートを提供しますENS、包括的なエラー処理、およびその他の機能。
  6. バージョン6.x:ES6の機能の追加、BigIntの導入、オーバーローディングのアクセシビリティなど。


Ethers.jsのアーキテクチャとコンポーネント:BeInCrypto

https://harambetoken.ai/?domain=beincrypto&banner=header-banner-3&cpid=1ce31526-203f-4d6a-bf00-af77d6cf6edd

Ethers.js’の各バージョンの詳細については、詳細をご覧ください。元のドキュメント.

「Ethers.jsは、優れたブロックチェーンの相互運用性、ネイティブなTypeScriptサポート、高度なデバッグツールで輝いています。React、Vue、Angularなどの人気フレームワークにシームレスに統合される、すっきりとしたライブラリです。」

Redbelly Intern、Builder: X

ethers.jsを使い始める

ethers.jsのポテンシャルを活用する前に、DAppやスマートコントラクトの開発のどの段階でそれが呼び出されるかを知っておくことが必要です。これは、ゼロからこれらの要素を知り、理解する必要がある人々のための素早い概要です。

Web3.jsは初心者にやさしく、ethers.jsよりも簡潔です。

一方、Ethers.js はより多くのオプションを提供し、新しいです。Web3.js よりも少し複雑です。

degenBRo, ブロックチェーン開発者であり、Solidity Financeの創設者:BeInCryptoに語ったところ

始めるには、まずコンピュータを開いて開発環境を設定する必要があります。これにはNode.jsと統合開発環境が含まれます。JavaScriptは通常ブラウザ上で実行されますが、Node.jsを使用すると同じコンピュータ上で実行することもできます。ethers.jsなどのJavaScriptライブラリをインストールするのはNode.jsのランタイム環境です。

ソフトウェア開発者がテストする必要があるIDEについては、VS Code、Sublime Text、またはその他を検討できます。

https://twitter.com/juniorrbn_dev/status/1765370597066862749?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1765370597066862749%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

ethers.jsサポートのインストール

次のステップは、Ethers.jsをホストするライブラリであるEthersをインストールすることです。

npm install ethersをインストール

その後、接続するにはエーテルを使用する必要があります。イーサリアムウォレット, ブロックチェーンとのやり取りは認証情報を検証するためにこの手順が必要です。これにはインストール済みのエーテルライブラリを使用できます。以下はサンプルコマンドです:

/Related

その他の記事

イーサリアムETFの説明:それは何か、そしてどのように動作するのか

14分 2024年3月15日 3日前

ビットコイン(BTC)で支払いを受ける方法:知っておく必要があるすべて

25分 2024年3月15日 2日前

const { ethers } = require(‘ethers’);

// Connect to the MetaMaskウォレット

const provider = new ethers.providers.Web3Provider(window.ethereum);

完了したら、IDEを使用してSolidityコードを記述し、DAppsのスマートコントラクトを作成できます。Ethers.jsを使用して同じものを展開します。ローカルでDAppまたは契約をテストすることもできます。トリュフそして、Hardhatを使用します。その後、契約をEthereumネットワークにデプロイします。その際には、ethers.jsが必要です。

const contract = new ethers.ContractFactory(abi, bytecode, signer);

const deployedContract = await contract.deploy();

未経験のabi、バイトコード、サイン者は、スムーズなスマートコントラクトの開発に必要な用語です。Abiまたはアプリケーションバイナリインターフェースは、ネットワークがあなたのスマートコントラクトを認識するのに役立つラベルのようなものです。バイトコードは、スマートコントラクトのコンパイル済み、あるいはネットワーク用のバージョンであり、サイン者は署名生成エンティティです。

フロントエンド用のエーテル.js

スマートコントラクトが展開されると、DAppのフロントエンドまたはユーザーインターフェースを構築する必要があります。これには、AngularまたはReactを使用できます。フロントエンド内にEthers.jsを統合して、Ethereumスマートコントラクトとやり取りできるようにすることもできます。以下は同じためのサンプルコードです。

const provider = new ethers.providers.Web3Provider(window.ethereum);

const contract = new ethers.Contract(contractAddress, contractABI, provider.getSigner());

その後、RinkebyやRopstenなどのテストネット上でDAppをテストする必要があります。満足しているときには、DAppをメインネット上で展開できます。プロセス全体でEthersまたはethers.jsとやり取りする回数に注目してください。

コア機能

Ethers.jsは包括的なEthereumライブラリとして現れます。開発者の生活を簡単にするいくつかの独占的な提供があります。

プロバイダー

Ethers.jsのプロバイダーは、Ethereumネットワークとあなたが作業しているDAppの間の橋渡しとなります。これには、ブロックチェーンデータの問い合わせを簡素化することや、トランザクションのブロードキャストを支援することも含まれます。Infuraは、Ethers.jsが使用するプロバイダーの1つです。

同じもののサンプルコードがこちらにあります:

const { ethers } = require(‘ethers’);

// Infuraを使用して接続

const provider = new ethers.providers.JsonRpcProvider('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID’);

// 現在のブロック番号を確認します

provider.getBlockNumber().then((blockNumber) => {

console.log("現在のブロック番号:", blockNumber);

});

ウォレット

Ethers.jsを使用すると、ウォレットを管理し、新しいアカウントを作成したり、既存のアカウントをインポートしたり、取引の署名に使用する秘密鍵を安全に管理したり、その他の操作を行ったりできます。

契約

https://harambetoken.ai/?domain=beincrypto&banner=header-banner-3&cpid=1ce31526-203f-4d6a-bf00-af77d6cf6edd

Ethers.jsのこの構成要素はオブジェクトのインスタンス化をサポートしています。これにより、特定の契約関数を呼び出しやすくなり、ネイティブなJavascriptメソッドのようになります。


Ethers.jsとスマートコントラクトの相互作用:BeInCrypto

ENS統合

Ethers.jsはENS名をそれらのEthereumアドレスに解決し、その逆も可能です。この機能によりエラーのリスクが低減されます。

これはこれに対するサンプルコードスニペットです:

const { ethers } = require(‘ethers’);

const provider = new ethers.providers.JsonRpcProvider('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID’;

const ensName = ‘アリス.eth’;

provider.resolveName(ensName).then((address) => {

console.log(`${ensName} は ${address} に解決されました。`);

});

前述の機能に加えて、Ethers.jsには以下の側面や機能もあり、Ethereum固有の直接アクセスを開発者が支援します。

  1. サイン者
  2. ユーティリティ
  3. イベントリスナーとフィルター(ブロックチェーンのアクションに対するリアルタイム応答を活性化するためのもの)
  4. 取引
  5. マルチコールサポート
  6. TypeScriptサポート(コード信頼性と開発者全体のエクスペリエンス向上を意図したもの)

Ethers.jsを使用する利点のいくつか:

https://twitter.com/juniorrbn_dev/status/1765370617937736000?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1765370617937736000%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

暗号通貨の出版物がEthers.jsを活用する方法

BeInCryptoなどのメディア出版物は、Ethers.jsを活用して、ゼロから高度で有用なweb3ツールを作成することができます。これにより、ブロックチェーン、あるいはむしろイーサリアムの機能を活用して、利便性を向上させることが可能になります。以下は、検討できるオプションです。

データフィード

Ethers.jsの機能を使用して、ネットワーク統計などの実際のリアルタイム暗号データフィードを統合することができます。ガス手数料, そして、記事やリソースを常に最新の状態に保つためのさらなる機能があります。こちらは、ビットコインの最新ブロック番号を取得し、リアルタイムでハーフィングを追跡するためのサンプルコードです。

const { ethers } = require(‘ethers’);

const provider = new ethers.providers.JsonRpcProvider('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID’);

provider.getBlockNumber().then((blockNumber) => {

console.log(“現在のブロック番号:”, blockNumber);// このデータをあなたの出版プラットフォームに統合して、リアルタイムのデータフィードを提供します

});

インタラクティブコンテンツ

出版物は、ユーザーがスマートコントラクトと直接やり取りしたり、投票に参加したり、必要に応じて小さなゲームをプレイしたりするためのインタラクティブコンテンツを作成することができます。

こちらは、スマートコントラクトから特定のマイルストーンの挨拶を取得するためのサンプルコードスニペットです。

const { ethers } = require(‘ethers’);

const provider = new ethers.providers.Web3Provider(window.ethereum);

const contractAddress = ‘0x…’;

const contractABI = [

「function getGreeting() view returns (string)」

];

const contract = new ethers.Contract(contractAddress, contractABI, provider);

async function displayGreeting() {

const greeting = await contract.getGreeting();document.getElementById(‘greeting’).innerText = greeting;

}

KuCoinで口座を開設し、最大700 USDTの保証ボーナスを受け取りましょう。

  1. KuCoinを使って暗号通貨取引の旅を始めて、一歩リードしましょう!
  2. KuCoinで安心して取引しましょう!当社のプラットフォームは、デジタル資産のために最高水準の保護を提供し、セキュリティを最優先にしています。
  3. KuCoinと一緒に仮想通貨の広大な世界を探検しましょう!

今すぐ登録!

Ethers.jsが展開されている実際の例:

https://twitter.com/ronakpal1/status/1767071343345095092?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1767071343345095092%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

分散型出版

メディア出版社は、ブロックチェーンネットワーク上に記事の一部が公開される分散型の出版も検討することができます。これにより検閲への抵抗やコンテンツの信頼性向上に役立つことがあります。

ここには、記事のハッシュがオンラインで公開の証拠として保存されているサンプルコードがあります。

const { ethers } = require(‘ethers’);

const wallet = new ethers.Wallet(‘YOUR_PRIVATE_KEY’, provider);

const contentHash = ethers.utils.id("記事のコンテンツをここに入力");

const tx = await wallet.sendTransaction({

to: ‘0xSomeStorageContractAddress’,data: contentHash // このデータを受け入れ、保存する契約を想定しています

});

console.log("トランザクションハッシュ(公開の証明):", tx.hash);

これらはメディア出版のためのユースケースのわずかな例に過ぎません。しかし、他のセクターも ethers.js の力を活用することができます。これには次のものが含まれます。

  1. ブロックチェーン開発者(予定)
  2. 金融アナリストは、DeFiメトリックス
  3. ゲーム開発者
  4. コンテンツクリエイター
  5. サプライチェーンマネージャー

それ以上。

Ethers.jsの実世界アプリケーション

Besides being useful in ディーファイ, NFTやゲームプロジェクトに加え、いくつかの既存のDAppsがEthers.jsの使用をサポートしています。これには以下が含まれます:

  1. Uniswap: Ether.jsは、取引の実行、流動性の追加、さらにはプール統計のクエリを行うためにUniswapの固有のスマートコントラクトとやり取りします。この場合、DApp開発者は、取引ボット、ポートフォリオ管理ツールなど、Uniswapとやり取りするツールを構築する予定です。
  2. Aave: DApp開発者やその他関係者は、Ether.jsの機能を活用してAave固有のスマートコントラクトとやり取りすることができます。これにより、彼らは借入資産のためのフロントエンドを準備し、担保を預け、その他多くのことを行うことができます。

Ethers.jsの幾つかの神話を破る:

https://twitter.com/imashuttoshh/status/1765558806291894739?refsrc=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1765558806291894739%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

セキュリティの考慮事項

Ethers.jsを使用すると、かなり広範囲なセットが付属していますセキュリティ考慮事項。以下は、従うべきいくつかのポイントです。

  1. アプリケーションのコードベース内にプライベートキーをハードコードすることは避けることをお勧めします。
  2. すべてのスマートコントラクトのやりとりは、契約のテストと徹底した監査の前に行われるべきです。
  3. スマートコントラクトとやり取りする際は、「call」のような安全なパターンを使用して、読み取り専用のタスクを実行してください。
  4. ethers.jsの使用を最適化するためには、リクエストのバッチ処理を検討することができます。これにより、読み取り専用のリクエストをバッチ処理してネットワークコールの回数を最小限に抑えることができます。これらの最適化技術によって、アプリケーションを高度にスケーラブルかつコスト効率の良いものにすることができるのは言うまでもありません。

こちらは、それがどのように機能するかの例です。

// Ethers.jsを使用したコントラクト呼び出しのバッチ処理の擬似コード(概念的な例)

const contract = new ethers.Contract(address, abi, provider);

const [value1, value2, value3] = await Promise.all([

contract.viewFunction1(),contract.viewFunction2(),contract.viewFunction3()

];

Ethers.js: 多目的ツール

スポンサー

https://harambetoken.ai/?domain=beincrypto&banner=header-banner-3&cpid=1ce31526-203f-4d6a-bf00-af77d6cf6edd

このガイドで示されているように、Ethers.jsは多機能なツールです。その機能を簡単に見てきましたが、Ethers.jsを完全に理解する最良の方法は、スマートコントラクト、JavaScript、IDE、DAppsなどの世界にさらに深く入り込むことです。また、EthereumとEthersコミュニティに参加することも役立ちます。

よくある質問

開発者はEthers.jsのイベントをどのように利用できますか?

Ethers.jsが提供する主要なユーティリティは何ですか?

Ethers.jsとWeb3.jsの間の接続は何ですか?

免責事項:

  1. この記事は[から転載されましたbeincrypto], すべての著作権は元の著者に帰属します [アナンダ・バネルジー]。もし、この転載に異議がある場合は、お問い合わせください。Gate Learnチームが速やかに対処します。
  2. 責任の免責事項:この記事で表現された意見は、著者個人のものであり、投資アドバイスを構成するものではありません。
  3. 他の言語への記事の翻訳は、Gate Learnチームによって行われます。特に言及されていない限り、翻訳された記事のコピー、配布、または盗用は禁止されています。
Start Now
Sign up and get a
$100
Voucher!
It seems that you are attempting to access our services from a Restricted Location where Gate.io is unable to provide services. We apologize for any inconvenience this may cause. Currently, the Restricted Locations include but not limited to: the United States of America, Canada, Cambodia, Thailand, Cuba, Iran, North Korea and so on. For more information regarding the Restricted Locations, please refer to the User Agreement. Should you have any other questions, please contact our Customer Support Team.