ERC20토큰 목차 인터페이스 개념 IERC20.sol ERC20.sol IvyToken.sol 1. 인터페이스 개념 인터페이스는 추상 contract와 비슷하지만, 절대로 body 부분, 즉 {} 을 가진 함수를 포함할 수 없다. 다음은 인터페이스가 가지고 있는 추가적인 제한의 내용이다. 다른 contract로부터 상속받을 수 없지만, 다른 interface로부터 상속받을 수 있다. 모든 선언된 함수는 contract 안에서 public일지라도, interface에서는 external 선언이 되어야만 한다. constructor 선언 불가 상태 변수 선언불가 modifier 선언 불가. 위의 제한은 미래에 변경될 수도 있는 부분임을 참고 바란다. 인터페이스는 기본적으로 Contract ABI가 나타낼 수 있는 것들로.. 2022. 7. 21. 스마트컨트랙트에 결제 기능 넣기 사과가게 만들기 함수의 payable 개념 payable 키워드가 있어야만 tx 객체의 to 속성값인 CA 계정으로, value 속성값인 ETH를 줄 수 있다. 즉, tx 객체를 보낼 때, value 속성에 이더를 넣기 위해서 payable를 작성해주어야 한다, // SPDX-License-Identifier: MIT pragma solidity ^0.8.15; contract AppleShop{ mapping(address => uint) myApple; //구매: myApple 변수의 address에 사과 갯수++, //tx 객체 보낼 때 단위당 사과 갯수 만큼 value값을 주기 위해 payable 작성 function buyApple() public payable { myApple[msg.send.. 2022. 7. 20. address 타입의 분류: address / address payable 목차 address 타입의 분류 타입 전환 address payable의 추가 구성 address type 1. address type 의 두 가지 분류 address 타입은 크게 두 가지로 나눌 수 있다. address: 20 byte 값 (이더리움 address의 크기) address payable: address와 같지만, transfer와 send라는 추가 구성을 가짐 이러한 타입 구분의 포인트는 address payable이 함수 호출자로 하여금 ether를 보낼 수 있게 하는 address인 반면 일반적인 address에서는 이더를 보낼 수 없다 는 사실이다. (일반적으로 스마트 컨트랙트는 이더를 보내기 위한 목적으로 빌드되지 않았다....) 2. 타입 전환 address payable에서 a.. 2022. 7. 20. 솔리디티 문법 실행 목차 셋팅 솔리디티 코드 작성 컴파일 abi 변수 및 bytecode 변수 선언 Tx 객체 생성 및 네트워크로 보내기 contract 변수 선언 instance 변수 선언 솔리디티 코드 배포 확인 오늘은 솔리디티 문법의 실행을 해보자. 사실 문법을 먼저 숙지하고 나중에 실행을 하는 것이 좋은 방법이긴 하지만, 문법의 숙지가 생각보다 쉽지 않기 때문에 오류가 난 지도 모르고 배울 수 있다. 솔리디티 언어 실행이 타 언어에 비해서 쉽지 않음 수업이 끝났을 때 다음과 같은 것들을 할 수 있어야 함 코드 작성 후 컴파일러를 통해 바이트 코드로 변경 이더리움 네트워크 안에 바이트 코드를 넣어서 tx 발생시키기 마이닝이 됬을 때 작성한 코드가 실행시키기 만약 tx가 실행되지 않으면 마이닝이 됬는 지 아닌 지 확인할.. 2022. 7. 11. 이전 1 다음