IQ AI를 발표했습니다.
**솔리디티(Solidity)**는 중괄호를 사용하는 고급 객체 지향 프로그래밍 언어로, 스마트 계약 설계 및 구현을 위해 만들어졌습니다.[3][7]
솔리디티는 여러 잘 알려진 프로그래밍 언어의 영향을 받은 중괄호 언어입니다. 솔리디티는 C++의 영향을 가장 크게 받았지만, Python, JavaScript 등 다른 언어의 개념도 차용했습니다.[7]
솔리디티는 이더리움 네트워크 팀이 스마트 계약을 구현하기 위해 설계한 계약 지향적 프로그래밍 언어입니다. C++, Python, JavaScript와 같은 프로그래밍 언어에서 영감을 얻었으며, 이더리움 가상 머신(EVM)과 상호 작용합니다.[1][2]
솔리디티의 기본 개념은 개발자가 블록체인 네트워크에서 탈중앙화 애플리케이션(DApp)과 자체 실행 계약을 만들 수 있도록 하는 데 중점을 둡니다.
2014년 8월, 가빈 우드(Gavin Wood), 이더리움의 공동 설립자는 솔리디티에 대한 아이디어를 제안했습니다. 이후 크리스티안 라이트바이스너(Christian Reitwiessner)의 지휘 아래 이더리움 프로젝트의 솔리디티 팀이 해당 언어를 만들고 개발했습니다.[8][9]
솔리디티는 2015년 8월 7일 버전 0.1.0으로 처음 출시되었습니다. 초기에는 기능이 기본적이고 제한적이었지만, 시간이 지남에 따라 솔리디티는 수많은 개선과 개발을 거쳤습니다.
솔리디티는 이더리움 개발자들 사이에서 빠르게 인기를 얻어 스마트 계약을 개발하는 주요 언어가 되었습니다. 솔리디티를 사용하여 개발자는 이더리움 블록체인에서 실행되어 다양한 기능과 서비스를 수행하는 코드를 작성할 수 있습니다.
솔리디티는 다양한 블록체인 프로젝트와 탈중앙화 애플리케이션(dApp)에 사용되었습니다. 솔리디티로 작성된 스마트 계약은 ERC-20 토큰, 투표 시스템, 시간 제한 자금 등 여러 목적으로 사용될 수 있습니다.[10]
C++의 영향은 변수 선언, for 루프, 함수 오버로딩 개념, 암시적 및 명시적 형 변환 등 많은 세부 사항의 구문에서 볼 수 있습니다.[7]
솔리디티는 이전에 JavaScript의 영향을 일부 받았습니다. 이는 함수 수준의 변수 범위와 'var' 키워드의 사용 때문이었습니다. JavaScript의 영향은 0.4.0 버전부터 줄어들었습니다. 현재 JavaScript와의 주요 유사점은 'function' 키워드를 사용하여 함수를 정의한다는 점입니다. [7]
솔리디티는 JavaScript에서 사용할 수 있는 것과 유사한 import 구문과 의미 체계도 지원합니다. 이러한 점 외에도 솔리디티는 다른 중괄호 언어와 매우 유사하며, 더 이상 JavaScript의 주요 영향을 받지 않습니다. [7]
솔리디티에 대한 또 다른 영향은 Python입니다. 솔리디티의 수정자는 Python의 데코레이터를 훨씬 제한된 기능으로 모델링하려는 시도에서 추가되었습니다. [7]
솔리디티 컴파일러 v0.8.27은 2024년 9월 4일에 출시되었습니다.[5]
정적 타입: 솔리디티는 소스 코드의 모든 변수에 데이터 형식이 있는지 확인하여 구문 및 형식 오류와 같은 실수를 방지하여 애플리케이션이 원활하게 작동하도록 합니다.
계약 지향적: 이 프로그래밍 언어는 코드 줄에 작성된 계약 조건을 포함하는 자체 실행 계약인 스마트 계약을 만들도록 설계되었습니다. 이러한 계약은 탈중앙화 애플리케이션(DApp)을 만들고 이더리움 네트워크에서 트랜잭션을 실행하는 데 사용할 수 있습니다.
객체 지향적: 솔리디티는 객체(데이터 구조 또는 자체 포함 코드 단위)를 사용하여 데이터와 해당 동작을 표현하여 개발자가 코드를 구조적이고 모듈식으로 구성할 수 있도록 합니다.[1]