Create README.md
This commit is contained in:
parent
ad61bf961b
commit
d7a89013a1
1 changed files with 48 additions and 0 deletions
48
README.md
Normal file
48
README.md
Normal file
|
@ -0,0 +1,48 @@
|
|||
# Онлайн казино ZaSlot
|
||||
### Проект представляет собой сайт, с возможностью подключить свой кошелек через Neon, пополнить баланс с нашей внутреигровой валютой и поиграть в различные игры (смарт-контракты)
|
||||
|
||||
Весь функционал доступен и из терминала. Ряд команд, для взаимодействия с контрактами представлен ниже
|
||||
### Получение внутреигровой валюты на кошелек
|
||||
* Получение 50 ZaCoin`ов в случае, если на балансе меньше 5 токенов:
|
||||
```
|
||||
neo-go contract invokefunction -r https://testnet2.neo.coz.io:443 -w <json файл вашего кошелька> 66621b53f51303d29a224cb6e5deeec30ad2631b getZaCoin -- '<адрес вашего кошелька>'
|
||||
```
|
||||
### Проверка баланса
|
||||
```
|
||||
neo-go wallet nep17 balance -w <json файл вашего кошелька> -r https://testnet2.neo.coz.io:443
|
||||
```
|
||||
### Игровые контракты:
|
||||
* Камень, ножницы, бумага (или RPS):
|
||||
```
|
||||
neo-go contract invokefunction -r https://testnet2.neo.coz.io:443 -w <json файл вашего кошелька> ae71ad7c8174530cddecf483e8094539f84fcd7f playRPS int:<1 - камень, 2 - ножницы, 3 - бумага> int:<ставка> -- '<адрес вашего кошелька>:CalledByEntry,CustomContracts:fdfb5c2974779e9cb9347e083a80054feae55a2d'
|
||||
```
|
||||
* Слот-машина:
|
||||
```
|
||||
neo-go contract invokefunction -r https://testnet2.neo.coz.io:443 -w <json файл вашего кошелька> 21ab5b0e8979723de78dbdb4177aeb10a8ebef16 rollSlot int:<ставка> -- '<адрес вашего кошелька>:CalledByEntry,CustomContracts:fdfb5c2974779e9cb9347e083a80054feae55a2d'
|
||||
```
|
||||
* Рулетка:
|
||||
```
|
||||
neo-go contract invokefunction -r https://testnet2.neo.coz.io:443 -w <json файл вашего кошелька> e3db32d1089c4b0a31dc26561ef337edf5d7ad02 playRoulette int:<ставка> int:<число на которое ставите> -- '<адрес вашего кошелька>:CalledByEntry,CustomContracts:fdfb5c2974779e9cb9347e083a80054feae55a2d
|
||||
```
|
||||
* Кости (Craps):
|
||||
```
|
||||
neo-go contract invokefunction -r https://testnet2.neo.coz.io:443 -w <json файл вашего кошелька> 490e3778e5247eccea7ff960e7253047b4c72545 playCraps int:<ставка> int:<число от 2 до 12> int:<число от 2 до 12> -- '<адрес вашего кошелька>:CalledByEntry,CustomContracts:fdfb5c2974779e9cb9347e083a80054feae55a2d'
|
||||
```
|
||||
### Получение уведомлений:
|
||||
```
|
||||
curl -d '{ "jsonrpc": "2.0", "id": 1, "method": "getapplicationlog", "params": ["<хэш транзакции>"] }' https://testnet2.neo.coz.io:443 | json_pp;
|
||||
```
|
||||
|
||||
### Что касается так называемого фронтена
|
||||
Сейчас пойдёт маленький ликбез.
|
||||
Была проделана познавательная работа по подключению Neo-блокчейна к клиенту.
|
||||
Первым шагом был поиск необходимого sdk для подключения кошельков. Выбор сразу же упал на @cityofzion/wallet-connect-sdk, но на момент ресёрча, а именно ноябрь 2023 - WalletConnector (кор либы) не работал в РФ уже как 2 месяца и предпосылок к его разблокировке не было, и именно поэтому ресёрч продолжился и ничем хорошим не закончился. Дальше в декабре поступила радостная новость, что библиотека для так называемых децентрализованных приложений наконец-то начала снова работать => окончательный выбор остался на ней (будто бы был выбор).
|
||||
|
||||
Вторым шагом пошла вёрстка всего, ну тут всё понятно
|
||||
Третьим шагом началось использование библиотеки вместе с кошельком Neon. Библиотека отваливалась каждый раз, когда ей захочется, но дело было сделано. Далее после долгих попыток вызвать контракт методом тыка (по-другому никак) началась проблема получения данных с транзакции. Оказывается, ни один из существующих эксплореров под нео не предоставляет необходимого Api для этого (???) Поэтому пришлось писать свой слушатель через поллинг к одному из эксплореров.
|
||||
|
||||
#### Теперь к технической части
|
||||
|
||||
Стек: React, TS, @cityofzion/wallet-connect-sdk-react, tailwind
|
||||
|
||||
Вся работа с web3 лежит в папке frontend/casino/web3
|
Loading…
Reference in a new issue