Ethereum 블록체인에서 ERC-20 토큰을 생성하고 구현하는 방법

이더리움의 ERC 토큰에 대해 알아야 할 모든 것 - AAX Academy

생성 및 구현 방법 ERC-20 토큰 이더리움 블록체인에서. 현재의 개발 속도로 볼 때 블록체인은 점차 세계를 정복하고 있습니다. 비트코인, 가장 인기 있는 암호 화폐,는 세계 최초이자 가장 잘 알려진 블록체인 기술의 산물입니다. 이더리움은 블록체인의 부산물이며 비트코인이 번성하기 시작하면서 탄생했습니다.

에테르

비트코인이 통화로만 전환한 반면, 이더리움은 사용자가 네트워크에서 토큰을 생성할 수 있는 가상 머신(EVM)과 스마트 계약을 제공하겠다는 비전으로 더욱 발전했습니다.

토큰은 돈, 금, 복권을 나타낼 수 있습니다. 이더리움 블록체인에서 모든 유형의 토큰을 개발할 수 있지만 이 튜토리얼에서는 ERC-20 토큰 생성 및 배포에 중점을 둘 것입니다.

토큰을 생성하기 전에 최소한 블록체인 기술, 견고성 언어 및 이더리움 작동 방식에 대한 기본적인 이해가 있어야 합니다.

블록 체인이란 무엇이며 방법 어떻게 진행합니까?

간단히 말해서, 블록체인은 많은 네트워크 참여자들의 분산 원장이나 데이터베이스에 있는 거래 기록입니다. 이 원장은 네트워크에서 수행된 거래 기록을 포함합니다.

거래는 네트워크상의 한 사용자에게서 다른 사용자에게 특정 통화나 금액을 전송하는 행위입니다. Alice가 Bob에게 30BLC를 전송한다고 가정합니다. 이 거래는 네트워크의 특정 노드에 의해 암호화 방식으로 해시되고 총계정원장에 기록됩니다.

이 노드는 네트워크의 다른 노드에 트랜잭션을 보냅니다. 즉, 트랜잭션을 네트워크에 전파합니다. 다른 노드는 트랜잭션을 수신하고 이를 표준 방법으로 검토한 후 원장에 추가합니다.

네트워크의 노드는 네트워크에서 새로 전송된 트랜잭션을 수신한 후 해당 트랜잭션을 원장에 추가합니다. 네트워크의 모든 노드는 원장의 사본을 소유하거나 소유합니다. 이는 블록체인의 분산화된 특성을 가져옵니다.

블록체인이라는 단어는 원장 내의 거래나 기록이 서로 연결되어 체인을 형성한다는 점에서 유래되었습니다. 우리 모두 알고 있듯이 거래는 노드 내 두 당사자 간의 통화 교환을 나타내며, 이는 다음과 같이 JSON으로 표시될 수 있습니다.

{
  "에": "0xalice",
  "에서": "0x밥",
  "양": "30BLC"
}

이는 단순한 기록이나 거래입니다. Bob은 30BLC를 Alice에게 이체했습니다.

이 거래는 다음 JSON 데이터 형식을 사용하여 작성된 블록에 기록됩니다.

[
  {
    "에": "0xalice",
    "에서": "0x밥",
    "양": "30BLC"
  }
]

블록은 많은 트랜잭션 개체를 포함하는 시퀀스와 같습니다. 따라서 이 블록에는 여러 트랜잭션이 포함될 수 있습니다.

[
  {
    "에": "0xalice",
    "에서": "0x밥",
    "양": "30BLC"
  },
  {
    "에": "0x테레사",
    "에서": "0xarinze",
    "양": "5BLC"
  }
]

트랜잭션이 추가될 블록의 위치를 ​​확인할 수 있습니다. 체인은 서로 연결된 블록으로 구성됩니다. 각 블록체인은 생성자가 네트워크에 추가하고 배포하는 Genesis 블록으로 시작됩니다.

각 블록에는 네트워크에서 고유 식별자 역할을 하는 암호화 해시도 있습니다. 두 블록에는 동일한 해시가 없습니다.

블록이 노드에 의해 검증되고 네트워크에 추가되면 네트워크의 마지막 블록 해시에 대한 포인터를 갖게 됩니다.

