
このプロジェクトでできること
Create Binance Smart Chain Tokenは、Binance Smart Chain上でBEP-20トークンを作成・デプロイする方法を学ぶための基本的なSolidityプロジェクトです。提供されているToken.solのソースは、編集してRemixでコンパイルし、MetaMask経由でデプロイした後、BscScanで検証することを想定しています。
このコントラクトには、基本的な管理機能と課税トークン機能が含まれています。トークンのデプロイやブロックチェーン取引を理解するための実践的な出発点として利用できます。
主な機能
- BEP-20トークンの作成:Binance Smart Chain上に代替可能トークンをデプロイできます。
- 識別情報の設定:Solidityソース内でトークン名とシンボルを設定できます。
- 小数桁数と供給量の設定:トークンの小数精度と初期総供給量を定義できます。
- 所有権の管理:所有権を放棄したり、新しい管理者を設定したりできます。
- 税率設定:プロジェクトのREADMEによると、最大99%までの買い手・売り手手数料を設定できます。
- 取引の準備:デプロイ後、PancakeSwapでBNBとトークンの流動性ペアを作成できます。
これは教育用のスタータープロジェクトです。デプロイしたり流動性プールに資産を提供したりする前に、コントラクトを十分に確認・テストしてください。
必要なもの
- リポジトリの
Token.solソースコード。 - Remix IDEを開けるウェブブラウザ。
- Binance Smart Chainに接続できるよう設定したMetaMask。
- コントラクト検証に使用するBscScanへのアクセス。
- 取引ペアを作成する場合はPancakeSwapへのアクセス。
ステップ1:RemixでSolidityファイルを作成する
- Remix IDEを開きます。
.sol拡張子の新しいファイルを作成します。例:NewBSCToken.sol。- リポジトリの
Token.solソースを新しいファイルにコピーします。
わかりやすいファイル名を使うとコントラクトを識別しやすくなりますが、トークンの公開名とシンボルはソースコード内の値によって決まります。
ステップ2:トークンを設定する
ソース内で該当するトークン設定を見つけ、プレースホルダーの値を希望する名前、シンボル、小数桁数、総供給量に置き換えます。
名前:My New Token
シンボル:MNT
小数桁数:18
トークン単位の供給量:1000000
基準単位の供給量:1000000000000000000000000供給量の値を理解する
READMEでは18桁の小数を使用することが推奨されています。小数桁数が18の場合、トークン1単位は10^18基準単位で表されます。したがって、トークン単位で100万の供給量は、次のように入力する必要があります。
1000000 × 10^18 = 1000000000000000000000000桁数を慎重に確認してください。基準単位の値を間違えると、意図した量よりはるかに多い、または少ない供給量になる可能性があります。
手数料を慎重に設定する
このコントラクトは課税トークン設定に対応しており、買い手・売り手手数料を最大99%まで設定できます。デプロイ前に、ソース内で値がどのように表現されているかと、設定値を確認してください。高い手数料を設定すると、ユーザーが取引のごく一部しか受け取れなくなる可能性があるため、サポートされている最大値を推奨設定とみなしてはいけません。
ステップ3:コントラクトをコンパイルする
- RemixのSolidityコンパイラーパネルを開きます。
- コンパイラーバージョン
0.8.0を選択します。 - 選択したコンパイラーが
Token.solで宣言されているSolidityバージョンと一致することを確認します。 - トークンコントラクトをコンパイルします。
- デプロイを試みる前に、コンパイルエラーを解決します。
ソースが想定するバージョンにコンパイラーを合わせることで、コンパイルや後の検証で問題が発生する可能性を減らせます。
ステップ4:MetaMaskでデプロイする
- Remixのデプロイパネルを開きます。
- ブラウザウォレット環境を選択し、RemixがMetaMaskに接続できるようにします。
- MetaMaskが目的のBinance Smart Chainネットワークとアカウントに接続されていることを確認します。
- コンパイル済みのトークンコントラクトを選択します。
- デプロイを開始し、MetaMaskで取引を承認します。
- 必要なブロックが確定するまで待ちます。
デプロイが保留中の間は画面を移動しないでください。プロジェクトの手順に記載されているとおり、取引が完了し、トークンがウォレットに送られるまで待ちます。
確認後、デプロイされたコントラクトアドレスを記録します。このアドレスはトークンコントラクトを一意に識別するもので、検証や流動性設定に必要です。
ステップ5:ウォレットでトークンを確認する
新しいトークンが自動的に表示されない場合は、デプロイされたコントラクトアドレスを使ってウォレットにトークンを追加します。表示されたシンボル、小数精度、残高がソースで設定した値と一致することを確認します。
ステップ6:BscScanでコントラクトを検証する
READMEでは、デプロイ後少なくとも1分待ってから検証を試みることが推奨されています。
- BscScanを開きます。
- デプロイされたコントラクトアドレスを検索します。
- コントラクトの検証手続きを開始します。
- Remixで使用したものと同じSolidityコンパイラーバージョンを使用します。
- 一致するコントラクトソースと必要な検証設定を入力します。
- 検証リクエストを送信し、結果を確認します。
コンパイラーとソースの設定はデプロイ時のものと一致している必要があります。デプロイ後にソースを変更しても、ブロックチェーン上にすでに保存されたバイトコードは変わりません。
ステップ7:PancakeSwapで流動性を追加する
トークンを取引できるようにするため、プロジェクトではPancakeSwapでBNB/NewTokenの流動性ペアを作成することを推奨しています。
- PancakeSwapを開き、トークンに使用したウォレットを接続します。
- 流動性インターフェースを選択します。
- ペアの一方にBNBを選択します。
- もう一方には、デプロイ済みトークンのコントラクトアドレスを貼り付けます。
- インポートされたトークンの詳細が正しいことを確認します。
- 流動性を供給する前に、数量とウォレットの確認内容を確認します。
トークン名やシンボルだけに頼らず、コントラクトアドレスを使用してください。名前やシンボルは必ずしも一意ではありません。
管理機能の使用
ソースには、新しい管理者の設定や所有権の放棄など、所有権に関連する機能が含まれています。正確な操作項目と利用可能な機能は、Token.solおよびデプロイ済みコントラクトのインターフェースで直接確認してください。
- 新しい管理者を設定する: 宛先アドレスを慎重に確認した後にのみ使用してください。
- 所有権を放棄する: 重要な管理操作として扱ってください。その後利用できなくなる管理機能を理解するため、実行前にソースを確認してください。
- 税率設定: 誰が購入手数料と売却手数料を管理できるのか、また所有権の変更後に何が起こるのかを確認してください。
高度なヒント
デプロイ入力値の一貫性を保つ
デプロイに使用したソースファイル、コンパイラのバージョン、設定した名前、シンボル、小数点以下の桁数、供給量、手数料設定を記録してください。これらの情報は、コントラクトの検証や最終的なトークン設定の確認に役立ちます。
アドレスを1文字ずつ確認する
管理権限の移転、トークンのインポート、流動性の作成を行う前に、完全なコントラクトアドレスまたはウォレットアドレスを比較してください。誤ったアドレスに送信したトランザクションは、通常、トークンコントラクトを通じて修正できません。
所有権機能を使用する前にソースを確認する
READMEには新しい管理者の設定機能と所有権放棄機能の両方が記載されていますが、正確な関数名や副作用については説明されていません。いずれかの機能を呼び出す前に実装を確認してください。
トークンを宣伝する前に検証する
コントラクトを検証すると、ユーザーはBscScanで公開済みのSolidityソースを確認できます。アドレスを公開する前に、検証を完了し、トークンの詳細を確認してください。
最大手数料と適切なデフォルト値を混同しない
コントラクトは購入手数料と売却手数料を最大99%まで設定できますが、これは文書化された上限にすぎません。値は慎重に決定し、デプロイ前に送金や取引への影響を理解してください。
まとめ
このプロジェクトは、BEP-20トークン作成を練習するための分かりやすいワークフローを提供します。Token.solを編集し、基本単位で供給量を計算し、Solidity 0.8.0でコンパイルし、MetaMaskからデプロイし、BscScanで検証したうえで、必要に応じてPancakeSwapでBNBペアを作成します。デプロイ済みのブロックチェーントランザクションやコントラクト設定は取り消しや修正が困難、または不可能な場合があるため、すべての設定値と管理操作を慎重に確認してください。
上流のBinance Smart Chainエコシステムについては、GitHubのBNB Chainをご覧ください。プロジェクトのREADMEには、支援や特別な要件に対応するためのTelegram連絡先も記載されています。
