ETC Labs Core 1분기 업데이트

Updated: May 28, 2019




ETC Labs Core는 Ethereum Classic 1월에 오픈하였습니다.

그 후 LABS는 이더리움 클래식의 생태계를 만드는데 총력을 기울였고,

기존의 Dapp 생태계를 이더리움 클래식으로 확장시키는 것에 초점을 맞추었습니다.


초반은., ETC-ETH 호환성, 중요 데이터 분석 툴 개발, DApp 개발 환경 편의사항을 개선하기 위해,블록 체인 분야의 네임드 개발자들과 협력였으며, 그 과정에서 팀을 크게 성장하게 되었습니다.그리고 중요한 이정표 또한 얻었습니다.


[팀]


기존 코어 개발팀에 비해 팀의 사이즈가 75퍼센트 커졌습니다.

팀은 Constantine Kryvomaz , Meowbits , Michael Collison , Mike Lubinets , Shane Jonas , Stevan Lohja , Zachary Belford로 시작했습니다. 그리고 현재 리쿠르팅에 대해서, Alan Li , Devon Wesley , Jake Lang , Talha Cross , Zac Mitton 및 Zane Starr을 포함될 예정이기 때문에 이부분에 큰 자신감을 가지고 있습니다.


Constantine, Meowbits 및 Talha는 Meowbits를 클라이언트 개발팀으로 구성했습니다. 클라이언트 개발팀은 네트워크 분석 툴 메이킹에 기여하고 있습니다. 클래식 게스(Classic Gath)를 지원합니다. Geth, Multi-Geth 및 네트워크 업그레이드를 지원합니다.


Alan Li, Jake Lang, Michael C., Mike L.은 리드 컴파일러 개발 업체 인 Michael C.와 EVM / Compiler 팀을 구성합니다. ETC JIT 컴파일러와 EVM LLVM 프로젝트를 추진하고 있기 때문에, EVM 및 스마트 계약 실행 성능을 획기적으로 향상시킵니다.


Dapp 툴 개발 팀에 셰인 (Shane)과 재커리 벨 포드 (Zachary Belford)가 추가되었으며, Devon, Mitton, Zane와 함께 팀을 이끌고 있습니다. DApp 툴 팀은 DApp 개발자 환경을 지원하는 프로젝트에 참여하고 있습니다. 그중, OpenRPC도 포함되어 있는데 해당 내용은 P2P 통신, 특히 블록체인에서 상당히 혁신적(게임체인저 레벨의)인 부분이 될 것이라 자부합니다.

Stevan Lohja는 계약, 문서화, 웹개발, 코디네이팅 업무를 진행하고 있습니다. 그리고, 교육에 대한 기술과 개발 문서화도 담당합니다.


2019 년 1 분기 성과

[Client Team] 팀은 ECIP-1054 업그레이드 코드 (Atlantis 코드) 제안서를 공표했습니다. 아틀란티스 업그레이드는 커뮤니티 전체에서 엄청난 서포트를 받아왔습니다.

제안서에는 test-net 및 main-net의 블록 높이가 포함되어 있지만, 현재 클라이언트 개발자 그룹과 더 많은 토론이 필요합니다. ECIP-1054 업그레이드 포크의 가시적 성과는, ETC-ETH 호환성과 ETC 체인의 성능 향상을 동시 가능하게 하는 것입니다.

ECIP-1054 : 아틀란티스, EVM 및 프로토콜 업그레이드

ECIP-1053 : JSON-RPC 서비스에 OpenRPC 서비스 검색 추가

ETC 테스트넷을 Kotti 네트워크와 협력 (Kotti 네트워크 : Ethereum Classic 테스트 네트워크로 보임 단 POA) 기존의 코티 테스트넷은 클라이언트에서 광범위하게 사용할수 있으며, 신뢰성도 보장이 되는 테스트넷입니다)

