Solidity 정리 3!
유튜브 영상 자료(Dapp Campus)를 따라해보면서 배우고 있는 중입니다. 한번 따라해보면 처음에 익숙해지는데 꽤나 좋을 것 같습니다.
여기서는 로또비스무리한 컨트랙트를 만들고 있군요. 그래서 Lottery Contract로 만들어 보고 있습니다.
오늘은 Dapp 서비스 설계시 고려사항입니다. 그리고 개발해볼 Lottery 게임 규칙 설명입니다.
내용을 제가 타이핑을 해버리면 저작권 문제가 있을 것 같아서, 캡쳐해서 가져 왔습니다. 실무에서 충분히 사용 될 수 있는 부분을 다 담아 주셨더군요!! 감사합니다.
지갑관리
- 콜드월렛
- 핫 월렛(필요시 콜드월렛으로 부터 전송)
- Multisig 적용 여부 등 고려
아키텍쳐
- smart contract에 올릴 부분과 그렇지 않은 부분(중앙화 할 데이터와 아닌 것 정리)
- server와 front-end 고려 등
Code
- 컨트랙트 실행시 수수료가 나가므로 수수료가 적게 나가도록 코딩을 해야함
- 컨트랙트에 대한 권한 관리 고려
- 비지니스 로직 부분 업데이트 관련(아직 깔끔한 방법은 없다고 합니다.(영상 당시에는..), delegate를 쓰거나 contract 주소를 바꿔끼우는 방식)
- 데이터 마이그레이션은 기존 스마트 컨트랙트에서 새로운 스마트컨트랙트로 데이터를 옮겨야 할 경우 어떻게 할 것인가? 트랙잭션을 일으켜서(수수료를 써가면서) 옮길 것인가?
(주로 freeze 시키고 메인넷으로 옮기던지 자신들이 실제로 사용 할 토큰 컨트랙트로 옮기는 방법 등)
운영
- public 체인인지 private 체인인지 등 상황에 따라 고려
Lottery 규칙
- 참여하는 블럭의 뒤로 3번째 블럭의 해시값 2자리 맞추기
- 만약에 3번째 블럭에 참여를 한다면 6번째 블럭해시 값을 확인
- 여러명이 맞춘 경우 가장 먼저 맞춘 사람이 승리
- 두글자 중의 하나만 맞았을 때에는 보낸 돈을 보내준다.(0.005ETH : 10 ** 15 wei)
- 결과값을 알 수 없는 경우 돈을 돌려준다.
- 결과가 틀린 경우 팟머니로 쌓임(나중에 2자리 다 맞춘 사람이 쌓인 팟머니를 모두 가져간다)
고려사항
- 스마트컨트랙트에서는 현재 트랜잭션이 몇번째 블럭에 들어가는 상황인지 값을 얻어 올 수 있음
- 단 현재 블럭해시값을 가져올 수 없음
- 컨트랙트 내에서는 최근 256블럭의 해시값만 가져 올 수 있음
[US$140.00](▼54%)샤오미 드리미 V10 무선 청소기 / 유럽버전! / 6개월무료A/S / 무료배송/
WWW.QOO10.COMDownvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
결론
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
@happyberrysboy transfered 15 KRWP to @krwp.burn. voting percent : 100.00%, voting power : 61.31%, steem power : 2013547.40, STU KRW : 1200.
@happyberrysboy staking status : 7650 KRWP
@happyberrysboy limit for KRWP voting service : 15.3 KRWP (rate : 0.002)
What you sent : 15 KRWP (Voting Percent over 100 %)
Refund balance : 3.522 KRWP [50280858 - e2575d586d0db5869f877dfa5cf683672a6b68d2]
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
결론
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit