Skip to content

YGGDRASH Release v 0.1.0

Compare
Choose a tag to compare
@popldo popldo released this 28 Feb 08:40
· 1742 commits to develop since this release
3e26d29

Overview

  • Modified Implementation and Development method of Contract
  • Improvement, Stablization, and Functional Integration of the consensus algorithm
  • Changes in Network Connection method and Node Configuration

Branch & Genesis

  • Modified Branch Chain specification.
  • Implemented to setup and execute multiple contracts for each Branch Chain.
  • Added Genesis Builder.

Consensus

  • Improved stability of the consensus algorithm for master node (Validator).
    • Exception handling.
    • Improved stability of the PBFT algorithm & memory usage.
  • Integrated the PBFT consensus algorithm with the general node module.
    • Working the consensus process with profile configurations.

Contract

  • OSGi framework integration in contract
    • Contract call in OSGi Bundle
    • Added the contract execution logic
  • Rebuilt Stem contract
  • Changed Contract Test process

Node/Network

  • Implemented block, transaction request and response parallelism.
    • Asynchronous broadcast and synchronization requests/responses
  • Implemented SyncManager.
    • CatchUp Sync
    • Propagable block size limits
  • Changed to organize the node network for each branch.
  • Implemented Health check for closest peers.
  • Refactored the network and peer package.
  • Added node and network test code.
    • Created a node test for each role.
    • Created a node discovery test.
    • Created a Node network configuration and block/transaction propagation test.
    • Test after creating and deploying a docker-compose.yml for node network testing local and test server

Test/Infrastructure

  • Setup an additional internal infrastructure.
    • Intel Xeon CPU, GTX GPU system for testing.
  • Tests for the consensus algorithm
    • Tested 21 validator nodes for algorithm stability.
  • Tests for block broadcasting
    • Tested 100 nodes for broadcasting

Overview

  • Contract 실행 및 개발 방법 변경
  • 컨센서스 알고리즘 개선 및 안정성, 기능 통합
  • 네트워크 연결방법 및 노드 구성 변경

Branch & Genesis

  • 브랜치체인 스펙 변경
  • 각 브랜치체인별 다중 컨트렉트 설정 및 실행
  • 제네시스 빌더 추가

Consensus

  • 대표노드(Validator) 합의 알고리즘 안정성 개선
    • 예외 사항 처리
    • PBFT 합의알고리즘 및 메모리 사용 안정성 개선
  • 일반노드에 합의알고리즘(PBFT) 기능 통합
    • Profile 설정으로 합의 기능 동작

Contract

  • Contract with OSGI
    • 컨트랙트 코드 추가
    • 컨트랙트 실행로직 추가
    • 번들을 위한 모듈 분리작업 (진행중)
  • Stem contract 재구축
  • Contract 테스트 방법 변경

Node/Network

  • 블록, 트랜잭션 요청 및 응답 병렬 처리
    • 비동기 방식의 브로드캐스트 및 동기화 요청/응답
  • SyncManager 구현
    • CatchUp sync
    • 전파 가능한 Block 크기 제한
  • 브랜치 별 노드 네트워크 구성
  • 주변 피어 health check
  • 네트워크 및 피어 패키지 리펙토링
  • 노드 및 네트워크 테스트 작성
    • 역할별 노드 테스트 작성
    • 노드 디스커버리 테스트 작성
    • 노드 네트워크 구성 및 블럭 및 트랜잭션 전파 테스트 작성
    • 로컬, 테스트 서버 테스트용 노드 네트워크 docker-compose.yml 작성 및 배포 후 테스트

Test/Infrastructure

  • 내부 테스트 환경 추가 구축

    • Intel Xeon CPU 및 GTX GPU 테스트 시스템
  • 합의 알고리즘 테스트

    • 대표노드간(21식) 합의 알고리즘 안정성 테스트
  • 블록 전파 테스트

    • 일반노드간(100식) 블록 전파 안정성 테스트