Web3 Fungible Token – Python, Solidity를 사용하여 ERC20 토큰 구축
Python, 브라우니, solidity 및 Openzepplin을 사용하여 소유한 Web3 대체 가능 토큰(ERC20)을 구축하는 방법을 살펴보십시오.
토큰은 예를 들어 명목화폐, ID 카드, 카지노 칩, 주식 증서 등과 같이 우리가 이미 매일 유사한 형태를 사용하고 있는 새로운 것이 아닙니다. Web 3.0에서 토큰은 기본적으로 Web3의 원자 단위인 대체 가능한 토큰과 대체 불가능한 토큰(NFT)으로 나뉩니다. 그리고 ERC20(Ethereum Request for Comment 20)은 Ethereum 블록체인을 사용하여 생성된 대체 가능한 토큰에 대해 구현된 표준입니다.
이 기사에서는 Python, 브라우니, solidity 및 Openzepplin을 사용하여 소유한 Web3 대체 가능 토큰(ERC20)을 구축하는 방법을 살펴보겠습니다. 이 기사의 끝에서 이를 구축하고 토큰화를 시작하는 기본 흐름을 배울 수 있습니다.
Web3 Fungible Token의 구성 요소 – Python, Brownie 및 Solidity를 사용하여 ERC20 토큰 구축
Python, 브라우니, 견고성, Openzepplin
Web3 Fungible Token의 목차
- Openzepplin 및 고유 토큰 이름 지정
- Python을 사용한 배포 스크립트
- 브라우니 구성 및 .env
- 메인 네트워크에 토큰 추가
- Python, solidity를 사용하여 web3 대체 가능 토큰 ERC20을 구축하는 전체 스크립트
Openzepplin 및 고유 토큰 이름 지정
먼저 토큰 구축은 스마트 계약과 생성자 코드 작성에서 시작됩니다. 그럼에도 불구하고 꽤 많은 오픈 소스 코드가 있습니다. 이 기사에서는 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
그런 다음 다음 단계는 브라우니를 사용하여 컴파일하면 완료됩니다!
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 컬렉션의 다른 기사를 참조하십시오. 다음은 참고용으로 두 가지입니다.
Python 스크립트에서 Infura 및 MetaMask를 사용하여 실제 이더리움 블록체인 네트워크에 Web3 스마트 계약 배포
메인 네트워크에 토큰 추가(이 기사에서 테스트)
모든 설정이 완료되면 선택한 네트워크로 스크립트를 실행하고 라이브 블록체인 네트워크에 배포를 진행할 수 있습니다.
명령:
Brownie run scripts/deploy_token.py –network goerli

트랜잭션이 투명하므로 Etherscan으로 이동하여 기록을 확인할 수 있습니다.
그런 다음 소유한 대체 가능 토큰을 지갑에 추가하려면 토큰 배포 주소를 지갑에 추가하십시오(예: MetaMask). 다음은 단계 샘플입니다.

주소를 입력하면 토큰 이름이 자동으로 감지되어 창에 나타납니다.
완료!!

Python과 Solidity를 사용하여 Web3 Fungible Token ERC20을 구축하는 전체 스크립트
Web3 Fungible Token – Python, Brownie 및 Solidity를 사용하여 ERC20 토큰 구축에 관심이 있는 경우, "Web3.0 tutorial 6"이라는 메시지를 추가하여 뉴스레터를 구독 하십시오. . 귀하의 사서함으로 스크립트를 즉시 보내드립니다.
Web3 Fungible Token – Python, Brownie 및 Solidity를 사용하여 ERC20 토큰 구축을 즐겁게 읽으시기 바랍니다. 그렇다면 아래 나열된 항목 중 하나를 수행하여 지원해 주세요. 항상 채널에 도움이 되기 때문입니다.
- PayPal( paypal.me/Easy2digital )을 통해 내 채널을 지원하고 기부하세요.
- 제 채널 구독하시고 알림벨을 켜주세요 Easy2Digital 유튜브 채널 .
- 내 페이지 팔로우 및 좋아요 Easy2Digital Facebook 페이지
- #easy2digital 해시태그를 사용하여 소셜 네트워크에 기사를 공유하세요.
- Easy2Digital 최신 기사, 비디오 및 할인 코드를 받으려면 주간 뉴스레터에 가입하십시오.
- 독점적인 혜택을 누리려면 Patreon을 통해 월간 멤버십을 구독하세요( www.patreon.com/louisludigital ).