あなた自身のトークンを作成する方法
6085 ワード
このチュートリアルでは、単純なerc 20トークンを作成する方法を学びます.
ERC 20はスマート契約にあるトークン標準です.それが他の標準と異なっていることは交換可能であるということです.そして、それは1つのERC 20トークンが常に同じ種類のもう一つに等しいことを意味します.ERC 20トークンをコインではなくトークンにするものは、EDC 20トークンを制御するスマート契約が、ESUSUMと他のEVM互換のブロックであるアバランシェのようなブロックである一方で、コインには独自のバックボーンがあります.
Python 3.6以降が必要です.
NPMも必要です.
Brownieという名前のPythonパッケージを使用してテストや展開のようなことを成し遂げることになりますので、PIPからインストールする必要があります.
フォルダーを開き、その中にコマンドラインウィンドウを起動し、次のコマンドを実行します.このコマンドはブラウニープロジェクトの基本ファイルを初期化します.
このチュートリアルでは、OpenZeppelinライブラリを使用します.このライブラリは、簡単にインポートすることができますし、プロジェクトで使用するユーティリティと標準の多くを提供します.プロジェクトのOpenZeppelinを取得し、プロジェクトでさらに設定を追加するには、
ファイルを作成した後、これらを追加して、コンパイル時にライブラリがインストールされます.
に
スマートコントラクトは基本的にESUTHUMブロックチェーンにあるコードで、関数を実行したり、イベントを発行したりできます.新しいファイルを作成してスマート契約コードを作成します
The
インポート文ではerc 20に到達しました.OpenZeppelinライブラリからのSOLファイルは、我々は我々の契約でそれを使用することができます.
我々が我々の契約を宣言したあと、我々は加えました
コンストラクタは、私たちのスマート契約を初期化することができます.追加
契約書を書いた後、契約書を編集しなければなりません.エラーが発生した場合は、次のコマンドを実行します.
クリエイト
ブラウニーからローカルアカウントと我々の契約mytokenを得ることによって、我々は契約を展開して、展開機能を使用することができます.
最後に、継承を使用して印刷します
コーディングを終了したら、コマンドラインウィンドウをベースディレクトリに開き、次のコマンドを入力します.
これはチュートリアルのこの部分の終わりです.場合は、このチュートリアルでは、任意のミスを見ている場合、または任意の質問がある場合は、それについてコメントをお気軽に.あなたがより多くを成し遂げて、TestNetにあなたのトークンを配備するならば、シリーズに沿って続いてください.私はこのチュートリアルがWeb 3にあなたの出発点になることを望む!
ERC 20トークンとは
ERC 20はスマート契約にあるトークン標準です.それが他の標準と異なっていることは交換可能であるということです.そして、それは1つのERC 20トークンが常に同じ種類のもう一つに等しいことを意味します.ERC 20トークンをコインではなくトークンにするものは、EDC 20トークンを制御するスマート契約が、ESUSUMと他のEVM互換のブロックであるアバランシェのようなブロックである一方で、コインには独自のバックボーンがあります.
要件
Python 3.6以降が必要です.
NPMも必要です.
Brownieという名前のPythonパッケージを使用してテストや展開のようなことを成し遂げることになりますので、PIPからインストールする必要があります.
> pip install eth-brownie
また、ブラウニーがローカルに展開/テストを行うことができるように、ガナッシュCLIも必要になります.> npm install ganache-cli
プロジェクト設定
フォルダーを開き、その中にコマンドラインウィンドウを起動し、次のコマンドを実行します.このコマンドはブラウニープロジェクトの基本ファイルを初期化します.
> brownie init
これらのファイルが作成されたことがわかります.├───build
│ ├───contracts
│ ├───deployments
│ └───interfaces
├───contracts
├───interfaces
├───reports
├───scripts
└───tests
我々がこのチュートリアルに集中する唯一のフォルダは、そうですcontracts
and scripts
. 契約フォルダは、我々のスマート契約を保持し、スクリプトフォルダーは、我々の展開スクリプトを書くものになります.構成
このチュートリアルでは、OpenZeppelinライブラリを使用します.このライブラリは、簡単にインポートすることができますし、プロジェクトで使用するユーティリティと標準の多くを提供します.プロジェクトのOpenZeppelinを取得し、プロジェクトでさらに設定を追加するには、
brownie-config.yaml
依存関係を設定するファイル.ファイルを作成した後、これらを追加して、コンパイル時にライブラリがインストールされます.
dependencies:
- OpenZeppelin/[email protected]
compiler:
solc:
remappings:
- "@openzeppelin=OpenZeppelin/[email protected]"
にdependencies
セクションでは、ターゲットライブラリのGithubリポジトリを追加し、ダウンロードするバージョンを指定します.に
remappings
セクションでは、ライブラリのパスの再マッピングを指定します.契約書作成
スマートコントラクトは基本的にESUTHUMブロックチェーンにあるコードで、関数を実行したり、イベントを発行したりできます.新しいファイルを作成してスマート契約コードを作成します
MyToken.sol
コントラクトフォルダーで.// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract MyToken is ERC20 {
constructor(uint256 initialSupply) ERC20("MyToken","TKN"){
_mint(msg.sender, initialSupply);
}
}
このコードは何をしますか?The
pragma
キーワードは、我々のコードがどのバージョンと互換性を持つかを指定できます.これは、0.8.0のバージョンと互換性があることを意味します.インポート文ではerc 20に到達しました.OpenZeppelinライブラリからのSOLファイルは、我々は我々の契約でそれを使用することができます.
我々が我々の契約を宣言したあと、我々は加えました
is ERC20
, これは基本的にはerc 20の関数を継承する.SOL、技術的に我々のスマート契約をERC 20にします.コンストラクタは、私たちのスマート契約を初期化することができます.追加
ERC20("MyToken", "TKN")
名前とシンボルを宣言するには.The initialSupply
契約の展開者に割り当てられる金額です.契約書の編集
契約書を書いた後、契約書を編集しなければなりません.エラーが発生した場合は、次のコマンドを実行します.
> brownie compile
エラーがない場合は、今すぐローカルガナッシュに展開する時間です!ローカル展開
クリエイト
deploy.py
にscripts
フォルダ.from brownie import MyToken, accounts
from web3 import Web3
initial_supply = 1000000
def main():
account = accounts[0]
my_token = MyToken.deploy(initial_supply, {'from': account})
print(my_token.name())
ブラウニーからインポートされたアカウントはGanacheによって作成されたローカルアカウントです.これらは展開やテストなどの操作を行うことを容易にします.ブラウニーからローカルアカウントと我々の契約mytokenを得ることによって、我々は契約を展開して、展開機能を使用することができます.
{'from': account}
パラメータは、アカウントによって変換される関数に与えるパラメータです.最後に、継承を使用して印刷します
name()
関数は、我々の契約のERC 20コンストラクターに入力した名前を取得します.コーディングを終了したら、コマンドラインウィンドウをベースディレクトリに開き、次のコマンドを入力します.
> brownie run scripts/deploy.py
これが問題なしで実行され、最後にトークン名の出力を取得する場合、それはあなたがそれを作ったことを意味!これはチュートリアルのこの部分の終わりです.場合は、このチュートリアルでは、任意のミスを見ている場合、または任意の質問がある場合は、それについてコメントをお気軽に.あなたがより多くを成し遂げて、TestNetにあなたのトークンを配備するならば、シリーズに沿って続いてください.私はこのチュートリアルがWeb 3にあなたの出発点になることを望む!
Reference
この問題について(あなた自身のトークンを作成する方法), 我々は、より多くの情報をここで見つけました https://dev.to/selcukoz05/how-to-create-your-own-token-with-solidity-and-python-4762テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol