1 Fixing Kickstarter's Issues - 캠페인의 외관상 의도는 좋지만 악의적인 의도를 가진 캠페인이라면 ? - 기부금을 받아 실제 지출하는 것은 캠페인 작성자에게 달려 있음 - 실제로는 다수의 펀딩이 실패하고 펀딩 이후에 제품을 제공받지 못하기도 함 - 이더리움 계약에 자산을 보냄 - Manager는 실제 Vendor에게 금액이 지불되도록 함 - 지불 계약은 특정 돈을 인출하여 특정 사람(외부 공급 업체, Vendor)에게 보내는 계약을 수행 - 여러 기여자들이 인출에 동의하지 않는 경우에 대한 문제를 가질 수 있음 - 단점을 가지고 있지만 이상에 맡기는 것 보다 현실적인 대안을 제시함 2 Campaign Contract Design - manager: 캠페인을 관리하는 사람의 주소 -..
1 Local Contract Instances - 오류 발생, 사이트에 표시되지 않음 // 다시 해보기 - Entering the Lottery - pickWinner() - 하나의 State에서 manager를 비롯한 다섯가지의 속성을 초기화 -> 결과는 계약의 결과 - OnSubmit, OnClick 메서드를 사용하여 값을 입력 - Render 메서드를 사용하여 실질적으로 다른 속성들을 읽고, 화면에 표시할 수 있음
1 Ethereum App Architecture - 일반적으로 사용자가 서버에 요청을 보내 DB에 새로운 작업을 생성할 수 있음 - HTML, Ajax 요청 형식을 취함 - Ethereum 아키텍쳐에서 서버는 프로세스에 관여하지 않으며, Web3/Matamask 를 사용함 - 데이터를 변경할 수 있는 유일한 방법은 개인키, 공개키를 사용하는 것(유저 컴퓨터에 존재) - 키는 어떠한 경우에서도 서버로 전송되지 않음 - React를 사용하여 복잡한 과정을 단순화할 것 1) React App Updates - npm install - sudo npm install -g create-react-app - npx create-react-app lottery-react 2) Application Overview ..
1 Resetting Contract State - 승자를 선택한 후 플레이어 목록을 모두 비우고 자동으로 다른 플레이어를 넣을 수 있도록 초기화 - 배열의 길이에 상관없이 처음 배열 상태로 비우기 위해 index 값 0으로 - pickWinner에 접근할 수 있는 것은 매니저여야 함 - 수정자는 단 한 번만 사용하며 "_"를 사용하여 본래 함수의 실행부가 실행되게 할 수 있음 - 플레이어 반환 함수 2 Test Project Updates - Lottery.test.js 작성 - Entering the Lottery 3 Asserting Multiple Players 4 End to End Test - 계정 잔액을 검사하거나 0으로 계산되는 이더의 양느 호출 전 제어 - 수신된 주소는 이더의 양을 반환..