時価総額: $2.1702T 1.17%
ボリューム(24時間): $75.7161B -2.12%
恐怖と貪欲の指数:

18 - 極度の恐怖

  • 時価総額: $2.1702T 1.17%
  • ボリューム(24時間): $75.7161B -2.12%
  • 恐怖と貪欲の指数:
  • 時価総額: $2.1702T 1.17%
暗号
トピック
暗号化
ニュース
暗号造園
動画
トップクリプトスペディア

言語を選択する

言語を選択する

通貨の選択

暗号
トピック
暗号化
ニュース
暗号造園
動画

openzeppelin契約の使用方法は?

OpenZeppelin Contracts provides secure, reusable smart contracts for Ethereum, enabling developers to build tokens and dApps efficiently with standards like ERC-20 and ERC-721.

2025/07/21 05:35

Openzeppelin契約の理解

Openzeppelin Contractsは、イーサリアムやその他のブロックチェーンプラットフォーム向けの再利用可能で安全なスマート契約のライブラリです。これらの契約は、分散型アプリケーション(DAPP)およびトークンシステムの開発に広く使用されています。ライブラリは、ERC-20、ERC-721、ERC-1155などの標準の実装と、所有可能、一時停止可能、Safemathなどのセキュリティ関連のユーティリティを提供します。開発者はOpenzeppelinを使用して、ホイールの再発明を避け、スマートコントラクトが監査および広範囲にテストされた基盤の上に構築されるようにします。

実装に飛び込む前に、契約がどのように構成されているか、そしてそれらをプロジェクトにインポートする方法を理解することが重要です。契約はモジュール式です。つまり、必要なもののみをインポートできます。このモジュール性は、ガスコストを削減し、保守性を向上させるのに役立ちます。

開発環境を設定します

Openzeppelin契約を使用するには、最初に開発環境を設定する必要があります。 JavaScriptパッケージの管理に不可欠なnode.jsnpmをインストールすることから始めます。インストールしたら、以下を使用して新しいプロジェクトを初期化します。

 npm init -y

次に、人気のあるイーサリアム開発フレームワークであるトリュフ、または別の広く使用されているツールをインストールします。

 npm install -g truffleまたは

npmインストール - save-dev hardhat

フレームワークを設定した後、NPM経由でOpenzePpelin契約をインストールします。

 npm install @openzeppelin/contracts

このコマンドは、OpenzePpelinライブラリをプロジェクトのnode_modulesディレクトリにインストールします。これで、個々の契約またはユーティリティ機能をSolidityファイルに直接インポートできるようになりました。

Openzeppelin契約のインポートと拡張

インストールしたら、SolidityファイルにOpenzePpelin契約のインポートを開始できます。たとえば、 ERC-20トークンを構築している場合は、 ERC20.SOL契約をインポートできます。

 pragma solidity ^0.8.0; '@openzeppelin/contracts/token/erc20/erc20.sol'をインポートします。




契約mytokenはERC20です{

constructor(uint256 initialSupply) ERC20('MyToken', 'MTK') { _mint(msg.sender, initialSupply); }

}

このコードは、OpenzePpelinからERC20契約を拡張する新しいトークンを作成します。コンストラクターは初期電源を取り、 _mint関数を使用して展開者のアドレスに割り当てます。これは、ボイラープレートコードを作成せずにトークンを作成するための安全でテストされた方法です。

一時停止所有権制御などの追加機能が必要な場合は、他の契約をインポートおよび拡張できます。

 import '@openzeppelin/contracts/access/Ownable.sol'; import '@openzeppelin/contracts/security/Pausable.sol';契約mypausabletokenはERC20、所有可能、一時停止可能です{




constructor(uint256 initialSupply) ERC20('MyToken', 'MTK') { _mint(msg.sender, initialSupply); } function pause() public onlyOwner { _pause(); } function unpause() public onlyOwner { _unpause(); }

}

このアプローチを使用すると、安全で戦闘テストされたコンポーネントで契約を作成できます。

Openzeppelinとの契約の展開

契約書が書かれたら、次のステップは展開です。トリュフを使用している場合は、移行/ディレクトリに移行ファイルを作成します。

 const MyPausableToken = artifacts.require('MyPausableToken'); module.exports = function(deplayer){ deployer.deploy(mypausabletoken、1000000); };

このスクリプトは、 1,000,000トークンの初期供給で契約を展開します。使用を使用して移行を実行します。

 truffle migrate --network

Hardhatを使用している場合は、スクリプト/フォルダーに展開スクリプトを作成します。

 async function main() { const MyPausableToken = await ethers.getContractFactory('MyPausableToken'); const myToken = await MyPausableToken.deploy(1000000); await myToken.deployed(); console.log( 'mypausabletoken deployed:'、mytoken.address); }




