안녕하세요 IOST Korea입니다.
오늘은 주간 테크 업데이트를 전달해 드립니다.
격주간 IOST 업데이트와 더불어서 기술적인 업데이트에 관해서는 주간으로 진행사항을 전달해드릴 예정입니다.
IOST의 기술개발 상황에 대해서 궁금하신 분들은 iost.invite.io 를 통해서 개발자 슬랙에 가입해 질문해 주시기를 추천드립니다.
그럼 한 주간 어떠한 개발진척이 있었는지 아래 내용을 통해서 확인해보세요.
Consensus
Design
경제모델디자인에 관한 도큐멘테이션 완성- 완료
Development
- "base(기본)"계약 관련 테스트 유즈케이스 추가 - 완료
- "base(기본)" 및 "vote(투표)" 계약을 위한 컨센서스 레이어에 적응 - 완료
- "base(기본)"계약을 제네시스 블록에 추가 - 완료
- "callWithAuth" 신규 인프라 및 "iost.token" 고정 소수점수(fixed point numbers, 2진법 표시의 데이터로, 가정 소수점의 위치를 고정하여 수치를 표시한 데이터)를 위하여 RAM 및 GAS 계약 지원 추가 - 완료
- JavaScript SDK에서 보다 쉽게 호출 할 수 있도록 RPC에서 "execTx" 및 "sendTx" 인터페이스를 수정 - 완료
- iserver의 종단간 출시 후 계약 요청 테스트를 시도 중; RPC 및 iwallet 개선 - 20%
- 컨센서스 레이어에 "vote(투표)" 계약 지원 추가 - 완료
- 계약에 대한 조직화된 요청 인터페이스 지원 추가 - 완료
- iserver가 제대로 시작되지 못하게 하는 문제 해결 - 완료
- "issue(이슈)" 및 "bonus(보너스)" 계약을 제네시스에 추가 - 80%
- BlockHead에 GasUsage 기여점 계산 추가; 각 블록은 이전 블록의 기여도를 계산함 80%
- "develop(개발)"할 블록을 지속적으로 생성하기 위한 기능 통합 - 완료
- 블록헤드의 시간 단위를 나노 초(nanosecond) 로 변경 - 완료
- 음의 고정 소수점수(negative (fixed point numbers, 2진법 표시의 데이터로, 가정 소수점의 위치를 고정하여 수치를 표시한 데이터) 뿐만 아니라 경계 밖의 체크 추가 - 완료
- 지연된 트랜잭션에 대한 나머지 개발 및 테스트 작업 완료 - 완료
- 블록 생성 및 검증을 위한 트랜잭션 시간 처리 추가 - 완료
- 현재의 해시 계산 수행에서 경고를 발견. 해시를 계산하기 위한 새로운 인코딩 메커니즘을 개발 - 완료
Test
- 연속 블록 생성 테스트 - 완료
- 블록 생성을위한 최적의 시간 계산 및 테스트 - 완료
- "base(기본)" 및 "vote(투표)"계약에 대한 통합 테스트 수행 - 20%
- RAM 계약 테스트 완료 - 완료
- 투표 계약 테스트 완료 (일반 계약 및 퍼블리셔 계약 포함) - 완료
Debugging(오류수정)
- 기본 계약 및 투표 계약의 버그 수정 - 완료
플랫폼 시험 & 운용
- itest 관련 - 완료
a. 키 생성
b. 신규 인터페이스 (계정 생성, 이전, 계약 설정) 지원 추가
c. (동시에 생성된) 유즈케이스 테스트 계정 추가
d. 지역환경에서의 종단간 테스트
- 허가관리 문제 해결 - 완료
a. ideveops 관련 상세한 개선
b. prometheus(프로메테우스) 및 grafana(그라파나) 마이그레이션
- deploy(배포판, playbook) 재구축; Build 및 Create 컨테이너의 명명 충돌을 해결.
- docker builder(도커 빌더) 완성 및 펜딩 테스트 완료
- eks에 대한 prometheus(프로메테우스) 구축 및 사례 테스트 클러스터 활용.
- prometheus, grafana, eks에 대한 nginx-ingress 구축; ingress 및 pushgateway 컨피겨레이션 및 데이터 푸쉬를 위한 테스트 클러스터 구축.
- grafana 대시 보드 컨피겨레이션, 데이터 백업 및 마이그레이션, 도큐멘테이션
(3~7 완료)
VM
R&D
- callWithAuth 인터페이스를 V8VM에 추가 - 완료
- 스토리지가 빈 값을 반환하면 V8VM은 nil열 대신 NULL을 표시할 것임
- RAM에 gas 소비량 추가 - 완료
- 비용은 이제 가치 유형임; 순 비용도 추가하였음.
- 새로운 정보를 수용하도록 TxReceipt 재구축 - 완료
- 블록베이스 트랜잭션 지원 추가 - 완료
- OpLog Encoder 및 Decoder 모듈의 코딩 및 테스트 완료 - 완료
- WAL 모듈 코딩 시작 - 완료
- Tx 재구축, 퍼블리셔에게 여러 서명 추가, 제네시스 계약 수정, 호스트 및 V8VM 인터페이스 구성, 토큰으로 내는 RAM tolls 지원 추가 - 완료
- 토큰 721에 대한 ABI 완성 - 90%
Debugging(오류수정)
- 예기치 않은 리소스 경쟁을 유발하는 문제를 해결하였다.
- 이는 v8 isolate를 제대로 잠그지 않았기 때문임.
- gdb와 관련된 문제점을 발견: isolate으로 생성된 context는 때로는 비어있을 수 있으며 오류를 야기했다 -이유를 파악중임.
- 우리는 concurrency를 사용하지 않고 있으며, isDone 변수의 커서가 바운드를 벗어나서 thread를 조기에 종료시킬 수 있음 - 이 문제를 분석중임.
- V8VM 로그가 프린트되지 않는 문제 수정.
- pthread로 V8VM 코드를 재구축하고 "std :: thread"를 대체함. C ++ 11 및 CGO와의 호환성 문제를 의심중- 여전히 해결책을 강구중.
- mlj로 서버 테스트 지원. "sync(동기화)"와 관련된 데이터 레이스 문제 해결
- TxReceipt 해쉬 미스매칭 문제 해결
(1~7 완료)
원문링크: https://iost.io/tech-update-nov-13th/
Github : http://github.com/iost-official
슬랙 : http://invite.iost.io
카카오톡 : http://bit.ly/이오스트카톡_1