6월 30일 주간기술보고 번역 및 해설


#1

주간 하이라이트

  • 다이달루스

지난주 엔터키를 누르면 폼을 제출하는 UI 기능을 완료했습니다. 또한 엔터키를 눌러야할 버튼이 활성화되어 강조해보이도록 합니다.

다이달루스 IPC (프로세스간 상호 통신 프로토콜) 설정상의 개선작업을 계속했고, 각기 다른 네트워크에서 (테스트넷과 메인넷) 지갑을 복사해서 구동할수있도록 지원할수있게끔 합니다. 이기능은 카르다노 백엔드를 실행하기위한 설치관리자단에서 포트를 구성가능하도록 하는 내용도 포함되어있습니다. 설치프로그램에서 사용가능한 포트를 추천해주고, 내가 지금 지갑 백엔드에서 사용중인 포트를 보여줍니다.

(포트 설정은 생각보다 중요합니다. 네트워크의 통신 터널링을 구성하는 최말단 레이어가 포트인데, 내 PC에서 다이달루스를 사용할때 다른 프로세스가 사용하려고 하는, 또 기본 설정된 포트를 선점할 수도있으므로 포트는 변경할 수있게 바꿔줄 수있어야 합니다.)

유지보수 차원에서 다이달루스 업데이트 메커니즘에 대한 승인테스트를 추가했습니다. 새 버전이 출시되는 경우 지갑에서 “새 버전 설치가능” 알림 메세지가 뜨고 ‘승인’ 또는 '다음에 설치’를 선택할 수 있을 것으로 보입니다.
다이달루스의 UI 라이브러리인 React-Polymorph를 활용해 자동완성 기능이 확장되었습니다. 입력필드에서 엔터키, 스페이스바, 탭키 세 가지 키를 선택입력할 수있도록 지원합니다. (입력 필드에서 리스팅된 선택 목록을 키보드로 조정할 수있게 되었다는 내용입니다.)

기존 NPM (자바스크립트 패키지 관리자) 에서 Yarn 패키지 관리자로 전환하기로 했습니다. (다이달루스 지갑은 상당부분 자바스크립트 기반으로 소스코드가 이루어져있기 때문에 큰 규모의 프로젝트에선 자바스크립트 소스코드를 관리하는 패키지 매니저를 따로 두는 경우가 많습니다. 그런 관리도구를 바꿨다는 내용입니다)

지갑 백엔드

지난 주, 공식사양을 바탕으로 새 지갑을 만드는 작업을 계속합니다.

트랜잭션 생성을 위한 선택입력 (input selection) 구현작업이 완료되었습니다.
그 외에, 선택입력 기능을 다른 지향점 (그룹구성, 수수료, 짧은 주소) 을 두고 테스트해보았습니다.

또, 시드 데이터로부터 지갑복구하는 기능 구현을 계속 하고있습니다. 특히, 전담 인력이 acid-state (트랜잭션의 상태) 에서 이전 상태의 작업을 wallet worker (프로세스로 실행되는 작업프로그램 단위로 보입니다. ) 로 통합하는것에 집중했습니다.
현재는 시드 데이터 단계에서 복원에 필요한 API코드 수정중이고 예외처리 및 자원 처리를 합니다.

또, 사양문서의 섹션 9에 따라 블록 메타데이터 에 주안점을 두었습니다.
(https://cardanodocs.com/technical/formal-specification-for-a-cardano-wallet/
카르다노 월렛 공식 사양문서에 따르면 섹션 9에 tracking metadata, 즉, 메타데이터의 추적에 대해 정의해두었는데요, 메타데이터는 구현해 놓은것 그 이상의 데이터를 추적할 수있어야한다고 못박아두었습니다. 세부적인 데이터를 추적하고, 필요한 데이터를 롤백하는 등의 행위에 그 키가 되는 데이터가 메타데이터이므로 중요하게 다루고있습니다.
)

