분류 전체보기 130

[솔리디티] 16. import, 라이브러리

이전글 [솔리디티] 15. 인터페이스 이전글 [솔리디티] 14. 상속, 오버라이딩, 다중 상속 이전글 [솔리디티] 13. receive, fallback, delegatecall 이전글 [솔리디티] 12. Payable, Transfer, Send, Call 이전글 [솔리디티] 11. 에러 처리 이전글 [솔리디티] kwjdnjs.tistory.com import, 라이브러리 이번 글에서는 솔리디티의 import와 라이브러리에 대해 알아보겠습니다. 1. import 솔리디티에서는 다른 프로그래밍 언어들과 유사하게 외부 파일에 정의된 컨트랙트를 import로 불러올 수 있습니다. 실제로 워크스페이스에 두 개의 sol 파일을 생성해 하나의 sol 파일에서 다른 sol 파일의 컨트랙트를 불러와보겠습니다. 먼저 ..

[솔리디티] 15. 인터페이스

이전글 [솔리디티] 14. 상속, 오버라이딩, 다중 상속 이전글 [솔리디티] 13. receive, fallback, delegatecall 이전글 [솔리디티] 12. Payable, Transfer, Send, Call 이전글 [솔리디티] 11. 에러 처리 이전글 [솔리디티] 10. 이벤트 이전글 [솔리디티] 9. 조건문, 반복문 이 kwjdnjs.tistory.com 인터페이스 이번 글에서는 솔리디티의 인터페이스에 대해 알아보겠습니다. 인터페이스는 컨트랙트에 포함될 함수의 틀을 미리 정의하고, 다른 컨트랙트와 쉽게 상호작용 하기 위해 선언합니다. 인터페이스는 생성자와 상태 변수를 가질 수 없고, external 키워드를 가진 함수만 선언할 수 있습니다. // SPDX-License-Identifier..

[솔리디티] 14. 상속, 오버라이딩, 다중 상속

이전글 [솔리디티] 13. receive, fallback, delegatecall 이전글 [솔리디티] 12. Payable, Transfer, Send, Call 이전글 [솔리디티] 11. 에러 처리 이전글 [솔리디티] 10. 이벤트 이전글 [솔리디티] 9. 조건문, 반복문 이전글 [솔리디티] 8. 매핑, 구조체, 열거형 이전글 kwjdnjs.tistory.com 상속, 오버라이딩, 다중 상속 이번 글에서는 솔리디티의 상속, 오버라이딩, 다중 상속에 대해 알아보겠습니다. 1. 상속 솔리디티 컨트랙트는 객체와 유사하게 상속이 가능합니다. 다음과 같이 Parent와 Child 컨트랙트가 있을 경우, Child 컨트랙트에 is를 붙여 Parent 컨트랙트를 상속받을 수 있습니다. // SPDX-License..

[솔리디티] 13. receive, fallback, delegatecall

이전글 [솔리디티] 12. Payable, Transfer, Send, Call 이전글 [솔리디티] 11. 에러 처리 이전글 [솔리디티] 10. 이벤트 이전글 [솔리디티] 9. 조건문, 반복문 이전글 [솔리디티] 8. 매핑, 구조체, 열거형 이전글 [솔리디티] 7. view 함수, pure 함수, 모디파이 kwjdnjs.tistory.com receive, fallback, delegatecall 이번 글에서는 receive, fallback, delegatecall에 대해 알아보겠습니다. 1. 솔리디티 이더 송수신 정리 receive와 fallback에 대해 알아보기 전에 먼저 솔리디티에서의 이더 송수신을 정리해 보겠습니다. EOA에서 EOA로의 이더 전송은 스마트 컨트랙트를 거치지 않아도 됩니다. E..

[솔리디티] 12. Payable, Transfer, Send, Call

이전글 [솔리디티] 11. 에러 처리 이전글 [솔리디티] 10. 이벤트 이전글 [솔리디티] 9. 조건문, 반복문 이전글 [솔리디티] 8. 매핑, 구조체, 열거형 이전글 [솔리디티] 7. view 함수, pure 함수, 모디파이어, 오버로딩 이전글 [솔리디티] 6. kwjdnjs.tistory.com Payable, Transfer, Send, Call 이번 글에서는 payable, transfer, send, call에 대해 알아보겠습니다. 1. Payable payable이란 생성자나 함수에 붙일 수 있는 키워드입니다. 생성자에 payable을 붙일 경우 컨트랙트 배포 과정에서 컨트랙트 계정(CA)으로 이더를 보낼 수 있으며, 함수에 payable을 붙일 경우 함수 호출 과정에서 CA로 이더를 보낼 수..

