No description
Find a file
2024-01-17 21:35:58 +03:00
.github/workflows change actions 2024-01-07 16:18:43 +08:00
Craps refactor 2024-01-17 20:26:31 +03:00
frontend/casino fixes 2024-01-17 12:54:04 +03:00
Roulette refactor slot, roulette 2024-01-16 20:45:30 +03:00
RPS refactor craps, rps 2024-01-16 16:59:15 +03:00
SlotMashine refactor slot, roulette 2024-01-16 20:45:30 +03:00
ZaCoin fix: transfer token 2024-01-08 17:42:36 +03:00
ZaCoinRefill refactor slot, roulette 2024-01-16 20:45:30 +03:00
.env [#13] Update Storage components and gateways 2023-07-13 19:02:09 +03:00
.gitignore Fix missing bin 2023-05-15 14:43:36 +03:00
README.md Create README.md 2024-01-17 20:45:22 +03:00

Онлайн казино 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