[
  {
    "해시시": "0x0",
    "prev해시": "",
    "TXNS": [
      {
        "에": "0xalice",
        "에서": "0x밥",
        "양": "30BLC"
      },
      {
        "해시시": "0x1",
        "prev해시": "0x0",
        "에": "0x테레사",
        "에서": "0xarinze",
        "양": "5BLC"
      }
    ]
  },
  {
    "해시시": "0x1",
    "prev해시": "0x0",
    "TXNS": [
      {
        "에": "0xalice",
        "에서": "0x밥",
        "양": "30BLC"
      },
      {
        "에": "0x테레사",
        "에서": "0xarinze",
        "양": "5BLC"
      }
    ]
  }
]

해시가 0x0인 첫 번째 블록이 원본 블록입니다. 해시가 0x1인 다음 블록에는 0x0, 즉 네트워크의 첫 번째 블록을 가리키는 prevHash가 있습니다.

이러한 방식으로 네트워크에 삽입된 각각의 새 블록은 인접한 최신 블록을 먼저 가리킵니다. 이는 블록체인에 "체인"을 생성합니다.

이더리움이란?

이더리움은 ETH라는 자체 디지털 통화를 사용하는 블록체인입니다. 다른 블록체인과 마찬가지로 거래는 원장에 저장됩니다.

이더리움이 다른 블록체인과 다른 점은 유연성입니다. 많은 블록체인 플랫폼은 송금만 지원하지만, 이더리움은 모든 데이터가 블록체인을 통해 전송되고 수수료가 ETH로 지불되도록 허용합니다.

Ethereum은 어떻게 작동합니까?

위에서 언급했듯이 우리는 이더리움 블록체인의 모든 데이터를 전송할 수 있으며 ETH로 수수료를 지불할 수 있습니다.

위 예시의 BLC 거래와 마찬가지로 이더리움 블록체인은 ETH 거래를 지원합니다. Alice가 Bob에게 1 ETH를 전송했다고 가정합니다. 이 거래는 네트워크의 노드에 의해 검증되고 블록체인의 블록에 추가됩니다.

게다가 이더리움에는 채굴이 있는데, ETH를 얻으려면 작업이 필요합니다. 이 작업에는 정답을 찾을 때까지 다양한 방법을 시도하여 어려운 계산을 해결하는 작업이 포함됩니다. 네트워크의 모든 노드가 참여할 수 있습니다. 계산을 성공적으로 해결한 노드에는 일정량의 ETH가 보상으로 제공됩니다. 거래가 줄어들수록 계산의 난이도는 높아집니다.

Ethereum 블록체인에서 트랜잭션이 트리거될 때마다 네트워크의 마이닝 노드가 이 트랜잭션을 발행합니다. 거래 발신자는 이 노드에 특정 ETH 금액을 지불하는 데 동의해야 합니다. 이것을 가스 가격이라고 합니다.

현명한 계약이란 무엇입니까?

스마트 계약은 이더리움 블록체인에서 실행되는 코드가 포함된 도구입니다. 스마트 계약은 Solidity 언어로 작성되고 ABI 코드로 컴파일됩니다. 이 ABI 코드는 이더리움 블록체인에서 제공됩니다. 스마트 계약은 발신자의 외부 주소를 가져와 논스(고유 번호)와 혼합하여 이더리움 블록체인에 주소를 형성합니다.

스마트 계약을 통해 디지털 계약을 생성할 수 있습니다. 실제 계약과 마찬가지로 디지털 계약은 이더리움 블록체인 내 둘 이상의 당사자 간의 거래를 설정하는 데 도움이 됩니다.

스마트 계약은 이더리움의 계정 유형으로, 이는 사용자가 제어하지 않고 블록체인에서 거래를 보낼 수 있음을 의미합니다. 계정이기 때문에 스마트 계약에는 잔액이 있고 EVM 코드가 포함되어 있습니다.

ERC-20 토큰은 무엇입니까?
ERC20 토큰 튜토리얼 | 톱탈

EVM(Ethereum Virtual Machine)은 컴파일된 Solidity ABI 코드를 실행하는 가상 머신입니다. 이더리움의 스마트 계약은 다양한 토큰 생성을 위한 글로벌 표준이 되었습니다. 이러한 표준을 Ethereum ERC(의견 요청) 표준이라고 합니다.

