Non-fungible token game
這是一款加密卡牌遊戲,使用OpenZepplin。 在ERC-721 non-fungible token 標準下建置合約,透過truffle框架編寫及部署合約,合約部署之後,使用者可以透過前端來跟dApp互動,再由dApp呼叫部署在以太坊上的合約來進行遊戲。
玩家先使用ether來兌換卡牌,每張卡牌上面有不一樣的點數。
擁有卡牌之後可以開始對戰,對戰開始之前玩家必須先選擇自己要出的卡牌,之後系統會隨機決定此回合是比大或是比小,並且隨機產生點數,玩家獲勝之後可獲得獎勵。
��#### 對戰紀錄 對戰之後可以透過對戰紀錄看到所有過去的遊戲紀錄,包含遊戲的勝負以及下注的金額。
ERC-721 non-fungible token: 符合這合約的每個token都是不一樣的,擁有獨一無二的token ID,與ERC-20相比,ERC-20的token可以彼此互換的,使用者A的50個token與使用者B的50個token是沒有差別的,但如果是ERC-721的話因為每個token ID都不一樣,所以不可以互換,視為獨立的資產。
合約內容存放在contracts/
底下:
CryptoHerosGame.sol
: 遊戲實際執行方式、規則實作在此合約內CryptoHerosToken.sol
: 卡牌購買、產生方法實作在此合約內
- React
- Redux
- Saga
- Web3(MetaMask)
- Sass
- Material-UI
- Truffle
- ganache
- NodeJS 8.0以上.
- Windows, Linux 或 Mac OS X.
先安裝所需的相關套件:
會需要在local端起一個以太坊的節點,推薦使用 ganache-cli
,你可以透過 npm install來安裝。
npm install -g ganache-cli
安裝truffle:
npm install -g truffle
安裝其餘所需的套件:
npm install
先確定local端的以太坊節點有成功啟動. 執行:
ganache-cli --gasLimit 0xffffffffff -p 8545
然後編譯並且部署合約:
truffle compile && truffle migrate
測試合約:
truffle test
我們已經將合約部署至 Ropsten 測試鏈上。 你可以直接對合約進行操作。
Contract | Token address | Transaction hash |
---|---|---|
CryptoHerosGame | 0xb4FF27d8cD1C5b1e3D4BD8A8FFEBdA9BE9517a4b | 0x49bb8698e2951a0c7eb091038b500694cdf37c74ec51d6c98d91823dc9595b95 |
CryptoHerosToken | 0xa82Bc392bF65d03A796E1666d27594fB31De4B93 | 0xf41868e6b59020965831aac218e1a521b283ab4975f10a44cf0908f6ce586ad7 |
查看我們的卡牌列表 CARD.md.
查看幫助我們的方法 CONTRIBUTING.md.
查看 LICENSE .