[IOST] Weekly Tech Update
안녕하세요 IOST Korea입니다.
오늘은 주간 테크 업데이트를 전달해 드립니다.
격주간 IOST 업데이트와 더불어서 기술적인 업데이트에 관해서는 주간으로 진행사항을 전달해드릴 예정입니다.
IOST의 기술개발 상황에 대해서 궁금하신 분들은 iost.invite.io 를 통해서 개발자 슬랙에 가입해 질문해 주시기를 추천드립니다.
그럼 한 주간 어떠한 개발진척이 있었는지 아래 내용을 통해서 확인해보세요.
Consensus
Design
메인넷 맵핑 계획 설계 완성 - 완료
Development
- 기초 계정 추가
- 제네시스 블록의 리소스 초기화 수정
- GAS 계약은 이제 다른 사람으로부터 예금 허용. 가스 계약에 RAM 수수료 비용이 듬.
- RPC 완료. accountInfo 및 contractStorage에 대한 인터페이스 개선.
- tx가 롤백되지 못하게하는 버그를 수정. JavaScript 압축 테스트 스크립트 수정.
- RPC에 tx 예비 검사를 추가하여 사용자가 더 나은 오류 콜백을 받게 함.
- limitAmount를 iwallet에 추가
(1~7 완료)
iwallet을 재구축하고 SDK를 독립적으로 만들기 시작 - 30% 완료
iost.bonus 및 iost.issue 계약 통합; Contribution Point에 대한 계산 계획 및 테스트 스크립트 완성
투표 계약에 몇 가지 조회 인터페이스 추가
회전 계약을 수정하고 매개 변수를 다른 계약의 매개 변수와 일치 시킴.
float64.js 및 int64.js의 일부 기능 업데이트.
향후 개발을 위한 헬퍼 기능 중 일부 추가
(9~13 완료)
14.연속적인 블록 생성 코드를 "develop(개발)"에 합침 - 완료
- RPC 인터페이스를 재설계하고 실행함 - 80% 완료
16.Merkle Tree (머클 트리, 해시 트리)루트 해시는 이제 BlockHead의 Tx 및 TxReceipt 모두에 사용됨. DB 저장 공간을 절약하기 위하여 BlockHead에서 GasUsage를 제거 - 완료
Debugging
- 기본 계약 유효성 검사 실패 문제를 해결
- 오류 발생시 트랜잭션이 반복적으로 실행되도록 허용하는 문제를 수정
- 계정을 만드는 종단 간 프로세스를 위한 iserver + RPC + iwallet 통합을 완료
- 기본 트랜잭션 해시가 업데이트되지 못하게하는 문제를 수정
- 블록 검증이 무작위로 실패 할 수 있는 문제를 수정
- iserver가 초기화 될 때 공황 문제를 수정; 이것은 자원 경쟁 때문
- JavaScript 계약이 빈 문자열을 반환할 때의 충돌을 수정
- 신규 해시 계산 관련 버그 수정
- BlockBaseTx 검증 문제 프로파일링
- 거래 게시시 불충분한 가스로 인한 문제 수정
- db가 성공적으로 재부팅되지 않는 문제 수정
- 기본 tx 확인 실패 문제 수정
- 잘못된 증인 오류보고를 수정; 사소한 버그를 수정하고 새로운 idevops를 사용하여 코드를 테스트
(1~13 완료)
플랫폼 및 운영 테스트
전송 테스트 사용 사례를 코딩
a. 종단간 테스트 : itest를 통한 iserver 로컬 테스트 수행
b. CI : (a) 새로운 제네시스에 적응하고 k8s에 iserver와 itest를 배치; (b) 자동화 된 스크립트 개발을 종단 간 방식으로 테스트; (c) 종단 간 방식으로 CI 환경 튜닝 테스트
c. Ops : (a) 이전 AWS 클러스터의 리소스 해제; (b) 라이브 환경 로깅 수집 정교화smtp 컨피겨레이션
eks에 ek 구축, 예제 testnet에 f를 구축; ingress 컨피겨레이션
풍부한 컨피겨레이션 최적화 및 클러스터 이름별 샤딩 적용
로그 파일 크기에 따라 eks 및 회선에 네임 스페이스별로 샤딩 적용
사용자가 고정 컨피겨레이션 파일 업로드를 지원하도록 testnet 및 idevops를 업데이트
로그를 큰 파일 크기로 남겨 두는 문제 수정
(1~7 완료)
VM
디자인
- 메인넷 매핑 계획 설계 완성 - 완료
R&D
- JavaScript를 이용한 해시 계산 완성
- tx 전송 완성
- 계좌 스마트 계약서의 권한 확인(허가) 완성
- 다중 레이어 서명에 대한 유효성 검사 추가
- VM은 현재 블록 및 tx 정보에 자동으로 매핑하기 위해서 "helper"유형 상수를 추가
- V8VM가 메모리 누수 문제 해결
- V8VM 프로토타입에 가스 계산 추가
- 가스 테스트 및 다른 가스 모듈과의 호환성 추가
- Finished WAL 하이레벨 코딩 완성
- WAL 코드 테스트 및 해당 코드 디버깅 완료
- V8VM에 메모리 제한 추가
- 사용자별 amountLimit을 Tx에 추가하고 amountLimit 항목에 대한 합법적 인 검사도 추가
a. "transfer(전송)"에 메모 속성 추가
b. "+"및 "==="와 같은 문자열 유형의 특수 작업에 가스 비용이 추가
c. JavaScript 함수 반환 값에 대한 최적화 작업 및 테스트 수행
(1~12 완료)
Debugging(오류수정)
- V8VM 세그먼트 오류를 디버그했지만 복제는 실패. 기능 및 스트레스 테스트 합격.
- 동기화를 위한 테스트 코드를 업데이트하고 테스트는 100%로 통과. 그러면서 한, 두개의 버그 수정. 토큰 721 ABI를 수정; 저장소를 최적화하고 토큰 저장소를 제거하여 개선.
- VM의 오류 처리를 mvccdb로 수정
- 계약서가 성공적으로 패키지화되었을 때 오류가 다시 발생하는 문제 수정
(1~4 완료)
Github : http://github.com/iost-official
슬랙 : http://invite.iost.io
카카오톡 : http://bit.ly/이오스트카톡_1
짱짱맨 호출에 응답하여 보팅하였습니다.