Solidity 이란

Dev_min·2023년 3월 16일
0

blockChain

목록 보기
3/3

Solidity

: 스마트 컨트랙트를 구현하기 위한 컨트랙트 기반의 언어이다. Solidity는 c++, python, javascript의 영향을 받아 만들어졌다. Ethereum Virtual Machine(EVM)에서 구동되도록 설계되었다.

정적 타입이며, 상속, 라이브러리 그리고 복잡한 사용자 정의 자료형을 지원한다.

smart contract

pragma solidity >=0.4.0 <0.6.0;

contract SimpleStorage {
    uint storedData;

    function set(uint x) public {
        storedData = x;
    }

    function get() public view returns (uint) {
        return storedData;
    }
}
  • 첫줄은 solidity 0.4.0버전을 기반으로 작성되었다는 것을 뜻하며, 이후 버전(0.6.0)까지도 정상 동작 가능하다
    Solidity 관점에서 컨트랙트란 무수한 코드들과 데이터가 Ethereum 블록체인의 특정 주소에 존재하는 것이다.

    uint storedData;는 uint(256비트의 부호없는 양의 정수) 타입의 storedData로 불리는 변수를 선언한 것이다.

  • Ethereum에서, 변수들은 컨트랙트에 포함되어 있으며 set과 get 함수로 변수의 값을 변경하거나 조회할 수 있다.

모든 지시자(컨트랙트, 함수, 변수 이름들)는 ASCII 문자열로 제한됩니다. UTF-8로 인코딩된 데이터도 string 변수로 저장할 수 있습니다.

  • address 타입은 160비트의 값으로 그 어떤 산술 연산을 허용하지 않는다. 이 타입은 컨트랙트 주소나 외부 사용자들의 키 쌍을 저장하는데 적합하다. public키워드는 변수의 현재 값을 컨트랙트 바깥에서 접근할 수 있도록 하는 함수를 자동으로 만들어준다.

[참고]https://solidity-kr.readthedocs.io/ko/latest/introduction-to-smart-contracts.html

profile
TIL record

0개의 댓글