본문 바로가기

smart contract3

[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.
[Ethereum] DApp과 이더리움 프로그래밍 App과 DApp IT에 대한 소식을 접하다보면 DApp이란 단어를 들어보았을 것이다. 탈중앙화 애플리케이션(Decentralized Application) 의 줄임말인 DApp은 우리가 일상에서 사용하는 App과 크게 차이가 있을까 싶을 수 있지만, 개발자 입장에서 나는 DApp과 App은 개발부터 실행까지 큰 차이가 있다고 말하고 싶다. 일반적으로 App은 사용자측에서 요청이 들어왔을 때, 웹 서버(정확히는 웹 서버와 웹 에플리케이션 서버)를 통해 해당 요청에 맞는 응답을 전해주는 원리로 동작한다. 소스에 저장되어 있는 정적 데이터를 전달하기도 하지만, 데이터베이스 서버를 경유한 동적인 데이터 처리가 많다. 간단히 말해 App은 사용자 -> 서버 -> 데이터베이스 의 흐름으로 동작한다고 할 수 있다... 2022. 3. 6.