Update process_description.md

This commit is contained in:
Anastasia Avsyukevich 2025-01-20 20:38:59 +00:00
parent 12de68320f
commit de26351980

View file

@ -39,6 +39,19 @@ wallet3 joinRoom
wallet4 joinRoom
- *Подтверждение готовности к игре участниками*
```$ ./bin/neo-go contract invokefunction -r http://localhost:20331 -w wallet2.json -g gas_payment contractHash confirmReadiness roomId wallet2Hash```
##### Аргументы метода:
1. roomId - ID комнаты, которое заранее передано игроку вне данной системы
##### Аналогично для:
wallet3 confirmReadiness
wallet4 confirmReadiness
- *Запуск игры хостом*
```$ ./bin/neo-go contract invokefunction -r http://localhost:20331 -w wallet1.json -g gas_payment contractHash startGame roomId wallet1Hash```
@ -55,31 +68,104 @@ wallet4 joinRoom
1. roomId - ID созданной комнаты
2. tokenId - ID токена. Так как вопросы хоста представляются в виде уникальных NFT-токенов, то мы передаем их ID
- *Старт вопроса текущего раунда*
- *Отправка ответа на вопрос*
```$ ./bin/neo-go contract invokefunction -r http://localhost:20331 -w wallet2.json -g gas_payment contractHash sendAnswer roomid text wallet2Hash```
##### Аргументы метода:
1. roomId - ID созданной комнаты
2. text - ответ на вопрос
##### Аналогично для:
invokeFunction wallet1.json contractid startQuestion roomid --wallet1
invokeFunction wallet2.json contractid sendAnswer roomid (string) --wallet2
wallet3 sendAnswer
wallet4 sendAnswer
invokeFunction wallet1.json contractid endQuestion roomid --wallet1
invokeFunction wallet2.json contractid chooseAnswer roomid <int> --wallet2
wallet3 chooseAnswer
wallet4 chooseAnswer
invokeFunction wallet1.json contractid getWinner roomid --wallet1
повторяется игровой цикл
setQuestion
startQuestion
sendAnswers..
endQuestion
chooseAnswers..
getWinner
- *Завершение принятие ответов (раунда)*
invokeFunction wallet1.json contractid endGame roomid --wallet1
```$ ./bin/neo-go contract invokefunction -r http://localhost:20331 -w wallet1.json -g gas_payment contractHash endQuestion roomid wallet1Hash```
##### Аргументы метода:
1. roomId - ID созданной комнаты
- *Отдача голоса за лучший ответ*
```$ ./bin/neo-go contract invokefunction -r http://localhost:20331 -w wallet2.json -g gas_payment contractHash voteAnswer roomId answerIdx wallet2Hash```
##### Аргументы метода:
1. roomId - ID созданной комнаты
2. answerIdx - индекс для сохранения порядка, в котором пишутся ответы при отправке игроками
##### Аналогично для:
wallet3 voteAnswer
wallet4 voteAnswer
- *Завершение раунда*
```$ ./bin/neo-go contract invokefunction -r http://localhost:20331 -w wallet1.json -g gas_payment contractHash getRoundWinner roomId wallet1Hash```
##### Аргументы метода:
1. roomId - ID созданной комнаты
![Описание основных действующих лиц и их действий](https://git.frostfs.info/nastyxxaavs/web3_draft/src/branch/master/schemes/web3_activity_diagram.jpg)
*Далее повторяется игровой цикл:*
askQuestion..
sendAnswer..
endQuestion..
voteAnswer..
getRoundWinner..
- *Отдача голоса за завершение игры (без учета мнения хоста)*
```$ ./bin/neo-go contract invokefunction -r http://localhost:20331 -w wallet2.json -g gas_payment contractHash voteToFinishGame roomId wallet2Hash```
##### Аргументы метода:
1. roomId - ID созданной комнаты
##### Аналогично для:
wallet3 voteToFinishGame
wallet4 voteToFinishGame
- *Завершение игры*
```$ ./bin/neo-go contract invokefunction -r http://localhost:20331 -w wallet1.json -g gas_payment contractHash manuallyFinishGame roomId wallet1Hash```
##### Аргументы метода:
1. roomId - ID созданной комнаты
### Команды для взаимодействия с NFT-токенами
- Проверка баланса
```neo-go wallet nep17 balance --token GAS -r http://localhost:30333 -w /path/to/frostfs-aio/wallets/wallet1.json```
- Компиляция и деплой
```neo-go contract compile -i nep11/contract.go -o nep11/contract.nef -m nep11/contract.manifest.json -c nep11/contract.yml```
```neo-go contract deploy -i nep11/contract.nef -m nep11/contract.manifest.json -r http://localhost:30333 -w /path/to/frostfs-aio/wallets/wallet1.json [ walletHash ]```
- Трансфер любого токена
```neo-go wallet nep17 transfer -r http://localhost:30333 -w /path/to/frostfs-aio/wallets/wallet1.json --from walletHash --to walletHash --amount 20 --token GAS nft-name --await```
- Трансфер любого NFT-токена
```neo-go wallet nep11 transfer -r http://localhost:30333 -w /path/to/frostfs-aio/wallets/wallet1.json --from walletHash --to walletHash --token question --id contractId --await```
![Обобщенное описание процесса игры](https://git.frostfs.info/nastyxxaavs/web3_draft/src/branch/master/schemes/web3_activity_diagram.jpg)