안녕하세요 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를 수정; 저장소를 최적화하고 토큰 저장소를 제거하여 개선.