견고성 - 101(1부)

You can read my last article about COMPILING SMART CONTRACT, here 👇



시작하자



💜 변수
  • 변수는 프로그램 실행 시간 동안 서로 다른 값을 저장하도록 정의된 데이터 항목입니다.
  • 정수, 문자열, 문자, 부울 등이 될 수 있는 것처럼 프로그램에 저장할 다양한 유형의 값이 있습니다.
  • 견고성의 변수는 다음과 같습니다.

  • 정수


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

  • int -> This is to tell solidity that we will store integer in this variable.
    


    부호 없는 정수


  • 숫자는 양수만 가능하고 음수나 소수는 사용할 수 없습니다.

  • uint -> This is to tell solidity that we will store only positive integer in this variable.
    


    부울


  • 참 또는 거짓

  • bool -> This is to tell solidity that we will store true or false in this variable.
    



  • 조합 문자입니다. 단어, 문장 등이 될 수 있습니다.

  • string-> This is to tell solidity that we will store combination of characters in this variable.
    


    주소


  • 스마트 계약에서 사용되는 특수한 유형의 데이터입니다. EVM은 모든 계정 또는 스마트 계약에 대해 고유한 16진수 값을 갖습니다. EVM이 주소를 사용하여 계정/계약과 상호 작용하므로 주소라고 합니다.

  • address-> This is to tell solidity that we will store Address in this variable.
    


    💜 액세스 식별자
  • 액세스 식별자는 변수/함수 또는 스마트 계약의 모든 항목에 액세스할 수 있는 사용자를 결정할 수 있음을 의미합니다.
  • 보안을 위해 액세스를 제한해야 합니다. 액세스 식별자를 사용하여 이를 수행합니다.

  • PUBLIC -> This means that it can be accessed from anywhere, anyone can access it. No Restrictions.
    
    PRIVATE -> This means that it can only be accessed from the contract in which its present. No contract/account from outside the contract can access it. Although they can see it but can not be accessed.
    
    INTERNAL -> This means that no outside contract/accounts can access it. It can be accessed from within and contract's children i.e. Contracts inherited from this contract can access it. This is the default identifier i.e. If no access identifier is provided, EVM assumes this access identifier.
    
    EXTERNAL -> This means that only external contracts/accounts can access it. if we need to use it internally then we have to use "this" keyword.
    


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

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


    👉 액세스 식별자를 생략할 수도 있으며 EVM은 기본적으로 내부를 액세스 식별자로 사용합니다.
    👉 항상 변수 이름을 자명하게 사용하도록 하십시오.
    👉 문자열을 정의하기 위해 ""를 사용하고 ; 구문을 종료합니다.

    💜 기능에 대한 특수 액세스 식별자
  • 이러한 액세스 식별자는 함수가 스토리지와 상호 작용하는 방식을 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.
    
    

    💜 기능 정의
  • 견고함의 기능을 이 패턴으로 정의합니다.

  • function <FUNCTION_NAME> <ACCESS IDENTIFIER> <SPECIAL ACCESS IDENTIFIER(OPTIONAL)> returns(<DATA_TYPE>){}
    
    function func_name public pure returns(uint){}
    function func_name2 private view returns(string){}
    
    

    👉 특별 액세스 식별자를 생략할 수도 있습니다.
    👉 항상 함수 이름을 자명하게 사용하도록 하십시오.

    💜 예시

    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];
    }
    
    


    그게 다야.

    다음 기사에서는 특별한 액세스 식별자가 필요한 이유와 이러한 변수를 추가하고 더 많은 공간을 효율적으로 사용할 수 있는 방법을 살펴보겠습니다.

    Hello, I am Tanisk Annpurna

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

    좋은 웹페이지 즐겨찾기