2022 동계 모각소 

아올다 활동 내용 및 발표 자료

<팀원>

소프트웨어학과 조성연

소프트웨어학과 이찬주

소프트웨어학과 오동재


<팀원별 활동내용>

조성연

5회차의 모각소에서 저는 Aolda의 SingleNode를 구현하였습니다. 

SingleNode 구현에서 가장 필요한 도전요소가 go에서 js 함수 파일을 실행 할 수 있는 go기반 js-cli와 경량화된 db였습니다. 

이를 위해 모각소 기간 동안 go 내장 os package와 go기반 경령화 DB인 boltDB를 공부하며 SIngleNode를 구현하였습니다.

이찬주

팀플을 통해 이뤄낸 점은 SingleNode를 구현한 부분과 모각소 활동을 위해 제출했던 회의 내용들이고, 나머지는 회의가 끝난 자투리 시간에 혼자서 자습 형태로 이뤄냈습니다.

회의는 

첫째날, chainlink 백서 문서 정리 및 프로젝트 구조 설계

둘째날, 단일 노드에 대한 각자의 코드리뷰

셋째날, 단일 노드 구현을 위해 쓰인 함수들의 성능 비교 및 내용 정리

넷째날,  go-lang boltDB에 대한 논의와 합의 알고리즘 정리

다섯째날, 분산 노드 운영을 위한 역사와 기초 지식 정리로 진행하였습니다.

모각소 시간에 go-lang, react, typescript의 자습의 활동을 시작부터 끝까지 다 한 것은 아니지만, 각 일부분들을 모각소에서 진행하였기에 활동내용에 기재하게 되었습니다.

오동재

Ethereum Event log의 storage의 각 slot이 어떤 값을 저장하는지, dynamic data를 32바이트단위로 관리되는 storage에 담는 방식에 대해 자세히 탐구할 수 있었습니다. 

또 go와 js를 연결지으면서 코드 동작방식에 대해 공부할 수 있었습니다.


<팀원별 최종성과>

조성연

go기반 js-cli 구현을 위해 필요한 go os package

> https://pkg.go.dev/os

경령화 DB를 위한 boltdb

> https://github.com/boltdb/bolt

이찬주

SingleNode 구현을 위한 go-lang 자습

- https://viridian-raft-e8d.notion.site/Go-lang-0ed685279046404498ab2eb06664123e

Javascript와 go-lang을 이용한 SingNode 구현

- golang의 exec를 이용한 compiler 구현

> javascript 기반 파일 실행 스크립트 작성

> python 기반 파일 실행 스크립트 작성

> https://github.com/Aolda/SingleNode

홍보 웹사이트 구현을 위한 react, typescript 공부

- react: https://viridian-raft-e8d.notion.site/Reat18-afe0e16d8add491080076eac1a4c25da

- TS: https://viridian-raft-e8d.notion.site/TS-4c6215e2ca06405493ad24445c79a090

오동재

Ethereum storage, memory slot에 대한 이해도 증진 및 정리

- https://surf-hook-eca.notion.site/MEMORY-499fcdded22e4f5696169620f8d4deee 

JavaScript 동작 방식 공부

BoltDB, V8 엔진을 이용한 Go랭에서 js파일 실행, 컨트랙트 이벤트 리스너, 컨트랙트 함수 호출 기능을 포함한 SingleNode 코드 작성

> https://github.com/Aolda/SingleNode


<팀원별 향후계획>

조성연

구현한 SingleNode를 분산노드로 사용할 수 있게 분산노드 구현에 대해 공부할 것 입니다. 

적절한 합의 알고리즘의 레퍼런스를 찾고, 이를 Aolda에 맞게 수정하며 최대한 경량화 된 Aolda를 만들 예정입니다. 

이찬주

가장 먼저 현재 구현한 SingleNode의 DB 속도 비교를 해보고자 합니다. 

그 후 분산 노드 구현을 위해 container와 쿠버네티스에 대해 더 자세히 알아보고 분산 노드를 구현하고자 합니다. 

또한 합의 알고리즘 설계를 위한 각종 논문 리뷰 및 정리를 할 것입니다. 마지막으로 홍보 웹페이지를 베포하는 일을 할 것 입니다. 

오동재
Master 없는 분산 노드 구현에 대해 공부하고 데이터 합의와 DB동기화에 대해 구현하겠습니다. 

또 합리적인 토크노믹스를 구현해 아올 코인의 가치가 인플레이션이 일어나지 않도록 코인 발행량 등을 생각하고 구현하겠습니다.


<발표자료>