EVM-LLVM Alpha 버전 – 새로운 차원의 스마트 컨트랙트 개발


EVM-LLVM 프로젝트의 알파 버전이 발표되었습니다. 이는 Ethereum Stack 커뮤니티가 오랫동안 기다려온 것으로 스마트 컨트랙트에 새로운 이정표가 될 것입니다. EVM-LLVM은 LLVM기반의 아키텍처를 이더리움 스택에 제공하여 개발자가 다양한 프로그래밍 언어를 사용하여 이더리움 가상머신(EVM)에 대한 프로그래밍 할 수 있도록 하고 디버깅, 검증기, 정적 분석 등을 포함한 성숙한 LLVM의 툴 생태계의 이점을 누릴 수 있게 합니다.


블록체인이 DApp 기능을 갖기 위해서는 새로운 분산 컴퓨팅 네트워크, 새로운 운영 체제, 새로운 프로그래밍 언어가 필요합니다. 이것이 바로 EVM과 Solidity가 만들어진 이유입니다. EVM 기반의 블록체인의 경우 현재 Solidity는 최고의 스마트 컨트랙트 프로그래밍 언어이며 다른 블록체인은 Solidity와 호환됩니다. 하지만, 스마트 컨트랙트 개발자들은 익숙하지 않거나 미숙한 것으로 인해 Solidity에 애증을 갖게 되기도 합니다. 그렇다면 우리는 DApp 개발자들이 어떻게 더 재미있고 유용한 DApp을 개발할 수 있도록 도울 수 있을까요? DApp의 품질, 확장 가능성, 수명을 개선하기 위한 해답은 무엇일까요? 우리는 어떻게 DApp 코딩의 번거로움과 사소한 일들을 줄일 수 있을까요?


LLVM란 무엇일까요?

LLVM은 중간 또는 이진법 코드를 구축, 최적화 및 생성하기 위해 사용되는 라이브러리입니다. LLVM은 "프론트 엔드"(해석기 및 어휘 분석기)와 "백 엔드"(LLVM의 표현을 실제 머신 코드로 변환하는 코드)를 제공할 수 있는 컴파일러 프레임 워크로 사용할 수 있습니다.


이제 우리는 LLVM을 가지게 되었습니다.

그리고 우리는 다음과 같이 구축할 수 있습니다.


LLVM은 Rust, Objective C, Fortran, Ada, Haskell, Java, bytecode, Python, Ruby, ActionScript, GLSL 등 다양한 프런트 엔드를 지원합니다. 반면 LLVM을 사용하면 새로운 대상 플랫폼 (WASM)을 지원할 수도 있습니다. 이 경우 시리즈에 EVM을 추가합니다.


LLVM은 EVM 기반 블록체인 생태계에 무엇을 가져올 수 있을까요?

Rust, Golang, OCaml, Haskell 등 선호하는 언어로 계약 코드를 만들 수 있습니다. LLVM의 EVM 백엔드는 최종적으로 이들이 계약을 프로그래밍 할 수 있게 합니다.


더 많은 언어를 상용해 EVM을 방문할 수 있음으로 더 많은 개발 인력이 이더리움 클래식 및 기타 버전에 DApp을 구축할 수 있게 될 것입니다. EVM 기반의 블록체인에 더 많은 언어 선택이 가능해지면서 DApp 개발자의 경험이 향상될 것입니다.


LLVM의 에코 시스템은 디버깅, 유효성 검사기, 정적 분석 등을 포함해 개발에 유용한 다양한 고품질 개발 툴이 포함되어 있습니다.


LLVM 커뮤니티는 그 수명을 연장하기 위해 가장 널리 수용되는 툴링 플랫폼 중 하나로 만들 수 있도록 LLVM 프로젝트를 지원하는데 주력하고 있습니다. 또한, LLVM 기반 아키텍처에 기반해 개발을 진행하는 개발자는 LLVM으로부터 수익과 지원을 받게 됩니다. 간단하게 말해 미래를 향한 개발 툴을 구축하는 가장 좋은 방법은 방대하고 성숙한 LLVM 에코 시스템을 이더리움에 도입하는 것입니다.