이더리움에는 많은 디폴트 값그러나 가장 일반적으로 사용되고 널리 사용되는 것은 ERC-20 및 ERC-721입니다. ERC-20은 토큰 생성에 사용되고 ERC-721은 NFT 개발에 사용됩니다.

ERC-20은 다수의 API를 포함하는 스마트 계약인 Fabian Vogelsteller가 제안한 표준입니다. ERC20은 ERC-20 표준을 선택하는 모든 토큰에 적용되는 규칙 집합입니다.

위에서 언급했듯이 ERC-20은 Bitcoin 및 ETH와 같은 가상 통화를 만드는 데 사용될 수 있습니다. ERC-20 표준에 따라 생성된 가장 유명한 토큰 중 일부는 바이낸스 코인(BNB)과 시바샤부(KOBE)입니다.

사용자는 ERC-20 토큰을 보내고 받을 수 있습니다. 이러한 토큰은 대체 가능합니다. 이는 그 가치가 블록체인의 모든 곳에서 동일하다는 것을 의미합니다.

따라 Blockchain.com, 지갑과 거래소는 이 표준을 사용하여 다양한 ERC-20 토큰을 플랫폼에 통합하고 교환 및 기타 많은 암호화폐를 용이하게 합니다.

이제 ERC-20 표준이 무엇인지 이해했으니, ERC-20 토큰의 내용을 살펴보겠습니다.

토큰의 내용 ERC-20

ERC-20 토큰에는 ERC-20 토큰에 있어야 하는 메서드와 이벤트가 포함되어 있습니다.

ERC-20 토큰은 다음을 수행할 수 있어야 합니다.

  • 한 계정에서 다른 계정으로 토큰 전송
  • 계좌잔액을 돌려주세요
  • 토큰에서 사용할 수 있는 총 토큰 수를 반환합니다.
  • 계정으로 토큰 전송

실제로 Solidity로 작성했다면 ERC-20은 다음과 같을 것입니다.

기능 name() 공개 전망 반품 ()

기능 상징() 공개 전망 반품 ()

기능 소수점() 공개 전망 반품 (uint8)

기능 총공급() 공개 전망 반품 (uint256)

기능 균형(주소_소유자) 공개 전망 반품 (uint256 잔액)

기능 이전(주소 _to, uint256 _값) 공개 반품 (불량배 성공)

기능 전송에서(주소 _from, 주소 _to, uint256 _값) 공개 반품 (불량배 성공)

기능 승인(주소_지출자, uint256 _값) 공개 반품 (불량배 성공)

기능 수당(주소_소유자, 주소_지출자) 공개 전망 반품 (uint256 남음)

ERC-20 토큰에는 다음과 같은 메서드가 있을 수 있습니다:

  • name – 토큰의 이름을 반환합니다(예: Binance Coin)
  • 기호 - 토큰 기호를 반환합니다(예: BNB).
  • 소수 자릿수 – 토큰에서 사용되는 소수 자릿수를 반환합니다.
  • totalSupply – 토큰의 전체 초기 재고를 반환합니다.
  • BalanceOf – 계정 잔액을 반환합니다.
  • transfer – 일정량의 토큰을 주소로 전송
  • transferFrom – 수신자 주소에서 수신자 주소로 특정 수의 토큰을 전송합니다.
  • 승인 – 소유자의 주소에서 특정 수의 토큰까지 토큰을 인출합니다.
  • 면제 – 소유자의 계정에서 인출할 수 있는 토큰의 양을 반환합니다.

신호가 전송되는 시간에 맞춰 캡처하기 위해 이벤트를 토큰에 등록할 수도 있습니다. ERC-20 토큰에는 다음과 같은 이벤트가 있습니다:

이벤트 전송(주소 인덱스 _from, 주소 인덱스 _to, uint256 _value)

이벤트 승인 (주소 indexed _owner, 주소 indexed _spender, uint256 _value)

  • Transfer – 토큰을 전송할 때 활성화됩니다.
  • 승인 – 계정이 특정 수의 토큰을 받도록 승인되면 활성화됩니다.

ERC 20 토큰 생성

이 섹션에서는 이해를 더 쉽게 하기 위해 기사에서는 간단한 토큰을 작성하고 이를 ND 코인이라고 부르는 방법을 보여줍니다.

// SPDX-License-Identifier: GPL-3.0
프라그마 견고성 >=0.7.0 <0.9.0;

