|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Результаты опроса: Про крипто-валюту и JS интересно ? | |||
Ага, пиши ещё | 0 | 0% | |
Не, полная фигня | 1 | 100.00% | |
Голосовавшие: 1. Вы ещё не голосовали в этом опросе |
|
Опции темы | Поиск в этой теме |
26.04.2018, 14:08 | #1 |
Новичок
Джуниор
Регистрация: 18.04.2018
Сообщений: 1
|
Игра с крипто-валютным бонусом (как сделать)
Преамбула
Наверное, нет такого программиста, который не хотел бы написать популярную игру. Извините, сразу разочарую - сегодня мы не будем писать игру, мы будем её именно делать - возьмём готовую на Javascript (благо их, красивых и бесплатных сто-пятьсот), и довернём код игры так, чтобы по результатам игрок получал бонус в несколько сатоши. Зачем ? - очевидно, что игра, за которую платят, интереснее чем точно такая же игра, за которую - нет. - с морально-психологической точки зрения игрок теперь не время убивает - он деньги зарабатывает. - на страничку игры, как на источник сатоши, появятся линки (но об чуть этом позже), которые приведут новых посетителей/игроков. Малая же сатошечка - бонус легко отбивается рекламой. Насторожившихся при слове "сатоши", попрошу вернуться к корням и скрепам: Биткоин на Википедии https://bitcoin.org/ru/ Остальные наверняка спросят: "Ну да, несколько сатоши игроку переслать, а комиссию сети Биткоин кто платить будет?!" Верно. Минимальная комиссия биткоиновой транзакции будет больше тех десятков/сотен сатоши, которые можно безболезненно предложить игроку, а время передачи денег будет таким, что запоздалый бонус игрока скорее разочарует, чем мотивирует. Теория Для решения проблем передачи небольших сумм существуют так называемые криптовалютные микроплатёжки. Появились они в первую очередь для обслуживания "bitcoin faucets", по-русски - "фосетов" или "крантиков". Как это работает: Плательщик (владелец крантика) кладет на свой счет некоторую сумму в криптовалюте. Потом он создает кран (faucet), или приложение (app) (терминология варьируются от системы к системе), и получает секретный ключ. Потом с этим ключом через API (например, такой API) скрипт с сайта плательщика говорит микроплатёжке что-то типа: "Я - такой-то (вот мой секретный ключ), приказываю заплатить такому-то биткойн-адресу столько-то сатоши." Конечно, никакой реальной транзакции сети Биткоин в этот момент не происходит. Сатоши не покидают микроплатёжку, они просто переходят со счёта плательщика на счёт получателя. Зато мгновенно, бесплатно (небольшая комиссия берётся с плательщика при вводе денег в систему), и наглядно - получатель всегда может убедиться что его счёт пополнился. Настоящая же биткон-транзакция случится автоматически, когда сумма на счету получателя станет достаточно солидной, чтобы эту транзакцию пережить (примерно 20 000 сатоши). Всё просто, правда ? Ещё одна проблемка - для вызовов к API микроплатёжки нужны серверные скрипты, чтобы не "светить" секретный ключ. Но и это ограничение мы сейчас обойдём - сделаем игру, работающую исключительно на клиенте. Для этого понадобится ещё один сервис : Remote Faucets ("удалённые крантики" ? - не знаю как красиво перевести) - там можно сконфигурировать этот самый удалённый крантик, передав секретный ключ микроплатёжке в "доверительное управление", а в замен получить HTML/Javascript, позволяющий осуществить платёж прямо на клиенте. Теория кончилась, давайте делать игру. Сразу оговорюсь: все ресурсы ниже - англоязычные, русских аналогов мне найти не удалось. Но и читать там особо нечего, если умеете программировать на Javascript, то и с конфигурацией крантиков справитесь легко. Игра В этом примере давайте использовать BlockRain - добротный классический Тетрис на jQuery. Подходящих игр сотни, если не тысячи, а может быть у Вас и своя есть. В коде выбранной игры надо надо найти место, где игра заканчивается, то самое "Game Over". В BlockRain очень удобно, берётся <DIV>: Код HTML:
<div class="game" style="width:250px; height:500px;"></div> Код:
Микроплатёжку мы будем использовать опосредованно, через Remote Faucets, а там поддерживается три разных. Давайте выберем cryptoo.me. Преимущество этой - не надо сразу пополнять баланс (то, из чего будут платиться бонусы игрокам) "из крамана". Можно зарегистрироваться, найти в меню сверху Deposits,скопировать оттуда Bitcoin address (это тот самый адрес, куда надо переводить средства для пополнения баланса), а потом с этим адресом прогуляться по списку крантиков cryptoo.me, и получить сатоши с них. Как раз на эксперименты хватит. Теперь займёмся нашими крантиками. Пусть в игре у нас будет три разных бонуса, соответственно - три крантика в My Faucets. Имена ("Faucet name") придумайте сами, хоть "Тетрис Бонус 1"..."Тетрис Бонус 3", а вот Faucet URL должна указывать на страничку с игрой. На основании этой информации и создастся список крантиков, откуда (в том числе) придут игроки - собиратели сатоши. Секретные ключи ("API keys") нам понадобятся на следующем этапе. Remote Faucet/Удалённый крантик Вот на этом этапе. Опять создаём три крантика (теперь "удалённых крантиков"), используя API keys. Имена и URL можно оставить теми же. Остальные параметры конфигурации расписывать нет смысла - там всё просто. Для каждого созданного удалённого крантика нам понадобится Faucet ID. Код На страничке с игрой добавьте ещё один <DIV>, в нём будет показываться крантик - бонус. Код HTML:
<!-- Этот id='wmexp-faucet-TO-BE' сейчас скрыт, потом мы выберем крантик в соответствии с результатом игры, и покажем его здесь --> <div id='wmexp-faucet-TO-BE' style='display:none; min-height:600px;background-color:blue;'></div> <!-- Этот div class="game" сейчас видимый, когда игра закончится - мы его спрячем, и покажем бонус --> <div class="game" style="width:250px; height:500px;"></div> Код:
. В статье использованы материалы Creating Remote Faucet и Game Bonuses Если остались вопросы - не стесняйтесь |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужет совет по выбору крипто системы. | pompiduskus | Безопасность, Шифрование | 3 | 11.11.2017 22:19 |
Игра для Android и заметка как сделать такую же | rrrFer | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 0 | 18.09.2017 16:46 |
Игра Delphi "Парные картинки". Как сделать таблицу рекордов? | Ucm106 | Помощь студентам | 4 | 07.12.2010 03:06 |
Помогите с валютным калькулятором | Clubber_ | Помощь студентам | 4 | 23.05.2009 17:56 |
Есть игра, как сделать ее сетевой? | Ellita | Работа с сетью в Delphi | 24 | 25.03.2009 21:07 |