분류 전체보기(160)
-
Solidity 문법 - (17) 반복문
목차 1. 반복문 2. 반복문 예제코드 1. 반복문 이전 포스팅의 조건문과 마찬가지로 솔리디티에도 반복문이 존재한다. 반복문은 조건을 만족하면 코드를 반복실행한다. 솔리디티에서 반복문은 세 가지 형태로 사용할 수 있다. for 문 for(초기값; 종료조건; 값의 변화량){ // 반복실행할 코드 } while 문 초기값 선언 while(종료 조건){ // 반복실행할 코드 값의 변화량 } do while 문 do while은 위의 두 반복문과는 조금 다르게 조건을 체크하지않고 코드를 실행한다. 즉, 무조건 do 안에있는 코드를 한번 실행하고나서 종료를 하게된다. 위의 두 반복문은 조건이 맞지않으면, 코드를 실행하지 않지만, do while문은 조건이 맞지 않더라도 반드시 한번은 코드를 실행한다. 초기값 선언..
2023.06.01 -
Solidity 문법 - (16) 조건문 if
목차 1. 조건문 if 2. 조건문 예제코드 1. 조건문 if 솔리디티에는 다른 언어들과 똑같이 조건에 따라 다른 코드를 실행시켜주는 조건문이 존재한다. 문법은 다른 언어들과 비슷하다. if(if에 대한 조건){ // 조건 충족시 실행할 코드 } else { // 조건 불충족시 실행할 코드 } if(if에 대한 조건1){ // 조건1 충족시 실행할 코드 } else if(두번째 if에 대한 조건2){ // 조건2 충족시 실행할 코드 } else { // 조건1, 조건2 둘 다 불충족시 실행할 코드 } ... 바로 예제 코드를 살펴보자. 2. 조건문 예제코드 // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract ConditionExample {..
2023.06.01 -
Solidity 문법 - (15) struct (타입)
목차 1. Struct( 구조체 ) 2. Struct 예제코드 1. Struct ( 구조체 ) struct 타입은 구조체를 새로 만드는 것이다. typescript의 인터페이스와 같이 미리 객체 형태의 구조를 설정하여 타입을 명시해주는 것이다. struct를 사용하는 문법은 다음의 예시를 보도록 하자. struct Person { string name; uint256 age; uint256 height; } 컨트랙트 전역에 선언하여 함수에서 Person이라는 타입으로 사용이 가능하다. https://char1ey.tistory.com/134 Solidity 문법 - (2) 솔리디티 타입 목차 1. 솔리디티 타입 2. 타입 예제 코드 1. 솔리디티 타입 Solidity에서 쓰이는 타입들에 대해서 알아보자...
2023.06.01 -
Solidity 문법 - (14) Array
목차 1. Array 2. Array 예제코드 1. Array 다른 언어들과 마찬가지로 length를 구할 수 있고, 또한 for loop문을 통해 배열안의 값들을 순회할 수 있다. 솔리디티에서는 Array보다는 mapping을 선호하는데, for loop문을 통해서 디도스 공격과 같은 것들이 들어올 수 있기 떄문이다. Array는 다음과 같이 정의할 수 있다. [타입] [ ] [접근 제한자] [변수명]; 컨트랙트의 가장위의 변수로도 값을 넣어줄 수 있다. // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract ArrayExam { // 배열에 1, 2, 3, 4, 5를 넣어놓는 것. uint256[] public numArr = [1, 2, ..
2023.05.30 -
Solidity 문법 - (13) Mapping
목차 1. Mapping 2. Mapping 예제코드 1. Mapping 솔리디티에는 Mapping이라는 타입이 있다. Mapping 타입은 키와 값의 형태로 데이터를 저장한다. Mapping은 키와 값으로 이루어져 있기 때문에 length를 구할 수가 없다. Mapping 타입을 선언하는 방법은 다음과 같다. mapping( [ 타입 ] => [ 타입 ] ) [ 접근제한자 ] [변수명] ; 2. Mapping 예제코드 아래의 코드는 이름과 점수를 입력하여, 이름을 입력하면 점수를 값으로 불러오는 코드이다. // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract MapExam { mapping(string => uint256) private r..
2023.05.30 -
Solidity 문법 - (12) 상속의 순서와 super
목차 1. 상속의 순서 2. super 3. 예제코드 1. 상속의 순서 솔리디티에서는 상속을 할 때 복수의 컨트랙트를 상속 할 수가 있다. 복수의 컨트랙트를 상속할 때는 어려울 것 없이, 상속 키워드인 is 뒤에 연속해서 적어주면 상속이 된다. 상속에는 순서가 있는데, 만약 복수의 컨트랙트에서 같은 함수를 내보내 상속받은 컨트랙트가 오버라이딩할 경우에 어떤 컨트랙트를 오버라이딩 하는지 알아야 하는데, 이를 알아보기 전에 super에 대해서 먼저 알고 예제 코드를 보도록하자. 2. super super는 컨트랙트가 부모 컨트랙트의 함수를 오버라이딩할 때, 함수의 로직이 길어서 다시 똑같이 쓰는 비효울적인 일을 해소해준다. 사용방법은 다음과 같다. super.[함수명]( ); 위의 메서드를 사용하게 되면 기..
2023.05.30