계약 엔디코인ERC20 {

    event 토큰 전송(주소 색인이 생성됨 , 색인이 생성된 주소, 단위 토큰);
    event 승인(주소 색인된 tokenOwner, 주소 색인된 지출자, 단위 토큰);

     공개 상수 이름 = "ND코인";
     공개 상수 기호 = "NDN";
    uint8 공개 상수 소수 = 18;

    매핑(주소 => uint256) 균형;

    매핑(주소 => 매핑 (주소 => uint256));

    uint256 totalSupply_;

    건설자(총 단위256) {
      총공급_ = 합계;
      균형[메시지.송신기] = 총공급_;
    }

    기능 총공급() 공개 전망 반품 (uint256) {
      return 총공급_;
    }

    기능 균형(주소 토큰 소유자) 공개 전망 반품 (단위) {
        return 균형[토큰소유자];
    }

    기능 이전(주소 수신자, 단위 토큰 수) 공개 반품 (불량배) {
        필요(토큰 수 <= 균형[메시지.송신기]);
        균형[메시지.송신기] -= 토큰 수;
        균형[리시버] += 토큰 수;
        방출하다 토큰 전송(메시지.송신기, 리시버, 토큰 수);
        return 참된;
    }

    기능 승인(주소 위임하다, 단위 토큰 수) 공개 반품 (불량배) {
        허용됨\[msg.보내는 사람\][위임하다] = 토큰 수;
        방출하다 승인(메시지.송신기, 위임하다, 토큰 수);
        return 참된;
    }

    기능 수당(주소 소유자, 주소 위임하다) 공개 전망 반품 (단위) {
        return 허용됨\[소유자\][위임하다];
    }

    기능 전송에서(주소 소유자, 구매자 주소, 단위 토큰 수) 공개 반품 (불량배) {
        필요(토큰 수 <= 균형[소유자]);
        필요(토큰 수 <= 허용됨\[소유자\][메시지.송신기]);

        균형[소유자] -= 토큰 수;
        허용됨\[소유자\][메시지.송신기] -= 토큰 수;
        균형[구매자] += 토큰 수;
        방출하다 토큰 전송(소유자, 구매자, 토큰 수);
        return 참된;
    }
}

Ethereum 블록체인에서 ERC-20 토큰을 생성하고 구현하는 방법

이더리움의 ERC 토큰에 대해 알아야 할 모든 것 - AAX Academy

생성 및 구현 방법 ERC-20 토큰 이더리움 블록체인에서. 현재의 개발 속도로 볼 때 블록체인은 점차 세계를 정복하고 있습니다. 비트코인, 가장 인기 있는 암호 화폐,는 세계 최초이자 가장 잘 알려진 블록체인 기술의 산물입니다. 이더리움은 블록체인의 부산물이며 비트코인이 번성하기 시작하면서 탄생했습니다.

에테르

비트코인이 통화로만 전환한 반면, 이더리움은 사용자가 네트워크에서 토큰을 생성할 수 있는 가상 머신(EVM)과 스마트 계약을 제공하겠다는 비전으로 더욱 발전했습니다.

토큰은 돈, 금, 복권을 나타낼 수 있습니다. 이더리움 블록체인에서 모든 유형의 토큰을 개발할 수 있지만 이 튜토리얼에서는 ERC-20 토큰 생성 및 배포에 중점을 둘 것입니다.

토큰을 생성하기 전에 최소한 블록체인 기술, 견고성 언어 및 이더리움 작동 방식에 대한 기본적인 이해가 있어야 합니다.

블록 체인이란 무엇이며 방법 어떻게 진행합니까?

간단히 말해서, 블록체인은 많은 네트워크 참여자들의 분산 원장이나 데이터베이스에 있는 거래 기록입니다. 이 원장은 네트워크에서 수행된 거래 기록을 포함합니다.

거래는 네트워크상의 한 사용자에게서 다른 사용자에게 특정 통화나 금액을 전송하는 행위입니다. Alice가 Bob에게 30BLC를 전송한다고 가정합니다. 이 거래는 네트워크의 특정 노드에 의해 암호화 방식으로 해시되고 총계정원장에 기록됩니다.

이 노드는 네트워크의 다른 노드에 트랜잭션을 보냅니다. 즉, 트랜잭션을 네트워크에 전파합니다. 다른 노드는 트랜잭션을 수신하고 이를 표준 방법으로 검토한 후 원장에 추가합니다.

