출처 : https://medium.com/@2infiniti/icon-dapp-from-a-z-part-3-icon-dice-roll-dapp-7f0ca72057f5
준비물 : 지갑2개(키스토어), x윈도우 웹브라우저
아이콘 도커 접속
docker run -it -p 127.0.0.1:9000:9000 -p 127.0.0.1:5000:5000 --rm ibriz/icon-workshop:latest |
icon-dice-roll소스를 다운로드 받아 준다.
중요
tbears의 -k 키스토어 옵션과 -c 컨피그옵션은 deploy할 디렉토리와 동일하게 둔다.
tbears_cli_config.json
{ |
uri : 테스트넷 서버주소
from : A지갑주소 (도박을 만든 포주)
stepLimit : ICX 스마트컨트렉 수수료
( 16진수로 되어 있는데 약 11 ICX정도 지출된다)
ICONex 에서 생성한 키스토어를 넣어 준다. 도박장 주인
keystore_test1
|
icon-dice-roll에 tbears_cli_config.json , keystore_test1 복사 한다.
root@e3c558b878a6:/tbears# cp tbears_cli_config.json icon-dice-roll/ |
해당 디렉토리로 이동 후
tbears deploy dice-roll -k keystore_test1 -p 키스토어패스워드
Send deploy request successfully. root@e3c558b878a6:/tbears/icon-dice-roll# tbears txresult 0x8c46c029a137bc676cc06a3b938a20112981043b086f665151befc3191ee0c11 |
저 부분이 컨트렉 주소다.
유저가 입금하고 송금 받는곳이다.
자동으로 해준다.
/tbears/icon-dice-roll/testcmdline
vi send_set_treasury.json
{ |
지갑주소, 수수료, to에 스마트컨트렉 주소를 넣는다.
|
cd webapp
main.py
import ast from flask import Flask, render_template, jsonify from repeater import retry app = Flask(__name__) default_score = "cxeb428634534e073101b6124815175ffe16f82fa8" wallets = {
transaction_list = [] score_balance = icon_service.get_balance(default_score) decending_ordered_transaction = sorted(transaction_list, key=lambda val: int(val['timestamp']), reverse=True)
|
root@e3c558b878a6:/tbears/icon-dice-roll/testcmdline# pwd
/tbears/icon-dice-roll/testcmdline
vi send_bet.json
{ |
수수료부분만과 to만 컨트렉주소로 바꾸어 준다.
from 키스토어를 로드 할때 그 주소가 들어 가는거 같다.
root@e3c558b878a6:/tbears/icon-dice-roll/webapp# python3 main.py & |
백그라운드로 & 실행 시킨다. 해당 커멘드로 베팅도 해야 되기 때문이다.
cd..
1.json 유저 키스토어를 넣는다.
tbears sendtx -k 1.json testcmdline/send_bet.json -p 패스워드 |
asdas
'아이콘(ICON)' 카테고리의 다른 글
Python(파이썬) 웹프레임워크 - Django(장고) (0) | 2019.06.26 |
---|---|
아이콘 DB (0) | 2019.05.30 |
아이콘 개발환경(윈도우) (0) | 2019.05.29 |
클라우드 세일 (0) | 2019.05.23 |
아이콘 스마트컨트렉 도커 설치 (0) | 2019.05.20 |