-
Notifications
You must be signed in to change notification settings - Fork 10
[meeting minutes] 2022_07_23
JeongHunP edited this page Jul 23, 2022
·
1 revision
Meeting 시간 : 1200-1240
- issue assign
- 정훈, 대희: 기존 issue 7, 8번에서 integration과 deploy를 수요일까지 하는 것을 목표
- 채영, 민상: 기존 받았던 survey한 내용이 아직 overview가 부족하므로, 전반적인 내용에 대해서 조사 후 발표 예정.
- 대희님의 회사 동료로 새로 contribution 할 수 있는 분이 오셨음. 준하님이 추후에 개발쪽 issue assign 할 예정.
- 소통 방식
- 기존 개념이 부족해서 시작을 못하는 경우가 있었는데, 전반적인 내용에 대한 설명을 요구하는 것 보다 구체적인 내용 하나씩 물어보는 것이 더 효율적.
- 또한 기존 진행된 세미나를 보고 필요한 개념 이해.
- 현재 상황
- 해야하는 것이 총 3가지
-
- ci에서 wasm build하는 setup(+docker optimize), issue #9로 근우님에게 assign
-
- integration test를 만들기 위해서 cosmos에 framework가 있다면 찾아보고 만들어야함
-
- deploy를 하기 위한 script 만들기
- 개념
- deploy: contract를 wasm으로 빌드했으면 juno chain으로 올려야하는데, 코드를 업로드 하는 트랜잭션이 있고, instantiate하는 것이 있음. 트랜잭션을 사인한다는 것은 컨트랙트를 업로드할 때 가스가 드니까 이거를 사인해서 올린다는 것.
- simple counter를 rust로 짜서 wasm으로 빌드하면 binary가 돼서 블록체인에 올라갈 수 있는, 실행 가능한 데이터가 됨. 코드를 업로드하기 전에 이것이 logically 맞는지 확인하기 위한 것이 unit test. integration test는 실제로 cosmwasm이 상호작용하는 인터페이스까지 포함. tx submit, blockchain query 등 단순한 로직뿐만 아니라 더 큰 범위에서의 테스트임.
- juno chain에도 mainnet, testnet이 있는데, juno testnet에서는 faucet에서 필요한 토큰을 공짜로 얻을 수 있어서 gas fee를 낼 수 있음. unit test, integration test가 구현된 contract를 업로드해서 submit, query 등을 gas를 이용해서 확인 할 수 있음. full node는 실제로 운영하는 노드로 transaction을 submit하면 주변 node들에게 broadcasting해서 query 해줌. interact라는 것과 full node는 같음. suite1.rs에 보면 full node랑 상호작용하는 것이 최종적인 것. 이 과정에서 우리가 블록체인에 디플로이하면 wasm binary가 있어야하는데 이걸 빌드하는 것도 일. 그거를 잘 정리해서 스크립트와 해서 자동화를 해놓는게 필요함.
- cosmos는 모듈로 되어있는 블록체인으로 tendermint을 기반으로 application layer이 모듈들의 set으로 구성되어있음. 예를 들면, validate하는 입장에서 tx accept를 할 때 실제로 해서 이것을 봐야하는데, tx를 정의한 모듈이 있고 거기서 또 다른 모듈 호출하는 형식으로 진행됨. 모듈에는 governance, bank, parameter 바꾸는 모듈 등이 있고 cosmwasm도 하나의 모듈임. 모듈의 예시를 알아야 좋을 것 같음. 현재 suite1.rs에 가스를 지불할 수 있는지 충분한 잔액을 체크하는 테스트 내용이 있는데, 그러려면 account에 가스가 얼마나 있는지 확인을 해야함. 이거는 계정이라는 개념이 있고 토큰이라는 잔액의 개념이 있는데, 그거는 수많으 모듈 중에서 bank module이 담당하는 것. cosmos sdk가 기본으로 만들어주는 것이 있고, third party로 만들어진게 cosmwasm, osmosis에는 dex를 위주로 하는 module도 있음.
- 리서치 피드백
- 채영: 이더리움 가스 모델은 직관적이고 대부분 이더리움을 기반으로 변형해서 만든 것이 많으므로 이더리움 가스 모델에 대해서 이해를 하는 것이 좋을 것임. cosmos, cosmwasm 각각의 level에서 가스가 있데, 지금 조사한 것은 cosmos level의 gas. overview가 아직 부족한 상태로 전반적으로 가스라는 것이 무엇인지, cosmos sdk에서 모듈이 뭔지, 뭘 실행하는지 등 전반적인 것을 알아야할 것 같음. 전반적인 이해가 있는 상태로 가스 모델에 대해서 리서치를 진행하는 것이 좋을 것 같다.
- 민상: 컨트랙트 레벨에서 error가 어떻게 표현하는지 중요하고, 왜 실패하는지는 중요하지 않음. 마찬가지로 tx modeling이 cosmos에서 하는 high-level 이 있고 tx가 cosmwasm쪽으로 routing이 된 execution된 안에서 세분화된 것도 있음. cosmwasm에서 더 많이 보는게 좋고, overview를 제시하는 것이 나을 것 같다.
- 소통
- 지금 하는 것이 엄청나게 어렵고 그런 것이 아니기 때문에 각자 싱크를 맞추어서 모르는 것을 같이 공유하고 디스코드에서 더 활발하게 하면 좋을 것 같음. 자기 분야가 맡은 것만 아는 것이 아니라 전반적인 이해를 같이하면 좋을 것임.