협력 파트너

ETC Core와 Second State는 LLVM에서 사용되는 구축 라인을 완성하기 위해 협력하고 있습니다. Second State의 SOLL 컴파일러는 호환되는 LLVM-IR을 생성하여 LLVM-EVM 백엔드를 사용하여 EVM 바이트 코드로 변환할 수 있습니다.


LLVM-EVM 프로젝트는 SOLL 컴파일러를 보완하고 컴파일러 툴체인을 위한 EVM을 제공합니다. EVM은 오늘날 중요한 스마트 계약 실행 엔진입니다. 가까운 장래에 EVM과 Ewasm (예 : 세컨드 스테이트 VM)이 공존할 것으로 생각합니다. LLVM-EVM은 SOLL과 연결하여 EVM과 Ewasm 간의 개발자 경험을 통합합니다. 한편, Vyper 팀 역시 LLVM 인프라에서 코드를 생성하고자 합니다.


Vyper는 LLVM-EVM 백엔드 프로젝트가 스마트 컨트랙트 개발의 진정한 승리라고 생각합니다. LLVM이 제공하는 세계 최고의 성숙한 툴과 최적화 기반 아키텍처는 EVM 기반의 스마트 컨트랙트에게 더 안전하고 효율적인 코드를 제공할 것입니다. 이 백엔드는 이미 EVM을 실행 중인 수백 개의 퍼블릭과 프라이빗 체인을 지원할 것이며, EVM은 현실적인 애플리케이션에서 스마트 컨트랙트의 생산 용도로 사용되는 가장 성숙한 가상 머신입니다. – Vyper팀


다음 단계는 무엇입니까?


프로그래밍 언어 개발자

EVM LLVM은 스마트 컨트랙트 엔진 EVM의 컴파일러 백엔드입니다. LLVM에서 자체 스마트 계약 DSL (도메인 특정 언어)을 구축하거나 기존 언어를 이식하려는 경우 공식 EVM-LLVM 프로젝트의 Github 저장소에서 소스 코드를 다운로드하고 초기 문서에 액세스하여 시작할 수 있습니다. 설명서는 https://llvm.etccore.io/에 있습니다.


컴파일러 개발자

이 프로젝트는 당신의 도움이 필요합니다. LLVM에 기반한 스마트 계약 컴파일러 백엔드 개발에 관심이 있다면

1. 이곳에서 그 기술에 관한 문장을 살펴볼 수 있습니다.

https://github.com/etclabscore/evm_llvm/wiki/files/Generating_stack_machine_code_using_LLVM.pdf

2. 다음 위치에서 Wiki 페이지를 읽을 수 있습니다: https://github.com/etclabscore/evm_llvm/wiki

3. 만약 질문 또는 건의 사항이 있다면 PR을 제출해 주시기 바랍니다. 우리는 모든 커뮤니티의 도움이 필요합니다.


우리는 장기적으로 공식 채널을 통해 백엔드를 공유할 계획입니다. 이것이 사용될 수 있는 어떤 곳에서 도움이 되길 바랍니다.


스마트 컨트랙트 개발자

우리 파트너의 최신 소식을 주목해 주세요. 당신은 곧 스마트 컨트랙트 개발을 위한 다양한 LLVM 기반 플랫폼을 사용할 수 있습니다.



Recent Posts

See All

ETC Labs, 해시레이트 임대 플랫폼 시행 및 규제 추구

2020년 7월30일부터 8월 1일까지, 이더리움 클래식 네트워크는 51%의 공격을 받았으며, 공격에 사용된 해시레이트는 NiceHash를 통해 판매되었습니다. 해당 회사는 이전에도 6,200만 달러의 비트코인의 손실을 발생시킨 것이 있다고 보고되었으며, 공동 설립자는 사기 및 공갈 혐의로 기소되어 슬로베니아에서 미국으로 인도되었습니다. 현재 개발 중인 실