솔리디티 및 블록체인

솔리디티 08. String

채채_._. 2024. 5. 14. 17:40

솔리디티 저장 방식

  • storage 
  • 메모리
  • 콜데이터
  • 스택

 

storage

- 변수, 함수 저장

- a,a2는 storage에 저장되고 a2의 함수 안에 b는 stroage에 저장 불가.

- storage에 저장이 되면 영속적으로 저장됨.

- 영속적으로 저장됨에 따라 사용자들은 모든 노드를 다운받아야 함.

  • 이에 따라 사용하는 가격이 비싸짐
  • 가스 비용도 비싸짐

 

메모리

- storage와 정반대

- 함수 안의 값, 함수의 파라미터, 리턴 값, 레퍼런스 타입을 사용할 때 사용.

- b는 메모리에 저장. 만약에 파라미터도 존재한다면 파라미터도 메모리에 저장.

- 메모리는 이 함수가 작동할 때만 유효하기에 영속성은 없음.

- storage보다 가스 비용이 덜 나감.

 

콜데이터

- 주로 external function 파라미터에서 사용.

 

스택

- 이더리움 virtual machine, EVM에서 스택 데이터를 관리할 때 사용.

- 1024MB

 

String

- 일반적인 데이터 타입 아님. 배열에 의해서 연관되어 있기에 레퍼런스.

- 파라미터나 return 값 파라미터를 사용 시 memory라는 키워드를 붙여줘야 함.

 

 

- getString 함수 보면 memory 지정하는 것을 볼 수 있음.

- getUint 함수 보면 uint가 기본 데이터 타입이기에 메모리가 디폴트로 되어 있어 메모리를 지정할 필요가 없음.

 

'솔리디티 및 블록체인' 카테고리의 다른 글

솔리디티 10. instance2 - constructor  (0) 2024.05.22
솔리디티 09. instance 1  (0) 2024.05.15
솔리디티 07. View와 Pure  (0) 2024.05.08
솔리디티 06. function 2  (0) 2024.05.08
솔리디티 05. Function 1 - 정의  (0) 2024.05.01