Classic Geth 및 Multi-Geth 클라이언트에 대한 지속적인 지원 및 유지 관리. 클라이언트 팀은 네트워크 구동 소프트웨어를 원활히 제공하는 업무에 집중하여, 개발자가 분산 형 및 피어 투 피어 애플리케이션을 개발할 수 있도록 지원하고 있습니다. 2019 년 1 분기에 목표를 달성하는 과정에서 여러 가지 문제를 해결했습니다. 특히 Q1의 초기에 51 % 광산 공격의 형태로 이중 지출 공격을 당했습니다. 우리는 모니터링 도구를 사용하여 네트워크 사용자가 그에 따라 확인 횟수를 조정할 수 있도록 지원했습니다.

네트워크 감독용 오픈소스 프로그램 완성 (51% 공격 감지)

Geth 클라이언트 용 ELK 스택 구성을 완료

EVM / 컴파일러 팀

[스푸트니크 –VM]


Geth 클라이언트의 기능별 구성을 갖춘 다용도의 동적 경로 API를 구현.Multi-Geth EVM에서 구현 된 통합 레이어SputnikVM은 모든 ETH 테스트 슈트 하드 포크를 통과 완료 아직, Atlantis를 활성화하기에 충분하지만 더 많은 테스트가 필요함.Repo HouseKeeping (Jenkins의 CI 설정, 오래된 코드 포맷, Rust 2018 에디션 용 코드 업데이트)EVMC API에서 바인딩을 구현하고 SVM에 대한 호환성 문제를 평가

Just-In-Time 컴파일러 (JIT)

서브 시스템 완성 : 가스 계량, 예외 처리 및 런타임 매니저 (모든 서브 시스템에 대한 단위 테스트).외부 인터페이스 하위 시스템 (function signature provider)의 1 단계 완료Wrapper API 구현 (인라인 선언 타임 LLVM 생성용)

Unexpected:

속성 및 내장 관리자를 작성 (잉크 웰과 llvm-C API에서 서포트 부족)LLVM 컨텍스트 할당 해제와 관련된 메모리 누수 발견싱글 톤에 의존하지 않는 명확한 평생 모델을 갖기 위해 JIT 리팩터링 작업 시작

LLVM EVM 백엔드:

LLVM EVM 백엔드 파이프 라인 및 워크 플로우 (LLVM 가상 레지스터를 스택 작업으로 변환하는 stackify pass 포함)를 설계했습니다. 예비 LLVM 코드 생성기 구현. 설계된 EVM 코드 생성기 최적화 프레임 워크.

Tooling Team Etherlog

ethereum 클라이언트, ElasticSearch, Logstash 및 Kibana를 실행할 초기 ELK 기반 로깅 설정 완료 ETC 네트워크의 상태를 모니터링하기위한 완벽한 대시 보드를 미리로드합니다.

OpenRPC

2018 년 4 월에 JSON-RPC를 사용하는 대부분의 응용 프로그램 개발자는 기본 계층에서 높은 수준의 소프트웨어 품질에 대한 강한 요구가 있음을 확인했습니다. 우리는 Open API 및 gRPC와 같은 솔루션을 조사했지만 적절한 해결책은 아님을 확인했습니다. . Ethereum Classic뿐만 아니라 다른 모든 블록 체인을 Open API 및 gRPC로 가져 오는 툴에 대한 아이디어를 만들었습니다. 지금까지 우리는 “대규모의 변경 없이” 칭찬할 만한 툴을 만들었습니다.

OpenRPC 사양 1x 출시 ECIP-1053를 이더리움 클래식만이 아닌, 블록체인 전체 생태계 툴링을 높이기 위해 OpenRPC 개선 제안을 Bitcoin 및 Ethereum에 제공했습니다.

BIP / EIP



[목업 서버]


OpenRPC 문서에 정의 된 메소드에 응답 할 JSON-RPC 백엔드를 제공하기 위해 모의 서버 를 완성했습니다 .

이렇게하면 완벽하게 작동하는 서버가 테스트됩니다.


[Generator Client]


생성자 클라이언트 - sdk (결국) 모든 언어를 완료했습니다 . 현재 Rust, TypeScript 및 JavaScript를 지원합니다. OpenRPC 문서가 주어지면 클라이언트를 다음과 같이 단순하게 생성 할 수 있습니다.


[Playground]

