본문 바로가기

솔리디티문법5

솔리디티 기본 문법 - 반복문 💡솔리디티 기본 문법 - 반복문 (loop) 반복문은 특정한 작업을 계속해서 수행해야 할 때 사용한다. ✓ while문 while 문은 가장 기본적인 반복문이다. 조건식이 참일 때 중괄호 안의 코드를 반복적으로 시행하고, 조건식이 거짓이 되면 박복문을 종료한다. while (조건식){ 조건식이 참이면 여기있는 코드 수행 } // SPDX-License-Identifier: GPL-3.0 pragma solidity ^0.8.14; import "./UIntFuncstions.sol"; contract WhileLoop { uint[] data; uint8 j = 0; function loop() public returns (uint[] memory) { while (j 2022. 7. 11.
솔리디티 기본 문법 - 상속 및 라이브러리 💡솔리디티 기본 문법 - 상속 및 라이브러리 ✓ 상속 솔리디티의 contract 객체는 상속을 지원한다. 상속을 통해 컨트랙트에 기능을 추가하고 확장할 수 있다. 상속을 사용하려면 부모 컨트랙트에 is 키워드를 지정해준다. contract ChildContract is ParentContract { // ... } 솔리디티는 다중 상속도 지원한다. contract ChildContract is ParentContract1, ParentContract2, ParentContract3 { // ... } ✓ 라이브러리 라이브러리의 목적은 "코드를 공유" 하기 위함이다. 컨트랙트 간에 코드를 공유하거나 공통적인 기능을 재사용하고자 할 때 우리는 라이브러리를 활용한다. 외부 라이브러리를 호출할 시에는 기존 컨트.. 2022. 7. 8.
솔리디티 기본 문법 - 이벤트 및 에러 핸들링 💡솔리디티 기본 문법 - 이벤트 및 에러 핸들링 ✓ 이벤트 이벤트는 어떤 결과가 발생했을 때 해당 컨트랙트에서 dApp 클라이언트 또는 다른 컨트랙트에게 전달한다. 컨트랙트는 event 키워드를 사용해 이벤트를 설정하고, 경우에 따라 emit 키워드를 사용해 이벤트를 실행한다. 이벤트가 실행된 경우, 트랜잭션에 기록된다. contract coinTransfer { // event 이벤트명(파라미터 유형1 파라미터1, 파라미터 유형2 파라미터2, ...) event Transfer(address from, address to, uint256 value); function transfer(address to, address amount) { // ... // emit 이벤트명(인자1, 인자2, ...) em.. 2022. 7. 8.
솔리디티 기본 문법 - 함수 💡솔리디티 기본 문법 - 함수 솔리디티에서 함수는 다음과 같이 선언한다. function 함수이름 (파라미터 형식1 파라미터1, 파라미터 형식2 파라미터 2, ... ){...} 함수가 값을 반환하는 경우, 다음과 같이 선언한다. function 함수이름(파라미터, ...) returns (반환 형식) {...} ✓ 함수 접근 수준 (public, external, internal, private) - 외부에서 접근 가능 - 컨트랙트 내부, 외부, 클라이언트 코드에서 모두 호출 가능 - public 과 비슷함 - 외부(external) 컨트랙트나 클라이어트 코드에서 호출 가능 - 컨트랙트 애부에서는 호출 불가능. f()로 호출 불가능 - 컨트랙트.. 2022. 7. 8.
솔리디티 기본문법 - 자료형 💡솔리디티 기본 문법 - 자료형 ✓ 값 형 데이터 타입 (Value Types) 1. 불 (bool) bool 로 선언된 변수는 true 나 false 값을 가진다. bool isOpen = true; bool isSold = false; 2. 정수 (int, uint) 부호(+, -) 가 있는 경우에는 int, 부호가 없는 0 이상의 값에는 uint를 사용한다. int, uint 뒤에 8~256의 8의 배수의 숫자를 붙여 변수의 크기를 비트 단위로 지정할 수도 있다. (예: int8, int16, int24, uint64, uint128, ...) 각 숫자에 따라 정수는 특정 범위로 제한된다. int16은 -32768 ~ 32767 사이의 정수를 의미하며, uint16은 0~65535 사이의 정수를 의.. 2022. 7. 8.