EVM과 Solidity, 개발도구

citron03·2022년 3월 21일
0

블록체인

목록 보기
8/19
  • 이더리움에서 스마트 컨트랙트를 실행하기 위해서는 솔리디티 코드를 작성한 뒤, solc(솔리디티 컴파일러)를 통해 컴파일하여 이더리움 블록체인에 배포한다.
  • ABI(Application Binary Interface)는 스마트 컨트랙트 코드에 대한 설명이 담긴 interface이다.
    🍎 ABI는 JSON의 형식이다.
  • 스마트 컨트랙트는 solc에 의해서 16진수 이진코드(바이트 코드)가 되어 블록체인에 배포되기에, 해당 스마트 컨트랙트가 무슨 기능을 지닌지 쉽게 알 수 있게 해주는 AIB가 필요하다.
    🥝 이더리움 네트워크의 각 노드들은 지갑을 통해서 상호작용을 한다.
    🥝 이때, JSON-RPC 형식의 데이터로 상호작용을 하고, 상호작용을 하기 위한 데이터가 ABI이다.
  • ABI는 스마트 컨트랙트 코드의 함수에 대해서 정의하고, 어떤 인자가 필요하며 어떤 데이터가 반환되는지, 노드가 컨트랙트를 실행하기 위해 어떤 작업을 수행해야 하는지 알려준다.
// 솔리디티 컴파일러 solc 설치 

sudo add-apt-repository ppa:ethereum/ethereum
sudo apt update
sudo apt install solc

// 설치 버전 확인

solc --version

솔리디티 개발 도구들

🍫 solc

  • 솔리디티는 고급 언어이기에 가상 머신 EVM은 솔리디티를 읽을 수 없다.

  • 따라서, 솔리디티를 바이트 코드로 컴파일 해야하고, 이를 위해서 컴파일러 solc를 사용한다.

🍫 Remix IDE

  • 이더리움 스마트 컨트랙트 코드를 작성하는 다양한 IDE가 있고, 웹 기반 IDE로 Remix가 있다.

  • Remix는 솔리디티를 사용한 dApp 개발을 도와주는 통합 개발 환경이다.

  • Remix는 자바스크립트로 만들어졌기에 브라우저에서 사용이 가능하다.
    (로컬이나 데스크탑 버전을 사용할 수도 있다)

  • vs code와 연결을 통해 로컬 파일을 수정할 수도 있다.

  • http://remix.ethereum.org/

🍫 TestNet

  • 이더리움에서 제공하는 퍼블릭 테스트 네트워크를 의미한다.

  • 테스트 네트워크는 실제 이더리움과 비슷하지만, 실제로 트랜잭션이 이루어지지는 않는다.

  • 현재 이더리움에서는 세 개의 퍼블릭 테스트넷이 제공된다.
    ( Ropsten, Kovan, Rinkeby )

🍫 프레임워크

  • 솔리디티 코드를 이더리움 네트워크에 올리기 위한 여러 복잡한 과정을 해결해주는 Truffle, Dapple, Embark와 같은 프레임워크를 선택할 수 있다.

  • 프레임워크들은 솔리디티 코드에 대해서 디버깅, 테스트, 컴파일, 배포와 같은 기능을 제공해준다.

참고 자료 출처 : 코드 스테이츠

profile
🙌🙌🙌🙌

0개의 댓글