솔리디티(Solidity)

2021. 10. 8. 11:47Blockchain/Solidity

솔리디티(Solidity)란?

* 스마트 컨트랙트를 만드는 언어, 솔리디티가 가장 대중적

* 객체지향적 언어 // 객체지향 == OOP(Object-Oriented Programming)

* 객체지향적 언어는 코드블럭 안에서만 코드를 작성 가능함, 맨 처음에 실행되는 함수(메인함수)가 존재

* 확장자는 .sol

// Java
public static void main(String[] args) {
	System.out.printIn('hello world');
}
public... args)가 없으면 실행이 아예 안됨

// JavaScript
{
	console.log('hello world');
}

// C++
int main(void) {
	printf('hello world');
}

IDE

* 코딩, 디버그, 컴파일, 배포 등 개발에 관련된 모든 작업을 하나의 프로그램 안에서 처리 할 수 있게 돕는 소프트웨어

* Remix IDE : 솔리디티 개발을 위한 브라우저 기반의 IDE, 설치 필요 X (like 구름 IDE 등) // https://remix.ethereum.org/

 

Remix - Ethereum IDE

 

remix.ethereum.org


용어 설명

- 가나슈 (Ganache)

* 이더리움 개발 테스트에 사용할 수 있는 개인용(private) 블록체인

mainnet, testnet 을 빌려쓰지않고 로컬 PC에서 가볍게 데몬 구현 (블록의 정보를 로컬에 저장)

 

- 스마트 컨트랙트 (Smart Contract)

* 서면으로 이루어지던 계약을 코드로 구현하고, 특정 조건이 충족되었을 때 해당 계약이 이행되게 하는 스크립트

 

- 트러플 (Truffle)

* 스마트 컨트랙트를 로컬 환경에서 보다 쉽게 컴파일하고 배포할 수 있게 하는 프레임워크

* Dapp 개발에 사용

 

- EVM (Error Vector Magnitude)

* 이더리움 블록체인 네트워크의 노드들이 공유하는 하나의 가상 머신으로, Java의 JVM처럼 솔리디티 언어를 해석해주는 언어 해석기

* likst NodeJS

 

- 이더리움 토큰을 생성한다 = 메인넷을 빌려쓴다 = 메인넷을 만들지 않는다


크립토 좀비(Crypto Zombies)

* 솔리디티를 배워 볼 수 있는 사이트

링크 : https://cryptozombies.io/ko/

 

#1 Solidity Tutorial & Ethereum Blockchain Programming Course | CryptoZombies

CryptoZombies is The Most Popular, Interactive Solidity Tutorial That Will Help You Learn Blockchain Programming on Ethereum by Building Your Own Fun Game with Zombies — Master Blockchain Development with Web3, Infura, Metamask & Ethereum Smart Contracts

cryptozombies.io

* 공부 중

링크: https://github.com/proazel/CryptoZombies