네트워크의 노드는 네트워크에서 새로 전송된 트랜잭션을 수신한 후 해당 트랜잭션을 원장에 추가합니다. 네트워크의 모든 노드는 원장의 사본을 소유하거나 소유합니다. 이는 블록체인의 분산화된 특성을 가져옵니다.

블록체인이라는 단어는 원장 내의 거래나 기록이 서로 연결되어 체인을 형성한다는 점에서 유래되었습니다. 우리 모두 알고 있듯이 거래는 노드 내 두 당사자 간의 통화 교환을 나타내며, 이는 다음과 같이 JSON으로 표시될 수 있습니다.

{
  "에": "0xalice",
  "에서": "0x밥",
  "양": "30BLC"
}

이는 단순한 기록이나 거래입니다. Bob은 30BLC를 Alice에게 이체했습니다.

이 거래는 다음 JSON 데이터 형식을 사용하여 작성된 블록에 기록됩니다.

[
  {
    "에": "0xalice",
    "에서": "0x밥",
    "양": "30BLC"
  }
]

블록은 많은 트랜잭션 개체를 포함하는 시퀀스와 같습니다. 따라서 이 블록에는 여러 트랜잭션이 포함될 수 있습니다.

[
  {
    "에": "0xalice",
    "에서": "0x밥",
    "양": "30BLC"
  },
  {
    "에": "0x테레사",
    "에서": "0xarinze",
    "양": "5BLC"
  }
]

트랜잭션이 추가될 블록의 위치를 ​​확인할 수 있습니다. 체인은 서로 연결된 블록으로 구성됩니다. 각 블록체인은 생성자가 네트워크에 추가하고 배포하는 Genesis 블록으로 시작됩니다.

각 블록에는 네트워크에서 고유 식별자 역할을 하는 암호화 해시도 있습니다. 두 블록에는 동일한 해시가 없습니다.

블록이 노드에 의해 검증되고 네트워크에 추가되면 네트워크의 마지막 블록 해시에 대한 포인터를 갖게 됩니다.

[
  {
    "해시시": "0x0",
    "prev해시": "",
    "TXNS": [
      {
        "에": "0xalice",
        "에서": "0x밥",
        "양": "30BLC"
      },
      {
        "해시시": "0x1",
        "prev해시": "0x0",
        "에": "0x테레사",
        "에서": "0xarinze",
        "양": "5BLC"
      }
    ]
  },
  {
    "해시시": "0x1",
    "prev해시": "0x0",
    "TXNS": [
      {
        "에": "0xalice",
        "에서": "0x밥",
        "양": "30BLC"
      },
      {
        "에": "0x테레사",
        "에서": "0xarinze",
        "양": "5BLC"
      }
    ]
  }
]

해시가 0x0인 첫 번째 블록이 원본 블록입니다. 해시가 0x1인 다음 블록에는 0x0, 즉 네트워크의 첫 번째 블록을 가리키는 prevHash가 있습니다.

이러한 방식으로 네트워크에 삽입된 각각의 새 블록은 인접한 최신 블록을 먼저 가리킵니다. 이는 블록체인에 "체인"을 생성합니다.

이더리움이란?

이더리움은 ETH라는 자체 디지털 통화를 사용하는 블록체인입니다. 다른 블록체인과 마찬가지로 거래는 원장에 저장됩니다.

이더리움이 다른 블록체인과 다른 점은 유연성입니다. 많은 블록체인 플랫폼은 송금만 지원하지만, 이더리움은 모든 데이터가 블록체인을 통해 전송되고 수수료가 ETH로 지불되도록 허용합니다.

Ethereum은 어떻게 작동합니까?

위에서 언급했듯이 우리는 이더리움 블록체인의 모든 데이터를 전송할 수 있으며 ETH로 수수료를 지불할 수 있습니다.

위 예시의 BLC 거래와 마찬가지로 이더리움 블록체인은 ETH 거래를 지원합니다. Alice가 Bob에게 1 ETH를 전송했다고 가정합니다. 이 거래는 네트워크의 노드에 의해 검증되고 블록체인의 블록에 추가됩니다.

