WEMIX3. 0 메인넷 1분기 업데이트(v0. 위믹스 미디엄 :. 안녕하세요, 위믹스팀입니다. 지난 10월 20일 출시된 WEMIX3. 0 메인넷은 탈중앙화, 보안성, 확장성을 기반으로 설계된 고성능 오픈소스 프로토콜입니다.
23 Mar 2023, 01:46
WEMIX3.0 메인넷 1분기 업데이트(v0.10.2)
위믹스 미디엄 :
안녕하세요, 위믹스팀입니다.
지난 10월 20일 출시된 WEMIX3.0 메인넷은 탈중앙화, 보안성, 확장성을 기반으로 설계된 고성능 오픈소스 프로토콜입니다. 위믹스팀은 위믹스의 성장과 확장에 발맞추어 WEMIX3.0 메인넷의 지속적인 업데이트를 실행하여, 유저와 생태계 개발자들을 위한 안정적이고 풍부한 서비스를 제공하기 위해 노력하고 있습니다. 이의 일환으로 앞으로 진행될 1분기 메인넷 업데이트 관련 깃허브가 오픈되었으며, 상세 일정 및 내용은 다음과 같습니다.
> 업데이트 안내
- 업데이트 일정 : 3월 23일(목) 15:00 KST - 3월 30일(목) 15:00 KST
- 업데이트 기간 중에도 모든 서비스를 원활하게 이용하실 수 있으며, 업데이트 일정은 상황에 따라 변동될 수 있습니다.
- 업데이트 서비스 : WEMIX3.0 메인넷
- 업데이트 효과 : 새로운 기능 추가와 기존 기능 개선으로 편리성 및 효율성 향상, 이더리움의 최신 업데이트에 따라 호환성 제고 등
- 외부에서 운영 중인 End Node들은 업데이트가 필수 사항이 아닙니다.
> 업데이트 내용
기능 추가
1) 높은 가스가격을 우선으로 정렬된 트랜잭션이 블록에 포함되도록 변경 (작업링크)
- 작업내용: 블록 생성 시 포함시킬 트랜잭션을 가져오는 작업을 1회만 하도록하여 블록에 포함할 트랜잭션을 높은 가스가격을 우선으로 정렬할 수 있도록 변경
- 작업사유: 블록 생성 시 가능한 많은 트랜잭션을 블록에 포함시키기 위해 생성 시간동안 트랜잭션을 가져오는 작업을 수 회 반복하므로 가스가격 순서의 정렬이 이루어지지 않음
2) 'triesInMemory' 값을 변경할 수 있도록 CLI 플래그에 추가 (작업링크)
- 작업내용: 실행머신의 메모리를 이용하여 block state 정보를 캐싱하는 범위 옵션인 'TriesInMemory' 값을 설정하여 변경가능하도록 CLI 플래그에 추가
- 작업사유: 'TriesInMemory' 값이 128 blocks로 고정되어있으므로 archive 설정이 아닌 노드의 경우 약 2분 전의 블록까지의 상태만 조회가 가능하였음 (이전 블록 시점 밸런스 조회 등에 영향)
3) 'eth_getReceiptsByHash' JSON-RPC API 추가 (작업링크)
- 작업내용: 특정 블록 내 모든 트랜잭션에 대한 receipts 정보를 한번에 조회할 수 있는 'eth_getReceiptsByHash' JSON-RPC API 추가
- 작업사유: 기존 트랜잭션의 Receipts 조회 API의 경우 각 트랜잭션 건 단위로 조회해야하므로, 블록 단위 등 다수의 Receipts 조회를 위해서는 다수의 개별 RPC를 호출해야하는 번거로움이 있으므로 개선 필요
4) BP 노드를 안전하게 종료하기 위한 스크립트 추가 (작업링크)
- 작업내용: BP노드의 어플리케이션 수동 종료/재시작 시, etcd 리더 상태이거나 블록 마이닝이 진행 중일 수 있으므로 네트워크에 영향 없이 안전하게 종료하기위한 스크립트 추가
- 작업사유: etcd 리더 상태거나 블록 마이닝이 진행 중일 때 어플리케이션이 종료되면 다음 대상이 선정될 때까지 일시적으로 블록 마이닝이 중단되는 현상이 발생할 수 있으므로, 대상을 옮기거나 작업이 완료될 때까지 대기하는 안전한 종료처리 필요
변경
1) TxLookupLimit 플래그의 기본값 변경 (작업링크)
- 작업내용: 트랜잭션 정보 조회가능 범위 설정값인 txlookuplimit의 기본값을 위믹스 체인을 기준으로 1년 기간인 (31,536,000 blocks)로 변경
- 작업사유: TxLookupLimist 플래그의 기본값이 ethereum 체인을 기준으로한 1년(2,350,000 blocks)으로 설정되어있어 위믹스 체인의 블록생성시간 기준으로는 약 27일간의 블록내 트랜잭션만 상세 조회가 가능하므로 변경 필요
2) rocksdb로의 빌드 시 PORTABLE 플래그를 활성화 함 (작업링크)
작업사유: 빌드머신과 실행머신 간의 환경차이로 인한 일부 크래시 오류를 방지하기 위해 rocksdb로의 빌드 시 PORTABLE 옵션을 활성화하여 빌드 하도록 변경
3) 부트노드가 etcd 클러스터를 자동으로 생성하지 않도록 변경 (작업링크)
작업내용: bootNode(bp1) 구동 시 etcd 정보가 없다면 신규 클러스터를 자동으로 생성하도록 하는 로직을 제거
작업사유: bootNode(bp1) 장애 후 etcd 정보 삭제 및 복구 시, 해당 로직으로 인해 기존 etcd 클러스터에 참여하지 않고 새 클러스터를 생성하므로 제거 필요
업데이트
1) Ethereum Ploitari(v1.10.17) release 버전에 적용된 내용을 반영 (작업링크)
- 작업내용: 이더리움 Github
2) Ethereum Sharblu(v1.10.18) release 버전에 적용된 내용을 반영 (작업링크)
- 작업내용: 이더리움 Github
하드포크인 메인넷 Phase2 일정은 올 여름으로 예상되며, 추후 별도 공지하도록 하겠습니다.
감사합니다.