-
bitcoin $87959.907984 USD
1.34% -
ethereum $2920.497338 USD
3.04% -
tether $0.999775 USD
0.00% -
xrp $2.237324 USD
8.12% -
bnb $860.243768 USD
0.90% -
solana $138.089498 USD
5.43% -
usd-coin $0.999807 USD
0.01% -
tron $0.272801 USD
-1.53% -
dogecoin $0.150904 USD
2.96% -
cardano $0.421635 USD
1.97% -
hyperliquid $32.152445 USD
2.23% -
bitcoin-cash $533.301069 USD
-1.94% -
chainlink $12.953417 USD
2.68% -
unus-sed-leo $9.535951 USD
0.73% -
zcash $521.483386 USD
-2.87%
Binance Smart Chain (BSC) でスマート コントラクトを作成してデプロイするにはどうすればよいですか?
To deploy an ERC-20 token on BSC, set up Hardhat with BSC testnet config, write secure Solidity code (v0.8.20+), test locally, then deploy using a funded MetaMask wallet and verify on BscScan.
2026/01/16 08:39
開発環境のセットアップ
1. Node.js と npm をインストールして、スマート コントラクト ツールに必要な JavaScript の依存関係を管理します。
2. npm initを使用して新しいプロジェクトを初期化し、主要な開発フレームワークとして Hardhat をインストールします。
3. RPC URL、チェーン ID (テストネットの場合は 97、メインネットの場合は 56)、および秘密キーまたはニーモニックを介してアカウントを指定して、BSC テストネット構成をhardhat.config.jsに追加します。
4. テスト機能を強化するために、 @nomiclabs/hardhat-ethers 、 ethereum-waffle 、 hardhat-gas-reporterなどの必要なプラグインをインストールします。
5. 秘密キーと API エンドポイントをバージョン管理に公開せずに安全に保存するように.envファイルを構成します。
スマート コントラクト コードの作成
1. BSC の EVM 互換性レベル (^0.8.20 など) と互換性のある SPDX ライセンス識別子とプラグマ バージョンを使用して、 contracts/ の下に Solidity ファイル (たとえばToken.sol ) を作成します。
2. totalSupply 、 balanceOf 、 transfer 、 approve 、 transferFromなどの ERC-20 標準関数を実装します。
3. 構築中に名前、シンボル、小数点などの不変パラメータを定義し、リエントランシーやオーバーフローの脆弱性が存在しないことを保証します。
4. Solidity 0.8 以降では、オーバーフロー チェックが組み込まれているため、SafeMath の使用は必要ありませんが、明示的な require ステートメントで重大な状態遷移を保護する必要があります。
5. ミントや転送の一時停止などの管理機能へのアクセスを制限するには、 onlyOwnerなどのカスタム修飾子を含めます。
ローカルでのコンパイルとテスト
1. npx ハードハット コンパイルを実行して、Solidity ソース ファイルから ABI とバイトコードを生成します。
2. ethers.js と Waffle matcher を使用してtest/にテスト スクリプトを作成し、バランスの更新、イベントの発行、および元に戻す条件を確認します。
3. ハードハット ネットワークに対してnpx ハードハット テストを使用してテストを実行し、ガスコストを発生させずにトランザクション動作をシミュレートします。
4. 単体テスト中、特に PancakeSwap ルーターなどの外部プロトコルと対話する場合に、依存関係注入用のモック コントラクトをデプロイします。
5. Solidity-coverageプラグインを使用してカバレッジを検証し、展開前にすべてのブランチとエッジ ケースが実行されていることを確認します。
BSC テストネットへの展開
1. チェーン ID 97 に設定された MetaMask ウォレットを使用して、 BSC Testnet Faucetからテスト BNB を取得します。
2. Alchemy または QuickNode エンドポイント経由で BSC テストネットに接続するデプロイメント スクリプトをscripts/deploy.jsに記述します。
3. 環境に保存された秘密キーから派生したウォレット インスタンスで初期化されたイーサ プロバイダを使用して、トランザクションに署名し、ブロードキャストします。
4. 返されたトランザクション ハッシュを使用してtestnet.bscscan.comでトランザクション ステータスを監視し、コントラクトが正常に作成されたことを確認します。
5. 正確なコンパイラ バージョン、最適化設定、展開中に使用されるコンストラクタ引数を送信して、BscScan のソース コードを検証します。
デプロイされたコントラクトとの対話
1. ethers.js を使用してコントラクト ABI をフロントエンド アプリケーションにインポートし、BSC ネットワークを選択して MetaMask に接続します。
2. トランザクションに署名せずに、コントラクト インスタンスを通じて、 balanceOfなどの読み取り専用関数を直接呼び出します。
3. 適切なガス制限と料金で署名されたトランザクションを構築して送信することにより、転送などの状態変更操作を開始します。
4.contract.on()を使用して転送や承認などのイベントをリッスンし、リアルタイムで UI を更新します。
5. PancakeSwap のルーター契約を通じてトークンの許可とルーティング スワップを承認することで、BSC ベースの分散型取引所と統合します。
よくある質問
Q: イーサリアムメインネット用にコンパイルされたコントラクトを BSC に直接デプロイできますか? A: はい、BSC は EVM 互換であり、同一のバイトコードをサポートしているためです。ただし、移行前にガス制限とブロック時間への影響を確認してください。
Q: BSC テストネットで展開トランザクションが「ガス欠」で失敗するのはなぜですか? A: これは、ガス制限が低すぎる場合、またはコントラクトに高価なループや無制限のストレージ書き込みが含まれている場合によく発生します。デプロイメントスクリプトのgasLimitを増やし、ロジックの複雑さを見直してください。
Q: BEP-20 拡張機能などの BSC 固有の機能はどのように処理すればよいですか? A: getOwnerやrenounceOwnershipなどの BEP-20 の追加機能を使用して ERC-20 実装を拡張し、BSC が推奨するインターフェイス標準に準拠していることを確認します。
Q: 導入後に BscScan で契約を確認することは必須ですか? A: 検証は機能には必須ではありませんが、透明性、監査可能性、検証済みのソース コードに依存するウォレットやエクスプローラーとの統合には不可欠です。
免責事項:info@kdj.com
提供される情報は取引に関するアドバイスではありません。 kdj.com は、この記事で提供される情報に基づいて行われた投資に対して一切の責任を負いません。暗号通貨は変動性が高いため、十分な調査を行った上で慎重に投資することを強くお勧めします。
このウェブサイトで使用されているコンテンツが著作権を侵害していると思われる場合は、直ちに当社 (info@kdj.com) までご連絡ください。速やかに削除させていただきます。
- 第 5 回スーパーボウル: 最近表が急増しているにもかかわらず、コイントスの傾向は裏を示している
- 2026-01-31 07:30:02
- オーストラリアの探鉱家の古代発見:日本の遺物が表面化し、ゴールドラッシュの伝承を書き換える
- 2026-01-31 07:20:01
- 米国造幣局がコイン価格を調整:特別記念リリースの中でクラッドコレクターセットが大幅に値上がり
- 2026-01-31 07:20:01
- THORChain、ビットコインDEX定義をめぐるCoinGeckoとの激しい議論に火をつける:真の分散化をめぐる戦い
- 2026-01-31 07:15:01
- ファンタジー フットボール フレンジー: プレミア リーグ ラウンド 24 に向けた重要なピックとポイント
- 2026-01-31 06:40:02
- 仮想通貨は市場のボラティリティの中で2026年の急落の可能性に備える
- 2026-01-31 07:15:01
関連知識
LayerZero コントラクトを使用してクロスチェーン メッセージを実行するにはどうすればよいですか?
2026-01-18 13:19:39
LayerZero アーキテクチャを理解する1. LayerZero は、信頼できる仲介者やラップされた資産に依存せずにブロックチェーン間の通信を可能にする、軽量で許可のない相互運用性プロトコルとして動作します。 2. 各チェーンに展開されたウルトラ ライト ノード (ULN) を利用して、ブロック...
安全な署名検証のために EIP-712 を実装するにはどうすればよいですか?
2026-01-20 22:20:26
EIP-712 の概要と主な目的1. EIP-712 は、イーサリアム アプリケーションにおける型付き構造化データのハッシュと署名の標準を定義します。 2. これにより、ウォレットは、署名リクエスト中に未加工の 16 進文字列の代わりに人間が判読できるドメインおよびメッセージ フィールドを表示できる...
新しい契約を交わしてエアドロップの資格を得るにはどうすればよいですか?
2026-01-24 21:00:23
契約のやり取りの要件を理解する1. ほとんどのエアドロップ キャンペーンでは、Ethereum、Arbitrum、Base などのサポートされているブロックチェーンにデプロイされたスマート コントラクトとの直接対話が義務付けられています。 2. インタラクションには通常、dApp インターフェースに...
スマート コントラクトのセキュリティ アラートを監視するにはどうすればよいですか?
2026-01-21 07:59:57
オンチェーン監視ツール1. Etherscan や Blockscout などのブロックチェーン エクスプローラーを使用すると、コントラクト バイトコード、トランザクション ログ、内部呼び出しをリアルタイムで検査できます。 2. オンチェーンデータを信頼する前に、契約の検証ステータスを確認する必要が...
自動支払いのための契約を設定して資金を調達するにはどうすればよいですか?
2026-01-26 08:59:35
スマートコントラクトの展開を理解する1. 開発者は、ガス効率とセキュリティ要件に基づいて、Ethereum、Polygon、Arbitrum などの互換性のあるブロックチェーン プラットフォームを選択する必要があります。 2. Solidity は、特に定期的な送金や条件付き送金の場合、支払い自動化...
OpenZeppelin コントラクトを使用して安全な dApp を構築するにはどうすればよいですか?
2026-01-18 11:19:49
OpenZeppelin コントラクトの基礎を理解する1. OpenZeppelin Contracts は、イーサリアムおよび EVM 互換ブロックチェーン用に構築された、再利用可能なコミュニティ監査済みのスマート コントラクト コンポーネントのライブラリです。 2. ライブラリ内の各コントラクト...
LayerZero コントラクトを使用してクロスチェーン メッセージを実行するにはどうすればよいですか?
2026-01-18 13:19:39
LayerZero アーキテクチャを理解する1. LayerZero は、信頼できる仲介者やラップされた資産に依存せずにブロックチェーン間の通信を可能にする、軽量で許可のない相互運用性プロトコルとして動作します。 2. 各チェーンに展開されたウルトラ ライト ノード (ULN) を利用して、ブロック...
安全な署名検証のために EIP-712 を実装するにはどうすればよいですか?
2026-01-20 22:20:26
EIP-712 の概要と主な目的1. EIP-712 は、イーサリアム アプリケーションにおける型付き構造化データのハッシュと署名の標準を定義します。 2. これにより、ウォレットは、署名リクエスト中に未加工の 16 進文字列の代わりに人間が判読できるドメインおよびメッセージ フィールドを表示できる...
新しい契約を交わしてエアドロップの資格を得るにはどうすればよいですか?
2026-01-24 21:00:23
契約のやり取りの要件を理解する1. ほとんどのエアドロップ キャンペーンでは、Ethereum、Arbitrum、Base などのサポートされているブロックチェーンにデプロイされたスマート コントラクトとの直接対話が義務付けられています。 2. インタラクションには通常、dApp インターフェースに...
スマート コントラクトのセキュリティ アラートを監視するにはどうすればよいですか?
2026-01-21 07:59:57
オンチェーン監視ツール1. Etherscan や Blockscout などのブロックチェーン エクスプローラーを使用すると、コントラクト バイトコード、トランザクション ログ、内部呼び出しをリアルタイムで検査できます。 2. オンチェーンデータを信頼する前に、契約の検証ステータスを確認する必要が...
自動支払いのための契約を設定して資金を調達するにはどうすればよいですか?
2026-01-26 08:59:35
スマートコントラクトの展開を理解する1. 開発者は、ガス効率とセキュリティ要件に基づいて、Ethereum、Polygon、Arbitrum などの互換性のあるブロックチェーン プラットフォームを選択する必要があります。 2. Solidity は、特に定期的な送金や条件付き送金の場合、支払い自動化...
OpenZeppelin コントラクトを使用して安全な dApp を構築するにはどうすればよいですか?
2026-01-18 11:19:49
OpenZeppelin コントラクトの基礎を理解する1. OpenZeppelin Contracts は、イーサリアムおよび EVM 互換ブロックチェーン用に構築された、再利用可能なコミュニティ監査済みのスマート コントラクト コンポーネントのライブラリです。 2. ライブラリ内の各コントラクト...
すべての記事を見る