main()。catch((error)=> { Console.Error(エラー); process.exitcode = 1; });

次に展開します。

 npx hardhat run scripts/deploy.js --network

Truffle-Config.jsまたはhardhat.config.jsファイルに、資金提供されたEthereumアカウントと正しいネットワーク構成があることを確認してください。

展開された契約との対話

展開後、 Remix IDEMetamaskEthers.jsなどのツールを使用して契約と対話できます。 Ethers.jsを使用している場合は、次のように契約に接続します。

 const { ethers } = require('ethers'); const Provider = new Ethers.providers.jsonrpcprovider( 'https://mainnet.infura.io/v3/your_infura_project_id'); const signer = new Ethers.wallet( 'your_private_key'、プロバイダー); const ContractAddress = 'Your_Contract_Address'; const abi = require( './ mypausabletoken.json')。abi;




const contract = new Ethers.Contract(ContractAddress、ABI、Signer);

async関数pausecontract(){ const tx = await contract.pause(); await tx.wait(); console.log( '契約停止'); }

署名者がガスの代金を支払うのに十分な資金を持っていることを確認してください。また、 Web3.jsを使用して、またはEtherscanのようなブロックチェーンエクスプローラーを使用して契約と対話することもできます。

よくある質問

Q:OpenzePpelin契約を直接変更できますか? A:契約を技術的に変更することはできますが、推奨されません。代わりに、契約を延長し、必要に応じて関数をオーバーライドする必要があります。元の契約を変更すると、セキュリティの脆弱性が導入されたり、将来の更新と互換性を破ることができます。

Q:OpenzePpelinで構築された契約をアップグレードするにはどうすればよいですか? A:OpenzePpelinは、アップグレードとハードハットのアップグレードプラグインを提供し、アップグレード可能な契約を展開および管理します。これらのツールを使用すると、契約をプロキシを使用して、状態を失うことなくロジックを更新できます。

Q:openzeppelin契約は、0.8.xを超えるSolidityバージョンと互換性がありますか? A:はい、Openzeppelin契約は積極的に維持され、 0.8.x以上の堅牢性をサポートします。ただし、インポートする前に、常に公式ドキュメントまたはnpmバージョンの互換性を確認してください。

Q:Openzeppelin契約を生産で使用しても安全ですか? A:はい、Openzeppelin契約は生産環境で広く使用されており、複数の第三者によって監査されています。ただし、メインネットに展開する前に、常に独自の監査とテストを実行してください。

免責事項:info@kdj.com

提供される情報は取引に関するアドバイスではありません。 kdj.com は、この記事で提供される情報に基づいて行われた投資に対して一切の責任を負いません。暗号通貨は変動性が高いため、十分な調査を行った上で慎重に投資することを強くお勧めします。

このウェブサイトで使用されているコンテンツが著作権を侵害していると思われる場合は、直ちに当社 (info@kdj.com) までご連絡ください。速やかに削除させていただきます。

関連知識

仮想通貨先物市場における市場操作シグナルを認識する方法

仮想通貨先物市場における市場操作シグナルを認識する方法

2026-06-12 17:26:02

Bitcoin 半減力学1. Bitcoin のプロトコルは、ブロック報酬が約 210,000 ブロックごとに半分になる固定発行スケジュールを強制します。 2. このイベントはおよそ 4 年ごとに発生し、ブロックごとに流通する新しい BTC の数を直接減少させます。 3. マイナーは、2020 年の...

レバレッジトラップとは何ですか?小売トレーダーがよく逮捕される理由

レバレッジトラップとは何ですか?小売トレーダーがよく逮捕される理由

2026-06-12 23:53:36

市場のボラティリティパターン1. Bitcoin の価格変動は、ETF の承認発表や大規模な取引所の停止などの流動性の高いイベント中に、24 時間以内に 5% を超えることがよくあります。 2. イーサリアムのボラティリティの急上昇は、特に新しいロールアップがメインネット上で稼働し、ユーザーの急速な...

ブレイクアウトトレードとは何ですか?先物トレーダーが大きな価格変動をどのように捉えるか

ブレイクアウトトレードとは何ですか?先物トレーダーが大きな価格変動をどのように捉えるか

2026-06-13 05:19:40

仮想通貨先物のブレイクアウトメカニズムを理解する1. ブレイクアウトは、Bitcoin またはアルトコインの価格が持続的な出来高の急増によって確立された抵抗レベルを決定的に突破したときに発生し、多くの場合、レバレッジを活用したロングポジション全体での連鎖的な清算を引き起こします。 2. 無期限先物市...

主要な経済発表の際に仮想通貨先物を取引する方法

