Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

코스모스 베이직 코멘트 #3

Open
LudiumAgwn opened this issue Jun 6, 2024 · 11 comments
Open

코스모스 베이직 코멘트 #3

LudiumAgwn opened this issue Jun 6, 2024 · 11 comments

Comments

@LudiumAgwn
Copy link
Contributor

240606 코멘트

00 블록체인 베이직 - 일단 보류. 관련 내용 다른 모듈에서도 제작할 가능성이 농후함

00 Golang Basic - 고 언어의 경우 생소하게 느끼는 경우가 많아서 몇 개라도 미션 작성이 필수적이라고 느낌. 말한 것처럼 외부 리소스에서 잘 된 예시가 있기는 하지만 거기서에서 할 거라고 생각한다면 다른 미션들도(ex. 러스트, 솔리디티) 충분한 자료가 있는데 작성할 필요가 없음. 루디움 입장에서는 제대로 했고 그에 대한 결과가 아카이빙 되어야 검수를 할 수 있음. 만약 나중에 언젠가 시스템 적으로 외부에서도 한 모든 결과를 루디움에서 처리해서 평가할 수 있다면 (ex. 깃헙 코드 분석 -> 스코어링) 필요가 없어질 수 있겠으나 현실적으로 지금은 고랭 관련 교육 자료가 있는게 필요하다고 생각. (두 번 만드는 것 같아 좀 그렇게 생각이 들어도 양해 부탁). 일단 코스모스 관련 아티클 한 번 쭉 쓰고 SDK 미션 만들기 전에 간략하게라도 있으면 좋겠음

01 코스모스 베이직 - IBC 아카데미의 블록체인 기술과 인터체인 내용에 의거하여 작성하고 있다고 이해됨. 비트코인 -> 이더리움 -> 코스모스로 이어지는 확장 단계 설명 좋은 것 같음. (하나의 표 같은 걸로 정리해도 보기 좋을 것 같은데 이거는 필수는 아님). 밑에는 인터체인의 특장점을 3가지 정도 포인트로 정리해서 알려주면 어떨까 싶음(ex. Scalability, Sovereignty, User Expereience) 근데 IBC 아카데미에 나온 Soveriegnty와 User Experience가 코스모스의 장점인지는 잘 모르겠음. Leeway Hertz는 Scalability만 이야기 하기는 함. 근데 뭔가 약해 보이기도 하고. 그렇달까?

참고로 모든 단어는 평어가 아닌 ~이다 형식으로 작성 필요 (어투 참고)

02, 03에 좀 더 테크니컬한 부분의 딥다이브 개념들을 다루는 것으로 이해함

99 컨센서스 레이어를 다루기는 해야할 것으로 이해됨. 코스모스 컨센서스는 매우 중요한 부분. 어느 정도 수준으로 다룰지는 일단 써보면서 보는 걸로

@LudiumAgwn
Copy link
Contributor Author

240611 코스모스 디앱 만들기

  1. 아티클과 미션 전체적인 구성은 너무 좋음. Authz 미션의 경우는 권한 위임이 예를 들어 권한 설정과 같은 내용으로 풀어져서 나오면 좋을 것 같은데 구체적인 예시가 있는지는 몰라서 일단은 나오는 거 보면서 이야기 하는 걸로
  2. 아티클 관점에서 내용의 구체성은 좋은데 아키텍처 관점에서 블록체인 - 백엔드 - 프론트엔드로 이어지는 전체 그림을 보는 도식이 있으면 좋겠음. 예를 들어 디앱 아키텍처의 도식화나 아래의 니어의 API 구조도 같은게 들어갈 수 있음.
    image
    아티클 작성 관점에서의 디테일이 전체 그림 안에서 어떻게 배치되는지 설명하면 이해가 더 수월할 것으로 보임
  3. 툴킷이나 몇 가지를 설명하는데 있어서 아티클을 2-3개 정도로 나눌 수도 있을 것 같음. 이더리움 디앱 제작 2-6 내용 참고 가능

@Jeongseup
Copy link
Contributor

Jeongseup commented Jun 14, 2024

Cosmos Basic


Review