OpenRPC 용 웹 IDE 완성 브라우저 내 편집기와 OpenRPC Meta 스키마 및 문서가 결합되어 대화식 문서, OpenRPC 문서 편집 환경을 제공합니다. https://playground.open-rpc.org/ 에서 시험해 볼 수 있습니다 .

[Docs React]

OpenRPC 문서 용 React Docs 구성 요소 완성 Docs React 는 주어진 OpenRPC 문서에 대한 문서를 렌더링하는 반응 구성 요소입니다.

사용 예시



[Jenkins] Windows, Linux 및 OSX에서 로컬로 작업하면서 여러 플랫폼에 대한 도구를 빌드 할 수 있도록 Jenkins 설치를 완료했습니다. 또한 AWS에 쉽게 배포 할 수있는 테라 폼 구성이 포함되어 있습니다.

[Ethash Client Setups ] 광부 클라이언트를 사용할 준비가되었습니다 . 원하는 풀 서버와 지불 주소로start_miner.bat 파일을 편집함으로써, 광부는 쉽게 ETC 마이닝을 시작할 수 있습니다.

분기별 마일스톤

[2 분기]


Client :

Multi-Geth 내의 서비스 (OpenRPC) 구현EWASM의 함의 분석


EVM :

SVM 버전 0.11 및 0.12 출시스푸트니크 –가상머신 개발 개선; 최신 SVM으로 업데이트. 통합 테스트, 'miri'테스트로 실험 예정EVMC 결합 안정, EVMC에 대한 SVM 지원을 프로토타입 작업


JIT :

완벽한 외부 (sload / store 등), 메모리, 스택 및 256 비트 산술 서브 시스템.메인 컴파일러 코드 생성블록 체인 액세스가 필요없는 외부 콜백을위한 도우미 하위 시스템을 구현


LLVM EVM :

LLVM 프레임 워크의 동작 구현LLVM에서 EVM 최적화계약 언어 프론트 엔드와 통합 (Vyper , Solidity)설정한 Solidity 컴파일러의 성능 중 90 % 이상 달성 Tool 개발:서비스 실행의 완벽한 구축.ETC 클라이언트의 OpenRPC 탑재Jade DApp 프레임 워크의 환경 업그레이드.


교육:

개발자 리소스 및 문서를위한 오픈 소스 개발 포털을 시작


[3분기]

클라이언트: 아틀란티스 포크 업그레이드.


EVM 아틀란티스 포크 업그레이드.


JIT LLVM EVM


Tool 다중 네트워크 탐색기 스마트 계약 도구. 미디어의 ETC Labs Core ETC Labs는 Ethereum 가상 머신과의 호환성을 소개하기 위해 Atlantis 하드 포크 제안서를 작성 중입니다 ... bitcoinexchangeguide.com



ETC에 더 관심이 있으신가요? 우리는 Ethereum Classic의 더 빠른 개발을 위해 여러분의 도움이 필요합니다! 참여 방법을 알아보세요.


ETCLabsCore팀은 현재 리쿠르팅 중입니다  https://www.linkedin.com/jobs/view/1144896854/

5 views

Recent Posts

See All

ETC 피닉스 하드포크 업데이트 6월 1일 진행 예정

이더리움 클래식 메인넷은 다가오는 10.500.839블록에서 피닉스 하드포크를 활성화합니다. 예상 시점은 2020년 6월 1일입니다. 이번 하드포크는 아틀란티스, 아가타에 이어 이더리움 클래식의 세 번째 업그레이드입니다. 피닉스 하드포크 이후 이더리움 클래식과 이더리움은 완벽하게 호환되며 동일한 기능을 갖게 됩니다. 이번 하드포크의 주요 목표는 이더리움 이

LLVM을 사용하여 ETC 스마트 컨트랙트 언어 만들기 - 기타주제

LLVM IR 코드 생성 allocatea 명령은 현재 기능의 메모리 프레임에 32바이트 프레임 객체(기능-로컬 객체)를 할당. 메모리 공간 인덱싱 보통 EVM 스마트 계약 ABI 정보를 내보내는 것은 언어에 달려 있다. 하지만 우리는 계약서 ABI를 방출하기 위해 LLVM IR 패스를 작성할 수 있다. 제한 사항 EVM은 결정적 실행을 위해 설계되었습니다