분류 전체보기65 [Solidity] 함수 제어자 view & pure 함수 제어자(State Modifier) view, pure 함수 제어자란 컨트렉트 내에 선언된 변수의 상태를 변경시키는지 그렇지 않는지 나타낸다. view 와 pure 두가지가 있으며, 두 함수 제어자 모두 컨트렉트를 변경시키지 않는 함수 선언에 함께 붙는다. 차이점은 반환하는 데이터가 함수 밖의 상태 변수(State Variable)인지 아닌지에 있다. 아래 예제들을 보며 살펴보자. string greeting = "Hello"; function sayHello() public view returns (string) { return greeting; } 위에서 살펴 본 함수 sayHello()는 솔리디티에서 상태를 변화시키지 않는다. 즉, 어떤 값에 대한 변경이나 수정이 없다. 이 경우에는 함수를 v.. 2022. 3. 11. [Solidity] string memory와 bytes 이번 시간에서 솔리디티 문법 중, 문자열(string)과 바이트(bytes) 코드에 대해 알아보자. 솔리디티 코드에는 가스(Gas)라는 비용이 포함된다. 개발자가 솔리디티 코드를 작성하는 목적은 이더리움 스마트 컨트렉트 구현에 있는데, 스마트 컨트렉트는 곧 블록체인을 수정(Update)하는 것으로 이더리움 네트워크에서 가스(Gas)라는 비용을 청구받게 된다. 달리 표현하면, 솔리디티 코드로 스마트 컨트렉트를 구현할 때, 해당 컨트렉트가 얼마만큼 이더리움 블록체인에 개입하는지에 따라 요금을 내야하는 것이다. (= 트렌젝션(Transaction) 복잡성과 가스(Gas)는 비례한다.) 왜 가스가 발생하는지, 트렌젝션 복잡성은 무엇인지에 대한 설명이 궁금하다면, Ethereum 카테고리를 참고하면 된다. 이번에.. 2022. 3. 10. [Solidity] Scope와 Visibility (Public, Private, External, Internal) 솔리디티로 스마트 컨트렉트 작성 시, 아래와 같은 함수를 볼 수 있다. 내부에 작성된 코드는 생략하고 함수가 선언된 형식에 집중해보자. 여타 프로그래밍 언어와 유사한 부분이 있는 듯 하지만 선언문의 순서라던지 용어에서 차이점을 느낄 수 있을 것이다. 오늘 포스팅에서 집중해서 볼 부분은 스코프(Scope 혹은 Visibility)다. 아래 함수 예제 코드에서 확인할 수 있는 public, priavate, external, internal 등이 이에 해당한다. // SPDX-License-Identifier: GPL-3.0 pragma solidity ^0.8.0; contract Decalaration { int public numA = 100; int numB = 500; function private.. 2022. 3. 10. [Redis] 레디스 CLI 접근 및 데이터 조회 이번 시간에는 레디스 커멘드라인 인터페이스(redis-cli)에 접근법과 데이터 조회 방법을 소개한다. 레디스 CLI 접근(내부접속, 외부접속) 레디스 접속에는 `내부접속`과 `외부접속` 두가지 방법이 있다. 내부접속은 레디스가 설치된 서버에서 직접 접속하는 방법이다. 매우 간단하다. 패키지 관리 툴(apt)로 redis-server 를 설치하면서 CLI 관련 패키지도 함께 설치가 되어 있기 때문이다. 터미널을 통해 아래 명령어를 입력하면 끝이다. # CLI 접근 명령어 redis-cli 외부접속은 접속하고자 하는 레디스 서버 및 프로세스 포트에 대한 추가적인 입력이 필요하다. 만약, redis.conf 파일에서 비밀번호에 대한 설정을 해두었다면 비밀번호 역시 입력해주어야한다. 또한, 외부접속 역시 re.. 2022. 3. 10. 이전 1 ··· 12 13 14 15 16 17 다음