トークンは新しいものではなく、法定通貨、ID カード、カジノ チップ、株券など、同様の形式ですでに日常的に使用されています。 Web 3.0 では、トークンは基本的に、Web3 の原子単位である代替可能トークンと非代替トークン (NFT) に分類されます。 ERC20 (Ethereum Request for Comment 20) は、Ethereum ブロックチェーンを使用して作成された代替トークンの実装標準です。
この記事では、Python、brownie、solidity、Openzepplin を使用して、独自の Web3 代替トークン (ERC20) を構築する方法を説明します。この記事を読み終えるまでに、それを構築してトークン化を開始するための基本的なフローを学ぶことができます。
Web3 代替トークンの要素 – Python、Brownie、Solidity を使用して ERC20 トークンを構築する
Python、ブラウニー、ソリッドティ、Openzepplin
Web3 Fungible Token の目次
- zepplin を開き、独自のトークンに名前を付けます
- Pythonを使用したデプロイメントスクリプト
- Brownie-config と .env
- メインネットワークにトークンを追加します
- Python、Solidity を使用して Web3 代替トークン ERC20 を構築する完全なスクリプト
- よくある質問
zepplin を開き、固有のトークンに名前を付けます
まず最初に、トークンの構築もスマート コントラクトとそのコンストラクター コードの記述から始まります。それにもかかわらず、そこには非常に多くのオープンソースコードが存在します。この記事では OpenZeppelin を使用します。 Openzeppelin のドキュメントに移動し、トークン ERC20 セクションを開いて、次のようにこれらのコードをスクリプトにコピーしてください。
// contracts/ourToken.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol" ;
contract ourToken is ERC20 {
constructor ( uint256 initialSupply ) ERC20 ("ourToken", "louisToken") {
_mint ( msg.sender , initialSupply);
}
}
必ず名前を変更してください。これはコントラクト名とトークン名です。
ourToken
louisToken
あとは、brownie を使ってコンパイルするだけで完了です。
Python を使用した展開スクリプト
スマート コントラクトをコンパイルしたら、Python を使用してデプロイメント スクリプトを作成します。基本的には、Web3 モジュールとスマート コントラクトを使用して特定のアカウントをデプロイした以前のプロジェクトと同じです。
from brownie import ourToken
from scripts . assistant import get_account
from web3 import Web3
initial_supply = Web3.toWei( 1000 , "ether" )
def main ():
account = get_account ()
our_token = ourToken.deploy( initial_supply , { "from" : account })
print ( our_token .name())
Brownie-config と .env 設定
Openzepplin スマート コントラクト モジュールを使用しているため、他のプロジェクトで行ったのと同様に、モジュール スクリプトをbrownie-config.yaml
にマッピングする必要があります。以下は現在使用しているバージョン 4.8.0 です。
dependencies :
- OpenZeppelin/openzeppelin-contracts@4.8.0
compiler :
solc :
remappings :
- '@openzeppelin=OpenZeppelin/openzeppelin-contracts@4.8.0'
最新バージョンを入手するには、Google Openzepplin コントラクト GitHub にアクセスし、最新バージョンを使用してください。
wallet, network, and .env setting in YAML
に関しては、基本的に、以前に説明した他の Web3 プロジェクトの設定とすべて同じです。したがって、Easy2Digital Web3 コレクションの他の記事を参照してください。参考までに2つ挙げておきます
Python スクリプトで Infura と MetaMask を使用して、Web3 スマート コントラクトを実際のイーサリアム ブロックチェーン ネットワークにデプロイする
Python と Web3 を使用してイーサリアム上にデプロイされた Brownie FundMe スマート コントラクト
メイン ネットワークにトークンを追加します (この記事では 1 つをテストします)。
すべての設定が完了したら、選択したネットワークでスクリプトを実行し、ライブ ブロックチェーン ネットワークへのデプロイを続行できます。
指示:
Brownie run scripts/deploy_token.py –network goerli
トランザクションは透過的であるため、Etherscan にアクセスして記録を確認できます。
次に、所有する代替可能トークンをウォレットに追加するには、トークン展開されたアドレス (例: MetaMask) をウォレットに追加してください。ステップのサンプルは次のとおりです。
アドレスを入力すると、トークン名が自動的に検出され、ウィンドウにポップアップ表示されます。
終わり!!
Python と Solidity を使用して Web3 代替トークン ERC20 を構築する完全なスクリプト
Web3 Fungible Token – Python、Brownie、Solidity を使用して ERC20 トークンを構築することに興味がある場合は、「Web3.0 チュートリアル 6」というメッセージを追加してニュースレターを購読してください。 。スクリプトはすぐにあなたのメールボックスに送信されます。
「Web3 Fungible Token – Build an ERC20 Token using Python, Brownie, and Solidity」を楽しんで読んでいただければ幸いです。もしそうなら、以下にリストされているいずれかの方法で私たちをサポートしてください。それは常に私たちのチャンネルに役立ちます。
- PayPal を通じて私のチャンネルをサポートし、寄付してください ( paypal.me/Easy2digital )
- 私のチャンネルを購読し、 Easy2Digital Youtube チャンネルの通知ベルをオンにしてください。
- Easy2Digital Facebook ページをフォローして「いいね!」してください
- ハッシュタグ #easy2digital を付けて記事をソーシャル ネットワークで共有してください
- Easy2Digital の最新記事、ビデオ、割引コードを受け取るには、毎週のニュースレターに登録してください。
- Patreon を通じて月額メンバーシップに登録すると、限定特典をお楽しみいただけます ( www.patreon.com/louisludigital )
よくある質問:
Q1: Pythonは何ですか?
A: Pythonは汎用のプログラミング言語で、シンプルで読みやすい構文を持っています。
Q2: Pythonのバージョンはいくつありますか?
A: Pythonには2.x系と3.x系の2つのメジャーバージョンがあります。
Q3: Pythonはどのような用途に使われますか?
A: Pythonはウェブアプリケーション、データ分析、人工知能、科学計算など、さまざまな用途に使われます。
Q4: Pythonの特徴は何ですか?
A: Pythonはシンプルで読みやすいコードを書くことができ、多くのライブラリやフレームワークが利用できるなどの特徴があります。
Q5: Pythonを学ぶために必要な知識はありますか?
A: Pythonを学ぶためにはプログラミングの基礎知識が必要ですが、初心者にも学びやすい言語とされています。
Q6: Pythonは無料ですか?
A: はい、Pythonはオープンソースであり、無料で使用することができます。
Q7: Pythonの開発環境はどうやって構築しますか?
A: Pythonの開発環境は、Pythonの公式サイトからインストーラーをダウンロードし、それを実行することで簡単に構築することができます。
Q8: Pythonでどのようにプログラムを実行しますか?
A: Pythonのプログラムはテキストファイルにコードを書き、それをPythonのインタプリタで実行することでプログラムが実行されます。
Q9: Pythonはどのようなデータ型をサポートしていますか?
A: Pythonは整数、浮動小数点数、文字列、リスト、タプル、辞書などのさまざまなデータ型をサポートしています。
Q10: Pythonのライブラリはどのようにインストールしますか?
A: Pythonのライブラリはpipと呼ばれるパッケージマネージャを使用してインストールすることができます。