본문 바로가기
반응형

블록체인/WEB3 개발42

솔리디티 기본 문법 - 함수 제어자 💡솔리디티 기본 문법 - 함수 제어자(modifier) 비슷한 역할을 하는 코드를 모아서 만든 특별한 형태의 함수이다. 함수 선언에 modifier를 추가형 함수에 변경자를 적용할 수 있다. * 변경자: 함수를 실행하기 전, 요구 조건을 만족하는 지 확인하는 작업 변경자를 작성할 때는 _;를 사용한다. _;는 함수를 실행하는 시점을 나타내며, 변경자 코드는 _; 코드를 기준으로 실행 시점이 달라진다. _;이전의 코드는 함수가 실행되기 전에 실행되고 _; 이후의 코드는 함수 실행이 종료되고 실행된다. 다음의 changeNum 변경자는 함수를 실행하기 전, num 상태 변수의 값을 1 올리고, 함수의 실행이 완료되면 num 상태 변수의 값을 1 내린다. int public num = 0; modifier c.. 2022. 7. 8.
솔리디티 기본 문법 - 함수 💡솔리디티 기본 문법 - 함수 솔리디티에서 함수는 다음과 같이 선언한다. function 함수이름 (파라미터 형식1 파라미터1, 파라미터 형식2 파라미터 2, ... ){...} 함수가 값을 반환하는 경우, 다음과 같이 선언한다. function 함수이름(파라미터, ...) returns (반환 형식) {...} ✓ 함수 접근 수준 (public, external, internal, private) - 외부에서 접근 가능 - 컨트랙트 내부, 외부, 클라이언트 코드에서 모두 호출 가능 - public 과 비슷함 - 외부(external) 컨트랙트나 클라이어트 코드에서 호출 가능 - 컨트랙트 애부에서는 호출 불가능. f()로 호출 불가능 - 컨트랙트.. 2022. 7. 8.
솔리디티 기본 문법 - 연산자 💡솔리디티 기본 문법 - 연산자 1 + 2 라는 간단한 식으로 생각해보았을 때, "1" 과 "2" 는 피연산자, "+" 는 연산자라고 한다. 솔리디티는 다음과 같은 유형의 연산자를 지원한다. - 산술 연산자 - 비교 연산자 - 논리 연산자 - 할당 연산자 - 비트 연산자 - 조건부 연산자 ✓ 산술 연산자 (Arithmetic Operators) 피연산자의 수학적 연산을 수행하는 데 사용한다. 연산자 의미 + 두 개의 연산자를 더하는데 사용한다. - 첫 번째 피연산자에서 두 번째 피연산자를 빼는데 사용한다. * 두 개의 피 연산자를 곱하는데 사용한다. / 첫 번째 피연산자를 두 번째 피연산자로 나누는 데 사용한다. % 첫 번째 피연산자를 두 번째 피연산자로 나눈 나머지를 제공한다. ++ 정수 값을 1씩 증.. 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.
솔리디티 기본문법 - 변수 💡솔리디티 기본 문법 - 변수 ✓ 데이터 저장 위치 보통의 프로그래밍 언어라면 변수는 스택, 힙 등 메모리에 저장되는 것이 기본이다. 하지만 솔리디티 변수를 메모리뿐만이 아니라 하드 디스크 등과 같은 스토리지에 저장하기도 한다. 또한, calldata 라는 영역에 저장하기도 하는데, 여기에는 함수 인자가 저장된다. calldata 역시 메모리처럼 동작하지만 수정 불가능하고 비영구적인 영역이다. * 솔리디티의 제이터 저장 위치 1) 메모리 2) 스토리지 3) calldata * 강제 데이터 위치 1) 외부 함수의 매개변수(반한 값 포함) : 메모리 2) 상태 변수 : 스토리지 * 기본 데이터 위치 1) 함수의 매개변수(반환 값 포함) : 메모리 2) 모든 지역 변수: 스토리지 ✓ 변수의 종류 솔리디티에서 .. 2022. 7. 8.
솔리디티란? 💡 솔리디티란? 솔리디티는 객체 지향 프로그래밍 언어로써, 이더리움 블록체인 플랫폼에 다양한 스마트 컨트랜트를 작성할 때 사용된다. 예를 들면, 투표, 크라우드 펀딩, 블라인드 경매, 다중 서명 지갑등에 사용될 수 있다. 솔리디티의 큰 특징은 다음과 같다. 1) 정적 타입의 중괄호 언어: 솔리디티는 정적타입의 중괄호 프로그래밍 언어이다. 우리가 앞서 배운 자바스크립트와 달리 컴파일 시에 변수에 타입이 결정되는 언어이다. 그렇기에 소스 코드에 타입을 명확하게 정의해줘야 한다. 2) Ethereum Virtual Machine(EVM): 솔리디티는 EVM이라는 이더리움 가상 스택 머신 위에서 동작한다. 3) 세미콜론(;): 마지막으로 솔리디티는 문장의 끝에 반드시 세미콜론을 붙여야 한다. ✓ 솔리디티의 사용.. 2022. 7. 8.
728x90