현재까지 진행과정은 0번은 optional로 하고 각 단계별로 1번 문서부터 n번까지 작성될 예정
99번 문서는 not-selected된 일단 optional 문서임.

현재는 1번 01_empathize_with_app_specific_chain 만 작성된 상태

99번 문서로 PBFT(tendermint & cometbft) 관련해서는 won가 아티클 and 코드 작업 할 수도 있음.

그리고 다음은 이후에 진행될 스텝들임

step 단위로 끊어서 issue 생성 후 내부 단계마다 하나의 아티클 작성 예정이고 하나의 아티클이 완성될 때 마다 PR 올릴 예정 (ex: 만약 step1이 3개의 단계로 나뉘어져있으면 3개 PR 머지 후 이슈 클로즈)

각 단계는 [<코드 | 아티클>, <담당자>] 마지막에 이런 표기를 가지고 있음

Step 1


  1. cosmos app chain architecture 설명 [아티클, jeongseup 담당]
  2. Multistores, Keepers ?
  3. 코어 컴포넌트 [아티클, won]
    1. 텐더민트 레벨 코드?
  4. [run a simapp node](https://ida.interchain.io/tutorials/3-run-node/) [코드, jeongseup 담당]
  5. simapp 코드 톺아보기 [코드, jeongseup]
  6. jeongseupchain 톺아보기(simapp에서 필요없는 부분 다 걷어내고 실험적인 것들을 해보는 단계, 매우 많은 주석을 가지고 진행예정) [코드, jeongseup]
    1. 과제) 각자의 name-chain 만들어보기
  7. https://github.com/cosmos/cosmos-sdk/blob/v0.45.4/simapp/README.md [코드, jeongseup]
  8. basic 모듈 하나 살펴보기 [미정, jeongseup]

→ 여기까지 진행하면 basic cosmos-sdk 로 만든 simapp에 대한 이해과 전반전적인 모듈 구조 이해 끝.

Step 2 → 다음주(6/17~6/22)


—- 퍼블릭 블록체인 지식 (cosmos sdk docs 기반으로 작성)

  1. transcation life cycle [아티클 + 코드 기반]
    1. 트랜잭션 생성
    2. 멤풀 추가
    3. 블록 생성
    4. 상태 변경
  2. query life cycle [아티클 + 코드 기반]
    1. 쿼리 생성(CLI, REST, gRPC)
    2. 쿼리 핸들링
    3. 쿼리 응답
  3. account [아티클 + 코드 기반]
    1. account 모델 개념 소개 [아티클 기반]
    2. key, account, address, signature [아티클 기반]
    3. keyring [코드 기반]
  4. gas fee
    1. gas 개념 소개 [아티클 기반]
    2. gas meter [코드 기반]
    3. antehandler [코드 기반]

Step 3 → 6월 말


--- 커스텀 모듈 지식

  1. optional) protobuf (커스텀 모듈을 이해하는데 도움이 되는데 선수지식을 간단히 하거나 스킾, 나중에 필요하면 넣는 것으로, ignite로 먼저 만들고 해도 무방) [미정, 미정]
  2. custom module 추가해보기, namespace 모듈 만들어보기 (기존 자료 사용예정) [코드, 미정]
  3. 자신만의 custom module 만들어보기
    1. 과제 custom module
  4. practical 한 체인에 있는 모듈을 이해하고 따라서 클론 코딩
  5. 해커톤 준비 ?
  6. https://docs.cosmos.network/v0.47/learn/beginner/overview-app

Memo


~v0.47 까지가 앱체인 안에 x/checkers.

  • simapp (+x/checker)
    v0.50 ~ 앱체인 // 별개로 checker library

  • simapp

  • checkers

  • etc .. ?

  • cosmos 변천과정이 좀 복잡해서 여러 docs가 많을텐데 이거 정리해주느거 있으면 좋을듯

  • abci 이해 (코스모스만 사용가능한게 아님을 이해해야함)

    • berachain example
    • python abci example

@Jeongseup
Copy link
Contributor

@LudiumAgwn 위의 쓰레드 내용전개에 대해서 코멘트 부탁. 별 다른 건 없긴한데 그냥 제시된 사안말고 저대로 진행하는게 더 도움될 것 같아서 각색함.
다만, 궁금한 점이 강의 진행 시 코드기반 vs 아티클기반 중에 어떤 것에 좀 더 초점이 맞춰져있는게 의미있는지 체크 부탁.

