본문 바로가기

Blockchain4

자료형에 대해서 알아볼까요 Move 언어는 자산 관리와 보안을 중시하는 블록체인 환경에 맞추어서 다양한 자료형을 제공합니다. Move의 자료형은 크게 기본 자료형과 복합 자료형으로 나눌 수 있습니다. 1. 기본 자료형 Primitive Types 1.1 정수형 Unsigned IntegerMove는 다음과 같은 부호없는 정수형을 지원합니다.- u8 : 8비트 정수, 값 범위는 0부터 255- u64 :  64비트 정수, 값 범위는 0부터 2^64 -1 - u128 : 128비트 정수, 값 범위는 0부터 2^128-1 Move의 정수형은 모두 부호가 없기 때문에, 음수 값은 사용할 수 없으며, 정수만 사용해야 합니다. 자산의 개수나 특정 값들을 나타내기 위해 주로 사용되며, 산술 오버플로우는 Move의 검증 시스템에서 자동으로 체크.. 2024. 10. 27.
반복문을 쓸 수 없다면, 반복 작업을 어떻게 하나요? Move는 반복문 (for, while 등)을 지원하지 않지만, 재귀함수와 조건문을 통해서 반복적인 작업을 수행할 수 있습니다. Move에서 반복문을 지원하지 않는 이유는 무한 루프를 방지하고, 블록체인 환경에서의 계산 자원을 효율적으로 사용하기 위함입니다. 대신, 주어진 작업을 반복적으로 수행해야 할 경우 재귀적 접근 방식을 사용해야 합니다. 다음은 Move에서 반복문 대신 재귀를 사용하는 방법과 그 예시입니다. 1. 재귀를 통한 반복작업Move는 재귀함수를 지원하므로, 함수가 특정 조건에 도달할 때까지 자신을 호출하도록 하여 반복작업을 수행할 수 있습니다. 예를 들어서, 1부터 n까지의 합을 구할 때 재귀를 사용할 수 있습니다.module ExampleModule{ public fun sum_recu.. 2024. 10. 27.
Move의 특징 Move는 페이스북의 리브라 화폐 프로젝트를 위해서 개발된 스마트컨트랙트 프로그래밍 언어입니다.Rust에서 영감을 받아서 설계된 부분이 많고, 특히 메모리 안전성, 자원관리, 소유권 개념 등에서 유사한 점이 많습니다. Move는 특히 블록체인 상에서 디지털 자산의 안전한 이동과 소유권 관리에 특화된 언어로, 스마트 컨트랙트를 작성하기 위해서 처음부터 설계되었습니다. 이로 인해서, Move는 Rust 보다도 더 엄격한 자원관리 시스템과 보안성을 제공합니다. 1. 자원 Resource 타입과 소유권 관리Move는 자산을 자원타입(resource type)으로 선언하고, 이 자원은 복사할 수 없으며 단 하나의 소유자만 가질 수 있습니다. 이것은 블록체인에서 자산의 중복과 무단 사용을 방지하기 위한 특화된 기능.. 2024. 10. 27.
접근한정자 public- 누구나 접근할 수 있다.- 컨트랙트 내의 다른 함수, 외부 컨트랙트 또는 계정이 호출할 수 있다. * 특징- 상태 변수에 적용하면, 자동으로 getter 함수가 생성된다.- 함수는 컨트랙트 내부와 외부에서 호출할 수 있다. uint public totalSupply; // 상태변수는 자동으로 getter를 생성한다.function myFunction() public{ // 누구나 호출 가능한 함수이다.}  private- 오직 컨트랙트 내에서만 접근할 수 있다.- 상속받은 자식 컨트랙트도 접근할 수 없다. * 특징- 다른 컨트랙트나 외부 계정에서 호출할 수 없다.- 해당 컨트랙트 내에서만 접근 가능하다.uint private _totalSupply; // 이 컨트랙트 내에서만 접근 가능하다.. 2024. 9. 18.