feat(week-01): complete week-01 assignment#5
Closed
sweatbuckets wants to merge 2 commits intoBay-17th:mainfrom
Closed
feat(week-01): complete week-01 assignment#5sweatbuckets wants to merge 2 commits intoBay-17th:mainfrom
sweatbuckets wants to merge 2 commits intoBay-17th:mainfrom
Conversation
Member
리뷰개발 과제
퀴즈10문제 + 이론 5문제 모두 정확합니다. 제가 보기에 인상깊었던 부분PR 설명에서 풀 노드가 World State를 어떻게 동기화하는지 의문을 갖고 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
과제 제출 정보
주차: Week <01>
과제 유형:
구현 내용
public 상태 변수 count를 통해 자동 getter를 제공하고, 상태 변경 함수(increment, decrement, reset)를 구현했습니다.
또한 uint256 타입의 특성을 고려하여 decrement 호출 시 언더플로우 방지를 위한 require 검증을 추가했습니다.
배운 점 (What I Learned)
이번 주에 배운 것 (2-3가지)
어려웠던 점과 해결 방법
어려웠던 점:
월드 스테이트는 풀노드가 각자 로컬에서 분산 저장하고 트랜잭션 전파와 같이 네트워크로 직접 공유하는 과정 없이도 어떻게 동기화할 수 있을까 이해하는데 의문이 생겼습니다.
해결 방법:
AI 검색을 통해 결정론적 실행에 대한 추가 정보를 탐색하며 해결했습니다. 이더리움은 결과(state)를 공유하는 시스템이 아니라
결과를 재현 가능한 입력(트랜잭션)을 공유하는 시스템으로 동기화 대상은 state가 아닌 트랜잭션이라는 점을 깨달았습니다.
공유된 컨트랙트에 동일한 입력과 동일한 실행 순서만을 동기화하더라도 수많은 노드에서의 실행 결과가 자연스럽게 수렴한다는 점을 이해했습니다.
질문 사항
체크리스트
테스트
forge build성공forge test모든 테스트 통과제출 규칙
{username}/week-{XX}형식.env파일이 커밋에 포함되지 않음