Web3 - Solidity로 나만의 암호화폐 토큰을 만들기 위한 궁극의 가이드
Old or new to the crypto world, you have probably already met with some cryptocurrencies. But how about creating one? That's what we're going to do in this tutorial.
ERC-20
먼저 ERC-20이란? 일종의 안드로이드? 아니! 어려운 이름 외에도 대체 가능한 토큰(암호화폐와 같은)이 세계와 적절하게 상호작용하기 위해 가져야 하는 기본 구조, 규칙 및 기능을 정의하는 프로토콜일 뿐입니다. 그러나 좋은 소식! 처음부터 작성할 필요가 없습니다. 왜냐하면 OpenZeppelin에는 이미 커뮤니티 개발자가 작성하고 감사한 많은 보안 표준 스마트 계약이 있기 때문입니다. ERC-20 기본 속성 및 방법.
기본 속성 및 메서드
세상과 제대로 상호 작용하려면 토큰에는 다음과 같은 몇 가지 기본 규칙이 필요합니다.
또한 다음과 같은 기본 기능도 있습니다.
OpenZeppelin ERC-20 smart contract에서 몇 가지 더 확인할 수 있습니다.
코드
재미있는 부분인 코딩으로 가보겠습니다. 이 부분에서는 이미 기본 Solidity 경험이 있다고 가정합니다. Remix IDE 을 열고 새 파일을 만들고 Pragma를 사용 가능한 최신 버전으로 설정합니다. here에서 ERC-20 스마트 계약을 가져오고 토큰 스마트 계약을 확장하십시오. 다음과 같은 것이 있어야 합니다.
pragma solidity ^0.8.7;
import 'https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol';
contract CakeCoin is ERC20 {
}
이제 생성자 함수를 추가해야 하므로 이름 및 기호 속성에 값을 할당하고 스마트 계약 생성 시 일부 시작 토큰을 발행할 수 있습니다. 계약 생성 시 초기 공급량보다 더 많이 발행할 가능성 없이 특정 수량의 토큰을 발행하거나 요청 시 발행할 수 있도록 기능을 생성하도록 선택할 수 있습니다. 그것은 당신의 전략에 달려 있습니다.
pragma solidity ^0.8.7;
import 'https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol';
contract CakeCoin is ERC20 {
address public owner;
constructor() ERC20('CakeCoin', 'CAKE') {
_mint(msg.sender, 100000 * 10 ** 18);
owner = msg.sender;
}
}
여기에서 우리는 우리의 토큰을 CakeCoin으로 정의했으며 기호는 CAKE입니다. 또한 초기 코인을 설정하고 소수점 18자리를 정의하고 소유자 주소를 등록하여 민트와 같이 컨트랙트 생성자만 사용할 수 있는 기능을 만들 수 있습니다. 이제 mint 함수를 만들어 봅시다.
pragma solidity ^0.8.7;
import 'https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol';
contract CakeCoin is ERC20 {
address public owner;
constructor() ERC20('CakeCoin', 'CAKE') {
_mint(msg.sender, 100000 * 10 ** 18);
owner = msg.sender;
}
function mint(address to, uint amount) external {
require(msg.sender == owner, "Only the coin owner can mint more coins");
_mint(to, amount);
}
}
발행 기능을 통해 계약 소유자는 새 토큰을 발행하여 모든 주소로 보낼 수 있습니다. 이것이 우리 토큰의 기본 기능에 대한 것이지만 원하는 대로 토큰과 상호 작용하는 다른 기능을 만들 수 있습니다. 하늘이 한계입니다 :)
스마트 계약을 로컬 개발 블록체인에 배포
스마트 계약을 테스트하기 위해 아래 예와 같이 Remix를 사용하여 로컬 개발 블록체인에 배포할 수 있습니다.
환경을 JavaScript VM(London)으로 설정하고 테스트 계정을 선택한 다음 배포를 클릭하기만 하면 됩니다. 그런 다음 계약에 오류가 없으면 스마트 계약과 상호 작용할 수 있습니다. 우리의 기능뿐만 아니라 ERC-20 스마트 컨트랙트에서 상속받은 모든 기능을 사용할 수 있음을 알 수 있습니다.
메인넷에 컨트랙트 배포
우리는 또한 Remix를 사용하여 Ethereum 메인넷에 계약을 배포할 수 있지만 수수료를 지불하려면 MetaMask와 일부 자금이 필요합니다.
배포를 위해 Injected Web3 옵션을 선택하면 MetaMask 팝업이 트리거되어 계정에 연결됩니다. 그런 다음 올바른 계정을 선택하고 배포를 클릭해야 합니다.
그게 다야 여러분, 튜토리얼이 즐거웠기를 바라며 질문이 있으면 저에게 연락주세요!
Reference
이 문제에 관하여(Web3 - Solidity로 나만의 암호화폐 토큰을 만들기 위한 궁극의 가이드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/costamatheus97/web3-the-ultimate-guide-to-create-your-own-cryptocurrency-token-with-solidity-ne9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)