Мануал по подключению на сайт подписки в Ethereum

N
На сайте с 31.05.2016
Offline
32
1300

Сам подключал на зарубежный ресурс, заодно написал мануал (не рефка, там ее нет:)).

-------------------

В связи с развитием блокчейн индустрии, появилось желание изучить тему подключения платного доступа на закрытую часть сайта, в ознакомительных целях, т.к. законодательно в нашей стране это пока не очень прописано…

Потребуется изучить смарт-контракты ethereum, взаимодействие с кошельками и блокчейном на JavaScript, и встроить это все на языке PHP на сайт с нашим движком.

После изучения темы, стало понятно, что изобретать велосипед и выстраивать столь сложную систему, включая полный размер блокчейна ethereum (сейчас размером около 230Гб) на сервер, который и так загружен, не представляется возможным. К тому же, решение есть!

Для меня, как для программиста старой закалки, решение с использованием обычного, стандартного PHP будет приемлемым.

На просторах интернета был найден полностью рабочий вариант приема платежей с использованием смарт-контракта - ethlicense.org.

Далее, буду пользоваться частично, или полностью переводом с их сайта, т.к. там довольно все просто.

Итак, для начала создадим лицензию, которую мы и будем продавать. Точнее подписку, т.к. доступ мы планируем организовать на время (мы же хотим продавать услугу постоянно :)

Переходим к ним на сайт https://ethlicense.org/CreateLicense.php.

Указываем стоимость подписки в ETH. И нажимаем кнопку создания подписки (лицензии).

Да! Тут нам потребуется новейшее решение для простоты владения кошельком ethereum – приложение MetaMask, которое и понимает web-скрипты к данному блокчейну, и будет легко взаимодействовать с сайтом платежей. Это приложение есть как для браузера Firefox, так и для Chrome. Кстати, есть и другие приложения с такими же возможностями и также, с миллионами пользователями по всему миру. У нас сервис международный, поэтому, нам это подходит!

Так, установили, провели платеж (лицензия создана).

Получаем ID лицензии https://ethlicense.org/ViewLicenses.php, указав в форме адрес, с которого мы совершали платеж.

Далее еще проще, на сайте встраиваем ссылку для подписки на наш сервис, указываем ссылку, выданную нам при получении ID лицензии.

Пример ссылки: https://ethlicense.org/SetLicense.php?lid=2243 – 2243 это и есть наш ID лицензии.

Сервис записал стоимость нашей подписки (это была стоимость нашего платежа) и адрес (мы с него платили), на который смарт-контракт будет нам перечислять средства при продаже подписок. В этом и есть плюс блокчейна и смарт-контрактов. Платежи проводятся сразу, безвозвратно и надежно. Блокчейн взломать невозможно. Средства будут приходить на полностью подконтрольный нам кошелек. Никаких баз данных или персональных данных, что иногда приятно и безопасно.

Отвлекся…

Переходя по ссылке, пользователь также, при помощи MetaMask или другого он-лайн приложения-кошелька, может оплатить нашу подписку.

После, он возвращается и дает нам понять, что оплатил (кнопку проверки лицензии или ссылку на скрипт можно встроить на сайт). Т.к. пользователь у нас зарегистрирован, то мы можем проверить его e-mail на оплату подписки.

Вот тут приведу скрипт-пример автоматической проверки подписки на PHP:

<?php

$lid=2243; // номер нашей лицензии

$email="email@мойсайт.ru"; // e-mail пользователя возьмем из нашей базы данных

$mintime=time() – 60*60*24*31; // Здесь укажем время, когда подписка перестает действовать, т.е. текущее время минус 31 сутки (в секундах). Если мы продаем навечно, то тут надо указать 0 (с начала времен :)))

$url="https://ethlicense.org/check2.php?lid=".$lid."&email=".$email."&mintime=".$mintime;

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_TIMEOUT, 5);

$check = curl_exec($ch); // Делаем запрос к ethlicense.org

curl_close($ch);

$status=json_decode($check,1); // Получаем ответ "true" или "false"

//echo $status["result"]; // Принимаем какие-либо действия в зависимости от результата

?>

Вот так просто мы прикрутили оплату подписки на закрытую часть нашего сайта в ethereum.

Думаю, заложить такой же алгоритм проверки в написанный вами софт тоже не представляется достаточно сложным.

Удачи! :beer:

Полезно? Писать еще?

Да, молодец!
50% (1)
Не спамь тут!
50% (1)
Всего проголосовало: 2

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий