diff --git a/process_description.md b/process_description.md index b110e43..bff59ca 100644 --- a/process_description.md +++ b/process_description.md @@ -1,20 +1,63 @@ ## Описание функций, используемых в игре: wallet1 - создает комнату -wallet2 -wallet3 -wallet4 - игроки -contract compile -contract deploy (получаем contractid) +игроки: +wallet2, +wallet3, +wallet4, +и далее + +### Команды для деплоя контрактов комнаты и токенов: + +```$ ./bin/neo-go contract compile -i contract.go``` + +```$ ./bin/neo-go contract deploy -i contract.nef -m contract.manifest.json -r http://localhost:20331 -w wallet1.json``` +### Игровые команды + +- *Создание комнаты хостом* + +```$ ./bin/neo-go contract invokefunction -r http://localhost:20331 -w wallet1.json -g gas_payment contractHash createRoom countRoundWinners countGameWinners wallet1Hash``` + +##### Аргументы метода: + +1. countRoundWinners - кол-во победителей раунда +2. countGameWinners - кол-во победителей игры + +- *Вход участников в комнату* (на примере игрока wallet2) + +```$ ./bin/neo-go contract invokefunction -r http://localhost:20331 -w wallet2.json -g gas_payment contractHash joinRoom roomId wallet2Hash``` + +##### Аргументы метода: + +1. roomId - ID комнаты, которое заранее передано игроку вне данной системы + +##### Аналогично для: + +wallet3 joinRoom + +wallet4 joinRoom + +- *Запуск игры хостом* + +```$ ./bin/neo-go contract invokefunction -r http://localhost:20331 -w wallet1.json -g gas_payment contractHash startGame roomId wallet1Hash``` + +##### Аргументы метода: + +1. roomId - ID созданной комнаты + +- *Публикация вопроса текущего раунда* + +```$ ./bin/neo-go contract invokefunction -r http://localhost:20331 -w wallet1.json -g gas_payment contractHash askQuestion roomId tokenId wallet1Hash``` + +##### Аргументы метода: +1. roomId - ID созданной комнаты +2. tokenId - ID токена. Так как вопросы хоста представляются в виде уникальных NFT-токенов, то мы передаем их ID + +- *Старт вопроса текущего раунда* + -invokeFunction wallet1.json contractid createRoom (аргументы хз) --wallet1 -invokeFunction wallet2.json contractid joinRoom roomid --wallet2 -wallet3 join -wallet4 join -invokeFunction wallet1.json contractid startGame roomid --wallet1 -invokeFunction wallet1.json contractid setQuestion roomid (string) --wallet1 invokeFunction wallet1.json contractid startQuestion roomid --wallet1 invokeFunction wallet2.json contractid sendAnswer roomid (string) --wallet2 wallet3 sendAnswer @@ -35,11 +78,8 @@ getWinner invokeFunction wallet1.json contractid endGame roomid --wallet1 -### Описание основных действующих лиц и их действий: -![](https://git.frostfs.info/nastyxxaavs/web3_draft/src/branch/master/schemes/web3.0.jpg) -![](https://git.frostfs.info/nastyxxaavs/web3_draft/src/branch/master/schemes/web3.1.jpg) -![](https://git.frostfs.info/nastyxxaavs/web3_draft/src/branch/master/schemes/web3.2.jpg) -![](https://git.frostfs.info/nastyxxaavs/web3_draft/src/branch/master/schemes/web3.3.jpg) + +![Описание основных действующих лиц и их действий](https://git.frostfs.info/nastyxxaavs/web3_draft/src/branch/master/schemes/web3_activity_diagram.jpg)