이와 관련하여 개발자가 이력 추적및 쿼리지원에 진전이 있다고 보고하고 다음주에 끝낼것 같다고 합니다.

네트워킹

지난주 블록 검증 속도 개선을 계속 했습니다.
개발자는 블록과 헤더를 디코딩 (암호화된 블록 헤더 문자열을 복호화해서 읽을 수 있도록 하는것 ) 하는 테스트를 했고, 테스트 결과가 양호했으므로 해당 카르다노 SL 생성자의 코드 기반을 업데이트하고 벤치마크 테스트도 잘 이루어지고 있습니다.

카르다노 탈중앙화 위임 연구

  • 연구 및 설계

인센티브 연구 및 설계를 하고 있는데, 업데이트 공식대로 바람직한 풀(pool desirability) 이 제대로 수렴되지 않은 이유를 찾는 중입니다. 지난 주말에 발견한 바로는 시뮬레이션 코드에 미미한 버그 하나에 따른 결과라고 하네요. 주말 내내 여러 변수를 조정해가면서 일요일에 만족할만한 결과를 얻을 수있었다고 합니다. 다시 개선된 공식을 적용해서 시뮬레이션 합니다.

GOGUEN

  • 스마트컨트랙트 언어 및 가상머신
    Plutus와 Marlowe 연구에 매진하고잇다고 합니다.
    (이 연구는 기초 연구라 상당히 시일이 걸릴 것으로 생각되며, 앞으로도 이런 식으로 보고가 올라올 가능성이 높습니다. 벌써 몇주째 이 한 줄로 때우네요 ㅎㅎ)

  • 최종사용자 및 외부개발자
    2주 전에 온 새 프로덕트 매니저는 지난 주 K/IELE(지갑, 테스트넷 상태)의 작업 지침을 제공하고 난 뒤, 이제는 다른 영역까지 점진적으로 방향성과 계획을 제공하려고 합니다. (최종사용자 및 외부개발자의 범위에 한해)

테스트넷

지난 주 IELE 테스트넷을 위한 테스트를 시작했습니다. 테스트넷을 위한 웹사이트 및 컨텐츠 제작을 열심히 하는 중입니다.

기타 등등

  • 하드웨어 월렛

나노레저 백엔드API를 구축하고 기존 지갑 배엔드를 활용해서 단위 및 통합 테스트를 수행합니다. 계속 버그를 찾고 있습니다.

  • 다이달루스 앱 플랫폼

지난주 권한 시스템 테스트를 마쳤으며 모든 관련 정보와 지침을 앱 플랫폼 개발자 가이드에 추가했습니다.
앱 플랫폼 도메인 모델링을 마쳤고, 필요한 경우 쉽게 추출작업하도록독립형 모듈로 도메인 계층을 구현하는 작업을 시작했습니다.
도메인은 계층 구조로 모델링되어서 가변적이고 가시화된 형태로 보입니다. 또, EventEmitters (이벤트 발신하는 프로세스 ) 를 사용하여 동기화할 수있습니다.
Redux (자바스크립트앱의 상태를 추적하는 도구) 를 MobX state tree로 대체하고자 검토중입니다.
(검토하는 이유를 설명했지만 굳이 알 필요는 없을듯 합니다.)

공고

IOHK는 프론트엔드 개발자, 거래소 경력 엔지니어 / 코디네이터, SW 테스트 엔지니어, 경력있는 이벤트 관리자, 테스트넷 커뮤니티 관리자, 개발 경력이 있는 관리자 등 함께 일할 인재를찾습니다. 자세한 내용은 IOHK 채용 정보 페이지를 참조하십시오.
(얼마나 더 충원할 생각인지 궁금하군요 ㅎㅎ)


카르다노 주간기술 보고 해설이 업데이트 되었습니다. (feat. Aeropirate)
카르다노 주간기술 보고 해설이 업데이트 되었습니다. (feat. Aeropirate)
#2

항상 감사합니다~ 잘 보고 있습니다 ^^