
Solidity는 "스마트 컨트랙트"를 구현하기 위한 컨트랙트 기반의 고급 프로그래밍 언어입니다.
그래서 "스마트 컨트랙트"가 뭔데?
스마트 컨트랙트란 블록체인 기반으로 금융거래, 부동산 계약, 공증 등 다양한 형태의 계약을 체결하고 이행하는 것을 말한다.
블록체인 2.0이라고도 한다.
미리 정의된 조건이 충족이 되면, 블록체인에 저장된 프로그램이 작동되는 것. 이라고 이해하면 편함.
그래, 우린 개발하려 온거지 누가 요즘 나무 심을 때 씨앗부터 키우는가. 바로 개발을 시작해보자.

솔리디티를 체험하기에 가장 빠르게 체험할 수 있는...
REMIX IDE를 사용할 것이다. ( 추후 변경 할수도 있음 )
아무튼

해당 링크로 입장하면 이런식으로 나오는데 폴더를 먼저 만들자. (아무렇게나 쓰셈)

또한 파일도 하나 만들자 이때 주의할 점은 Solidity의 확장자는 *.sol 이다.
우리는 빈 공간의 .sol 파일에서 무엇을 가장 첫번째로 해야하는가?
그것은 "라이센스"를 명시하는 것 이다.
솔리디티는 맨 윗줄에 라이센스를 명시해주지 않으면 에러가 나기 때문

명시는 이런식으로 하면 된다.
SPDX-License-Identifier: GPL-30
(SPDX-License-Identifier라고 대소문자 지켜서 쓰셔야 함. 나 방금 글 쓰면서 컴파일 하다가 경고 떴자너 ㅋㅋ)
GPL-30 밖에 몰라서 이거 씀
그것은 바로 컴파일 버전 명시이다.

이런식으로
pragma solidity >= 0.7.0 < 0.9.0;
(당연히 알겠지만 0.7.0 이상 0.9.0까지의 버전을 쓰겠다는 거임, 이거 알잘딱 못하면 센스부터 배우셈.)
음... 사실 Solidity에는 print 함수가 없다.
주로 트랜잭션 로그를 사용하는데, 음.. 이건 아직 너무 빠른 것 같으니 변수를 설정해서 Deploy를 통해서 출력을 해보이겠다.
(아무튼 글자 보이면 출력이잖음 ㅋㅋ)
일단 우리 contract라는 걸 정의해줘야한다.

요런식으로.
나는 "초 감각적인" 느낌으로 딱 Java의 Class 같은 느낌일 것 같다 했는데 혹시 모르니 Chat-GPT 성님께 물어봤다.

대충 읽자.. ㅇㅇ (긴거 싫어함)

이런식으로 변수를 넣어봤다.
이제 컴파일 해보자.

IDE 왼쪽을 보면, 솔리디티 아이콘이 있을 것이다. 클릭.

이런식으로 나온다. 대충 뭐해야할지 짐작이 오쟈?
바로 파란색 컴파일 버튼 누르자.

대충 체크 초록색 체크 생기면 님도 이제 어엿~ 한 솔리디티 개발자가 된겨~ ㅋ
자, 이제 배포(Deploy)해서 출력해보자.

저~~ 기 컴파일 아이콘(솔리디티 아이콘) 밑에 이더리움 아이콘 있지? 저거 눌러봅시다.

이런식으로 뜰 텐데 우린 멍청하니까 컨트랙트만 일단 먼저 보자.
cth - cth/lec1.sol
딱 보니까 느낌 오지?
cth라는 컨트랙 - cth 폴더안에 있는 lec1.sol
이거 진짜 모르면 문제 있다는거임 ㅇㅈ? 아니면 니가 글을 안읽었던가..
일단 바로 눌러보자 배포

대충 배포 성공하고, 밑에 쫘악 내려봐 그럼 배포된 컨트랙트가 있을겨 눌러보셈.

따악 봐도 여기 hello 버튼 내 변수 hello 같지? ㅋㅋ 함 눌러봅세!

아 잘나오자너 ㅋㅋ 좋다 좋아~
https://discord.gg/C5Hv3V5NSs
^^^ cth.release 교단에서 커뮤질 (정신건강에 해로움) ^^^