[솔리디티] 11. 에러 처리

이전글 [솔리디티] 10. 이벤트 이전글 [솔리디티] 9. 조건문, 반복문 이전글 [솔리디티] 8. 매핑, 구조체, 열거형 이전글 [솔리디티] 7. view 함수, pure 함수, 모디파이어, 오버로딩 이전글 [솔리디티] 6. 함수, 가시성 지정자, 반환 kwjdnjs.tistory.com 에러 처리 이번 글에서는 솔리디티의 에러 처리에 대해 알아보겠습니다. 1. assert, revert, require 먼저 솔리디티에서 에러가 발생하는 상황을 만들어보겠습니다. // SPDX-License-Identifier: MIT pragma solidity ^0.8.18; contract Err { uint8 n; function error(uint8 _n) public { n = _n - 1; } } 위 함수에..

[솔리디티] 10. 이벤트

이전글 [솔리디티] 9. 조건문, 반복문 이전글 [솔리디티] 8. 매핑, 구조체, 열거형 이전글 [솔리디티] 7. view 함수, pure 함수, 모디파이어, 오버로딩 이전글 [솔리디티] 6. 함수, 가시성 지정자, 반환 값, 지역 변수 이전글 [솔리디티] 5. 연 kwjdnjs.tistory.com 이벤트 이번 글에서는 이벤트에 대해 알아보겠습니다. 이벤트는 솔리디티에서 로그를 남기기 위해 사용하는 문법입니다. 이벤트를 사용하기 위해서는 먼저 event를 선언해 준 뒤 emit으로 호출해야 합니다. 예시 코드는 다음과 같습니다. // SPDX-License-Identifier: MIT pragma solidity ^0.8.18; contract Event { uint n; string s; event ..

[솔리디티] 9. 조건문, 반복문

이전글 [솔리디티] 8. 매핑, 구조체, 열거형 이전글 [솔리디티] 7. view 함수, pure 함수, 모디파이어, 오버로딩 이전글 [솔리디티] 6. 함수, 가시성 지정자, 반환 값, 지역 변수 이전글 [솔리디티] 5. 연산자, 전역 변수, 단위 이전글 [솔리디티] 4. kwjdnjs.tistory.com 조건문, 반복문 이번 글에서는 솔리디티의 조건문과 반복문에 대해 알아보겠습니다. 1. 조건문 솔리디티에서 사용하는 조건문은 다른 프로그래밍 언어와 거의 동일합니다. 다음과 같이 if, else if, else문을 사용할 수 있습니다. // SPDX-License-Identifier: MIT pragma solidity ^0.8.18; contract If { function ifElse(uint8 n..

[솔리디티] 8. 매핑, 구조체, 열거형

이전글 [솔리디티] 7. view 함수, pure 함수, 모디파이어, 오버로딩 이전글 [솔리디티] 6. 함수, 가시성 지정자, 반환 값, 지역 변수 이전글 [솔리디티] 5. 연산자, 전역 변수, 단위 이전글 [솔리디티] 4. 생성자, 매개변수, 값 타입과 참조 타입, immutable 이전글 [솔리디 kwjdnjs.tistory.com 매핑, 구조체, 열거형 이번 글에서는 매핑, 구조체, 열거형에 대해 알아보겠습니다. 1. 매핑 매핑은 파이썬의 딕셔너리와 유사하게 키와 값을 하나의 쌍으로 저장할 수 있는 타입입니다. 다음과 같이 mapping으로 선언하여 사용할 수 있습니다. // SPDX-License-Identifier: MIT pragma solidity ^0.8.18; contract Mappin..

[솔리디티] 7. view 함수, pure 함수, 모디파이어, 오버로딩

이전글 [솔리디티] 6. 함수, 가시성 지정자, 반환 값, 지역 변수 이전글 [솔리디티] 5. 연산자, 전역 변수, 단위 이전글 [솔리디티] 4. 생성자, 매개변수, 값 타입과 참조 타입, immutable 이전글 [솔리디티] 3. 자료형, 배열, 상수, 상태 변수 이전글 [솔리디티] 2. 리믹 kwjdnjs.tistory.com veiw 함수, pure 함수, 모디파이어, 오버로딩 이번 글에서는 view 함수와 pure함수, 함수의 모디파이어와 오버로딩에 대해 알아보겠습니다. 1. view 함수와 pure 함수 솔리디티의 함수에서는 view와 pure라는 키워드를 추가로 사용할 수 있습니다. view는 블록체인의 상태를 변화시키지 않는 경우에 사용합니다. 다음과 같이 상태 변수의 값을 수정하지 않고 읽..