主要な経済発表の際に仮想通貨先物を取引する方法

2026-06-12 22:50:44

市場のボラティリティパターン1. Bitcoin の価格変動は、半減発表や主要取引所の上場などの流動性の高いイベント中に 24 時間以内で 5% を超えることがよくあります。 2. アルトコインと BTC の相関関係は、過去 36 か月で平均 0.78 以上であり、Bitcoin の方向性の動きに強...

証拠金残高とは何ですか?先物リスク管理の核心を理解する

証拠金残高とは何ですか?先物リスク管理の核心を理解する

2026-06-12 15:19:45

市場のボラティリティパターン1. Bitcoin の価格変動は、米国のインフレ報告や連邦準備理事会の金利決定などのマクロ経済指標と相関することがよくあります。 2. アルトコインの動きは Bitcoin の軌道を反映することが多いですが、上昇と調整の両方で大きさが増幅されます。 3. 上場投資信託(...

ADL(自動デレバレッジ)とは何ですか?先物取引に与える影響

ADL(自動デレバレッジ)とは何ですか?先物取引に与える影響

2026-06-13 02:05:25

ADLの中核的な仕組み1. ADL は Auto-Deleveraging の略で、市場の極端な混乱時にシステム全体の破産を防ぐために仮想通貨先物取引所に組み込まれたプロトコルです。 2. 価格変動が大量清算を引き起こし、保険基金がその能力を超えて枯渇すると、ADL が最後のリスク封じ込め層としてア...

仮想通貨先物市場における市場操作シグナルを認識する方法

仮想通貨先物市場における市場操作シグナルを認識する方法

2026-06-12 17:26:02

Bitcoin 半減力学1. Bitcoin のプロトコルは、ブロック報酬が約 210,000 ブロックごとに半分になる固定発行スケジュールを強制します。 2. このイベントはおよそ 4 年ごとに発生し、ブロックごとに流通する新しい BTC の数を直接減少させます。 3. マイナーは、2020 年の...

レバレッジトラップとは何ですか?小売トレーダーがよく逮捕される理由

レバレッジトラップとは何ですか?小売トレーダーがよく逮捕される理由

2026-06-12 23:53:36

市場のボラティリティパターン1. Bitcoin の価格変動は、ETF の承認発表や大規模な取引所の停止などの流動性の高いイベント中に、24 時間以内に 5% を超えることがよくあります。 2. イーサリアムのボラティリティの急上昇は、特に新しいロールアップがメインネット上で稼働し、ユーザーの急速な...

ブレイクアウトトレードとは何ですか?先物トレーダーが大きな価格変動をどのように捉えるか

ブレイクアウトトレードとは何ですか?先物トレーダーが大きな価格変動をどのように捉えるか

2026-06-13 05:19:40

仮想通貨先物のブレイクアウトメカニズムを理解する1. ブレイクアウトは、Bitcoin またはアルトコインの価格が持続的な出来高の急増によって確立された抵抗レベルを決定的に突破したときに発生し、多くの場合、レバレッジを活用したロングポジション全体での連鎖的な清算を引き起こします。 2. 無期限先物市...

主要な経済発表の際に仮想通貨先物を取引する方法

主要な経済発表の際に仮想通貨先物を取引する方法

2026-06-12 22:50:44

市場のボラティリティパターン1. Bitcoin の価格変動は、半減発表や主要取引所の上場などの流動性の高いイベント中に 24 時間以内で 5% を超えることがよくあります。 2. アルトコインと BTC の相関関係は、過去 36 か月で平均 0.78 以上であり、Bitcoin の方向性の動きに強...

証拠金残高とは何ですか?先物リスク管理の核心を理解する

証拠金残高とは何ですか?先物リスク管理の核心を理解する

2026-06-12 15:19:45

市場のボラティリティパターン1. Bitcoin の価格変動は、米国のインフレ報告や連邦準備理事会の金利決定などのマクロ経済指標と相関することがよくあります。 2. アルトコインの動きは Bitcoin の軌道を反映することが多いですが、上昇と調整の両方で大きさが増幅されます。 3. 上場投資信託(...

ADL(自動デレバレッジ)とは何ですか?先物取引に与える影響

ADL(自動デレバレッジ)とは何ですか?先物取引に与える影響

2026-06-13 02:05:25

ADLの中核的な仕組み1. ADL は Auto-Deleveraging の略で、市場の極端な混乱時にシステム全体の破産を防ぐために仮想通貨先物取引所に組み込まれたプロトコルです。 2. 価格変動が大量清算を引き起こし、保険基金がその能力を超えて枯渇すると、ADL が最後のリスク封じ込め層としてア...

すべての記事を見る

User not found or password invalid

Your input is correct