1 Fetching Deployed Campaigns 2 Why Next.js, Anyways? - JS는 서버를 랜더링 하는 방식의 프로세스 사용 - 누군가 다음 JS 서버에 액세스할 때 마다 서버가 리엑트 앱 자체를 앤더링 (JS를 브라우저로 보내는 행위X) - JS는 서버 다음에 실행됨 - 데이터를 가져오기 위해 메타마스크 사용 여부는 중요하지 않음(메타마스크 사용 안하는 정보) 3 GetInitialProps Function - 컴포넌트 랜더링 시 마다 get intial props가 호출되고 캠페인 목록 가져옴 4 Rendering Card Groups 5 Adding a Button
1 App Mockups - 사용자 캠페인 생성 시 화면 - 금액을 입력하고 "Create"를 클릭하면 실제 캠페인 생성 - 캠페인 세부 정보 확인 페이지 - 승인자로 간주되기 위한 금액, 이미 기여한 사람, 생산된 요청 수, 캠페인 기여 버튼 - View Requests - 하나의 특정 캠페인에 대해 보류 중인 모든 요청 나열 - 요청 ID, 설명, 금액 / 송금액, 수취인, 승인 횟수, 승인 여부 등 - 승인 또는 요청에 대한 표기 / 추가 버튼 - / | 사용자가 캠페인 페이지에 접속했을 때 보여주는 첫 페이지 - /campaigns/new | 생성된 모든 캠페인을 보여주는 페이지 - /campaigns/0x8147 | 해당 캠페인에 대한 세부정보 - /campaigns/0x8147/requests..
1 The Wrong Voting System - 잘못된 방법 - 누구나 주어진 요청에 대해 한 번만 투표 가능 - 각 요청 구조체 내부에 존재하는 새로운 배열 생성 (비어있음) - 투표를 하기 시작하면 해당 주소 배열을 채우는 것 - 승인자 배열을 반복하며 주소가 트랜잭션을 보낸 사람이라면 true가 되고 루프 돌아 - 주소 배열에 주소가 존재하지 않는 것을 확인하여 존재하지 않을 경우에만 동작하도록 함 1) Issues with Arrays - for 루프를 1000번 돈다로 가정했을 때 1000 가스를 필요로 함 - 하나의 기여자를 확인하기 위해 불필요하게 많은 가스를 사용함 - 10000의 기여자가 있다면 그만큼 배로 필요로 하는 가스가 증가하는 것 - 많은 사람들을 관리하기 위한 다른 데이터 구..