게다가 이더리움에는 채굴이 있는데, ETH를 얻으려면 작업이 필요합니다. 이 작업에는 정답을 찾을 때까지 다양한 방법을 시도하여 어려운 계산을 해결하는 작업이 포함됩니다. 네트워크의 모든 노드가 참여할 수 있습니다. 계산을 성공적으로 해결한 노드에는 일정량의 ETH가 보상으로 제공됩니다. 거래가 줄어들수록 계산의 난이도는 높아집니다.

Ethereum 블록체인에서 트랜잭션이 트리거될 때마다 네트워크의 마이닝 노드가 이 트랜잭션을 발행합니다. 거래 발신자는 이 노드에 특정 ETH 금액을 지불하는 데 동의해야 합니다. 이것을 가스 가격이라고 합니다.

현명한 계약이란 무엇입니까?

스마트 계약은 이더리움 블록체인에서 실행되는 코드가 포함된 도구입니다. 스마트 계약은 Solidity 언어로 작성되고 ABI 코드로 컴파일됩니다. 이 ABI 코드는 이더리움 블록체인에서 제공됩니다. 스마트 계약은 발신자의 외부 주소를 가져와 논스(고유 번호)와 혼합하여 이더리움 블록체인에 주소를 형성합니다.

스마트 계약을 통해 디지털 계약을 생성할 수 있습니다. 실제 계약과 마찬가지로 디지털 계약은 이더리움 블록체인 내 둘 이상의 당사자 간의 거래를 설정하는 데 도움이 됩니다.

스마트 계약은 이더리움의 계정 유형으로, 이는 사용자가 제어하지 않고 블록체인에서 거래를 보낼 수 있음을 의미합니다. 계정이기 때문에 스마트 계약에는 잔액이 있고 EVM 코드가 포함되어 있습니다.

ERC-20 토큰은 무엇입니까?
ERC20 토큰 튜토리얼 | 톱탈

EVM(Ethereum Virtual Machine)은 컴파일된 Solidity ABI 코드를 실행하는 가상 머신입니다. 이더리움의 스마트 계약은 다양한 토큰 생성을 위한 글로벌 표준이 되었습니다. 이러한 표준을 Ethereum ERC(의견 요청) 표준이라고 합니다.

이더리움에는 많은 디폴트 값그러나 가장 일반적으로 사용되고 널리 사용되는 것은 ERC-20 및 ERC-721입니다. ERC-20은 토큰 생성에 사용되고 ERC-721은 NFT 개발에 사용됩니다.

ERC-20은 다수의 API를 포함하는 스마트 계약인 Fabian Vogelsteller가 제안한 표준입니다. ERC20은 ERC-20 표준을 선택하는 모든 토큰에 적용되는 규칙 집합입니다.

위에서 언급했듯이 ERC-20은 Bitcoin 및 ETH와 같은 가상 통화를 만드는 데 사용될 수 있습니다. ERC-20 표준에 따라 생성된 가장 유명한 토큰 중 일부는 바이낸스 코인(BNB)과 시바샤부(KOBE)입니다.

사용자는 ERC-20 토큰을 보내고 받을 수 있습니다. 이러한 토큰은 대체 가능합니다. 이는 그 가치가 블록체인의 모든 곳에서 동일하다는 것을 의미합니다.

따라 Blockchain.com, 지갑과 거래소는 이 표준을 사용하여 다양한 ERC-20 토큰을 플랫폼에 통합하고 교환 및 기타 많은 암호화폐를 용이하게 합니다.

이제 ERC-20 표준이 무엇인지 이해했으니, ERC-20 토큰의 내용을 살펴보겠습니다.

토큰의 내용 ERC-20

ERC-20 토큰에는 ERC-20 토큰에 있어야 하는 메서드와 이벤트가 포함되어 있습니다.

ERC-20 토큰은 다음을 수행할 수 있어야 합니다.

  • 한 계정에서 다른 계정으로 토큰 전송
  • 계좌잔액을 돌려주세요
  • 토큰에서 사용할 수 있는 총 토큰 수를 반환합니다.
  • 계정으로 토큰 전송

실제로 Solidity로 작성했다면 ERC-20은 다음과 같을 것입니다.

기능 name() 공개 전망 반품 ()

기능 상징() 공개 전망 반품 ()

기능 소수점() 공개 전망 반품 (uint8)

기능 총공급() 공개 전망 반품 (uint256)

기능 균형(주소_소유자) 공개 전망 반품 (uint256 잔액)

기능 이전(주소 _to, uint256 _값) 공개 반품 (불량배 성공)

