본문 바로가기

분류 전체보기65

[Solidity] payable 옵션 컨트렉트 코드에는 일반적으로 코인에 대한 전송(transfer) 및 받기(receive)에 대한 코드가 포함되어 있다. 이더(Ether) 혹은 이더 계열 토큰이 주소(address)에서 주소(address)로 이동된다. 그렇지 않을 코드도 있지만 만약 특정 주소에 토큰을 전달하고 싶거나 저장하고 싶다면 payable 옵션이 추가되어야 한다. 바꿔 말하면, payable로 선언되어야만 토큰을 주고 받을 수 있다. payable 사용 예시 아래 예제코드에서는 payable 옵션이 주소(address) 리스트를 선언할 때, 생성자(contructor)를 정의할 때, 함수 파라미터로 address를 지정할 때 사용된다. address 리스트 경우 해당 컨트렉트에서 이 리스트가 모두 토큰을 주고 받는 주소가 되어.. 2022. 3. 15.
[Solidity] receive 함수 이전 포스트에서 fallback 함수에 대해 알아보았다. 이번 포스트에서는 fallback 함수와 관련된 receive 함수를 알아보자. Receive 함수 솔리디티 0.6.0 버전 이후 fallback 함수는 fallback과 receive로 나뉘어졌다. 본래 하나였던 기능이 세분화되어 두개로 분리되었다고 이해하면 된다. 해당 버전 이후 fallback 함수는 컨트렉트의 호출 함수가 확인되지 않을 때, 함수에서 이더를 보낼 때(transfer) 디폴트 함수로 동작한다. 그리고 receive 함수는 오직 이더를 받을 때 디폴트 함수로 실행된다. Receive 함수의 특징 receive() external payable { // ... } 해당 함수의 구성은 위와 같으며 특징은 다음과 같다. externa.. 2022. 3. 12.
[Solidity] fallback 함수 들어가기 앞서 참고해야할 사항이 있다. Solidity는 0.6.0 버전 이후로 fallback 함수가 receive와 fallback으로 나뉘어졌다. 하나의 기능을 세분화시켜 두가지로 나누어 놓은 것이다. 본문은 0.6.0 이후의 fallback 함수에 대해 소개하는 글임을 알린다. Fallback 함수 컨트렉트에서 fallback 함수란 하나의 디폴트 함수와 같다. 이 함수가 실행되는 케이스는 두 가지가 있다. 첫 번째는 호출한 함수가 컨트렉트 내에서 조회되지 않을 경우다. 외부에서 특정 컨트렉트를 호출했을 때, 해당 호출 주소(function identifier)가 확인되지 않으면 디폴트로 fallback 함수가 실행된다. 두 번째는 이더(ETH, ether)를 보낼 때 자동으로 실행된다. 쉽게 말.. 2022. 3. 12.
[Solidity] 솔리디티 코드 연습 - 크립토 좀비 아래 링크는 솔리디티 기본 개념과 예제 코드를 연습하는데 도움받을 수 있는 '크립토 좀비' 웹과 연결되어 있다. 프로그래밍에 어느 정도 익숙한 사람이라면, 솔리디티가 처음이더라도 문제 없을 것 같다. 아직 잘 모르겠다는 사람이라면 먼저 개인 공부를 조금 한 상태에서 예제 풀이나 복습하는 느낌으로 이용하면 딱 좋지 않을까 생각한다. [ 크립토 좀비 ] https://cryptozombies.io/ko/ #1 Solidity Tutorial & Ethereum Blockchain Programming Course | CryptoZombies CryptoZombies is The Most Popular, Interactive Solidity Tutorial That Will Help You Learn Bloc.. 2022. 3. 11.