@LudiumAgwn
Copy link
Contributor Author

@Jeongseup 내용 전개 괜찮은듯. 레퍼런스대로 해도 될 것 같음.

둘 중에 비중을 더 두자면 해당 자료는 개발자를 위한 자료에 더 가깝기 때문에 코드를 중심으로 설명이 들어가는게 나을 것 같음. 좀 더 비개발자를 위한 설명 자료는 작성되는 거 보고 필요하면 인트로 아티클을 내가 써도 되니까

@LudiumAgwn
Copy link
Contributor Author

@loosie golang 베이직 내용 확인하고 있는데 안에 Example로 되어 있는 걸 미션 같은 형태로 좀 빼는 건 어떨까? 따로 미션을 만드는 것보다 해당 내용들을 제출하도록 유도하는게 작성 관점에서도 더 편하지 않을까 싶음

@woon999
Copy link
Contributor

woon999 commented Jun 15, 2024

@Jeongseup 확인했어~ Step1 2~3번 임의로 해놓은거라서 cosmos-sdk 레벨내에서 핵심 컴포넌트 내용들 다루는 걸로 이해하고 정습이 step1 작성하고 난 후에 보고 중간에 내용 쏙 넣어볼게

@LudiumAgwn 오키오키 지금 작성한 일부 예제는 단순해서 그냥 go playground에서 실행만 해봐라 정도로 해도 될 것 같다는 생각이 들어서 저렇게 해놨어. 스켈레톤 코드주고 직접 go 작성해보면서 살 채우는 실습을 하는 방식으로 수정해볼게! golang 모듈은 결국엔 cosmos sdk 코드를 다루기 전에 이해를 더 쉽게 도와주는 역할이 되었으면 좋겠다는 생각이 있어서, 우선 코스모스 아티클 작성하고 난 후에 golang 모듈 내용 + 실습 제출 부분 보강해서 pr 올려볼게!

@Jeongseup
Copy link
Contributor

지난주 진행상황 스텝1 run a simapp 작성 완료(반말체라 수정해야함)

금주 simple 톺아보기 작성 예정 + 기존 아티클 경어체로 변경 후 PR

@Jeongseup
Copy link
Contributor

이 이슈는 스텝 1(#12), 2(#6), 3 으로 분리되어 모두 마무리 지은 후 최종적으로 클로즈 할 예정

@LudiumAgwn
Copy link
Contributor Author

240627 코스모스 베이직 코멘트

  1. 코어 관련된 내용은 거의 정리가 완료된 것으로 보임. 3번 코어 컴포넌트만 작성되면 모두 완료인 것 같은데 의견 부탁
  2. 코스모스 생태계 관련 아티클 하나 추가 예정. 해당 내용은 아곤이 작성해서 커밋으로 남기겠음. 코스모스 SDK와 AADAO, 토크노믹스, 체인 유형(ex. 인프라, 컨슈머, POL)을 비롯한 비개발적 내용을 주로 포함할 것으로 보임
  3. 전체적으로 ~다로 수정해야 할 것 같은데 (@Jeongseup 작성 부분의 경우) 이건 나중에 다 끝나고 해도 될듯
  4. @loosie 가 작성해준 내용의 코드 베이스 + Checkers 약간 합쳐서 미션들만 뽑으면 되지 않을까 싶음. 미션 관련 방향성 공유 요청
  5. abci 관련된 부분은 아직 첨부 안되어 있는 걸로 이해함. 중요한 부분일 것 같음

@Jeongseup
Copy link
Contributor

내 생각으로는 위 내용들 중에서 step1,2 끝났고, step3 및 필요한 내용은 #35 여기서 정리될 예정. 우선 step1,2 마무리 지은 내용바탕으로 추가해야할 파트 있는 지 검토필요.

@Jeongseup
Copy link
Contributor

@loosie @LudiumAgwn 우선 여기 과정은 다 마무리 된듯 이거 이슈 종료하고 최근에 아곤이 올린 이슈만 신경쓰는 걸로 이거 좀 닫아주셈!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants