Solidity는 이더리움의 핵심 개발자들이 블록체인 플랫폼의 스마트계약(Smart Contract) 작성 및 구현을 가능하게 하기 위해 만든 객체 지향 프로그래밍 언어이다.
또한 C++, 파이썬, 자바스크립트의 영향을 받은 고수준 언어이므로 배우는데 큰 무리는 없을 것이다.
Solidity와 자바스크립트를 활용해서 스마트 컨트랙트를 활용한 웹 3.0을 구현할 수 있다.
크립토 좀비에서 배운 문법들을 정리해보았다.
처음 배우시는 분들은 크립토 좀비 에서 솔리디티 언어를 재미있게 학습할 수 있다.
모든 솔리디티 소스 코드는 시작할 때 버전을 명시해주어야 한다.
(0.4.19 는 버전명)
pragma solidity ^0.4.19;
이렇게 쓰면 0.7 ~ 0.9 사이의 버전을 의미한다.
>=0.7.0 <0.9.0;
솔리디티 코드는 contract 안에 싸여있다. 자바의 class 라고 생각해도 무방하다.
int a; // 부호 있는 정수 (타 언어의 int형과 같다.)
uint b; // 부포 없는 정수 - 음수를 저장할 수 없다.
uint8 c; // 8비트까지 저장할 수 있는 uint이다.
// 이외에도 uint16, uint32 등이 있지만 보통은 그냥 uint를 사용한다.
// uint는 기본적으로 256비트를 저장할 수 있다. (== uint256)
구조체를 통해 더 복잡한 자료형을 만들 수 있다.
Person 이라는 구조체를 만들고 age와 name을 속성으로 선언했다.
a 변수를 Person 형태로 선언하고 나이와 이름을 초기화했다.
이제 a.age 방식으로 a의 속성에 접근할 수 있다.