기능 전송에서(주소 _from, 주소 _to, uint256 _값) 공개 반품 (불량배 성공)

기능 승인(주소_지출자, uint256 _값) 공개 반품 (불량배 성공)

기능 수당(주소_소유자, 주소_지출자) 공개 전망 반품 (uint256 남음)

ERC-20 토큰에는 다음과 같은 메서드가 있을 수 있습니다:

  • name – 토큰의 이름을 반환합니다(예: Binance Coin)
  • 기호 - 토큰 기호를 반환합니다(예: BNB).
  • 소수 자릿수 – 토큰에서 사용되는 소수 자릿수를 반환합니다.
  • totalSupply – 토큰의 전체 초기 재고를 반환합니다.
  • BalanceOf – 계정 잔액을 반환합니다.
  • transfer – 일정량의 토큰을 주소로 전송
  • transferFrom – 수신자 주소에서 수신자 주소로 특정 수의 토큰을 전송합니다.
  • 승인 – 소유자의 주소에서 특정 수의 토큰까지 토큰을 인출합니다.
  • 면제 – 소유자의 계정에서 인출할 수 있는 토큰의 양을 반환합니다.

신호가 전송되는 시간에 맞춰 캡처하기 위해 이벤트를 토큰에 등록할 수도 있습니다. ERC-20 토큰에는 다음과 같은 이벤트가 있습니다:

이벤트 전송(주소 인덱스 _from, 주소 인덱스 _to, uint256 _value)

이벤트 승인 (주소 indexed _owner, 주소 indexed _spender, uint256 _value)

  • Transfer – 토큰을 전송할 때 활성화됩니다.
  • 승인 – 계정이 특정 수의 토큰을 받도록 승인되면 활성화됩니다.

ERC 20 토큰 생성

이 섹션에서는 이해를 더 쉽게 하기 위해 기사에서는 간단한 토큰을 작성하고 이를 ND 코인이라고 부르는 방법을 보여줍니다.

// SPDX-License-Identifier: GPL-3.0
프라그마 견고성 >=0.7.0 <0.9.0;

계약 엔디코인ERC20 {

    event 토큰 전송(주소 색인이 생성됨 , 색인이 생성된 주소, 단위 토큰);
    event 승인(주소 색인된 tokenOwner, 주소 색인된 지출자, 단위 토큰);

     공개 상수 이름 = "ND코인";
     공개 상수 기호 = "NDN";
    uint8 공개 상수 소수 = 18;

    매핑(주소 => uint256) 균형;

    매핑(주소 => 매핑 (주소 => uint256));

    uint256 totalSupply_;

    건설자(총 단위256) {
      총공급_ = 합계;
      균형[메시지.송신기] = 총공급_;
    }

    기능 총공급() 공개 전망 반품 (uint256) {
      return 총공급_;
    }

    기능 균형(주소 토큰 소유자) 공개 전망 반품 (단위) {
        return 균형[토큰소유자];
    }

    기능 이전(주소 수신자, 단위 토큰 수) 공개 반품 (불량배) {
        필요(토큰 수 <= 균형[메시지.송신기]);
        균형[메시지.송신기] -= 토큰 수;
        균형[리시버] += 토큰 수;
        방출하다 토큰 전송(메시지.송신기, 리시버, 토큰 수);
        return 참된;
    }

    기능 승인(주소 위임하다, 단위 토큰 수) 공개 반품 (불량배) {
        허용됨\[msg.보내는 사람\][위임하다] = 토큰 수;
        방출하다 승인(메시지.송신기, 위임하다, 토큰 수);
        return 참된;
    }

    기능 수당(주소 소유자, 주소 위임하다) 공개 전망 반품 (단위) {
        return 허용됨\[소유자\][위임하다];
    }

    기능 전송에서(주소 소유자, 구매자 주소, 단위 토큰 수) 공개 반품 (불량배) {
        필요(토큰 수 <= 균형[소유자]);
        필요(토큰 수 <= 허용됨\[소유자\][메시지.송신기]);

        균형[소유자] -= 토큰 수;
        허용됨\[소유자\][메시지.송신기] -= 토큰 수;
        균형[구매자] += 토큰 수;
        방출하다 토큰 전송(소유자, 구매자, 토큰 수);
        return 참된;
    }
}
70회 방문, 오늘 2회 방문

댓글을 남겨주세요.