견고성-101(2부)

3084 단어
여기 👇 내 마지막 기사에서 견고성의 기본에 대해 읽을 수 있습니다.

시작하자



💜 변수
  • 정수, 문자열, 문자, 부울 등이 될 수 있는 것처럼 프로그램에 저장할 다양한 유형의 값이 있습니다.
  • 정수 또는 부호 없는 정수에 대한 변수가 있습니다. 변수 데이터 유형 뒤에 2의 거듭제곱을 추가하면 특정 값으로 제한됩니다.
  • 견고성의 변수는 다음과 같습니다.

  • 정수


  • 숫자는 음수 및 양수일 수 있지만 소수는 될 수 없습니다.

  • int -> This is to tell solidity that we will store integer in this variable.
    int8 -> This will store values from -2^8-1 to  2^8-1 i.e. -255 to 255.
    int16 -> This will store values from -2^16-1 to  2^16-1 i.e. -65536 to 65536.
    .
    .
    .
    int256 -> This is the maximum integer value solidity store i.e. -2^256-1 to 2^256-1.
    


    👉 int 또는 int256 만 쓰는 것은 동일하다는 것을 기억하십시오. 기본적으로 int는 int256으로 간주됩니다.

    부호 없는 정수


  • 음수 또는 소수가 아닌 양수만 있는 숫자의 경우

  • uint -> This is to tell solidity that we will store unsigned integer in this variable.
    uint8 -> This will store values from 0 to  2^8-1 i.e. 0 to 255.
    uint16 -> This will store values from 0 to  2^16-1 i.e. 0 to 65536.
    .
    .
    .
    uint256 -> This is the maximum integer value solidity store i.e. 0 to 2^256-1.
    


    👉 uint 또는 uint256만 쓰는 것은 동일합니다. 기본적으로 int는 uint256으로 간주됩니다.

    👉 이는 정수 및 부호 없는 정수로만 제한됩니다.

    💜 변수 정의
  • 견고성에서 변수를 이 패턴으로 정의합니다.

  • <DATA_TYPE> <ACCESS IDENTIFIER> <VARIABLE NAME>
    
    int8 private fav_num = -8;
    uint16 public fav_num = 8;
    bool internal is_fav_num = true;
    string external word = "Hello";
    address private contractAddress = 0x70997970C.......;
    
    


    💜 기능에 대한 특수 액세스 식별자
  • 이러한 액세스 식별자는 함수가 스토리지와 상호 작용하는 방식을 EVM에 알리기 위한 것입니다.

  • PURE -> This means that it will not even access the storage.
    
    VIEW-> This means that it will only access the storage but wont change anything.
    
    


    💜 예시

    address private i_owner;
    uint256 public minimumUsd;
    
    function getOwner() public view returns (address) {
            return i_owner;
    }
    
    function getAddressToAmountFunded(address funder) public view returns (uint256) {
            return s_addressToAmountFunded[funder];
    }
    
    


    💜 요약
  • 원하지 않는 저장소 사용을 제거하기 위해 이렇게 합니다.
  • 따라서 값이 작다는 것을 알고 있으면 uint8, uint16...등을 사용할 수 있습니다.
  • 이는 가스 가격을 통제하기 위한 것입니다.
  • 다른 작업에 따라 EVM은 지불할 가스의 양을 요구합니다. 그래서 그것을 통제하기 위해 우리는 이것들을 사용합니다.

  • 👉 PURE 또는 VIEW -> SPECIAL ACCESS IDENTIFIER를 사용하는 것을 기억하십시오. 이는 EVM에 기능이 매우 제한되어 있으며 그에 따라 가스 요금이 부과됨을 의미하기 때문입니다.

    그게 다야.

    다음 글에서는 SMART CONTRACT를 작성할 때 기본적으로 사용하는 다양한 스토리지, 데이터 구조에 대해 살펴보겠습니다.

    Hello, I am Tanisk Annpurna

    I post about
    
    🚀web3, Blockchain, Ethereum
    
    🐦Smart Contract, Solidity
    
    🎉JavaScript, ReactJS, NodeJS
    
    Follow and like for more such posts. !!✌️!!
    

    좋은 웹페이지 즐겨찾기