Присоединяйтесь к обсуждению в чате https://gitter.im/amiuhle/kasisto Kasisto это платежная система для точек продаж (PoS, Poin of Sale) принимающая в качестве оплаты Monero. Необходимо только подключение к интернету, участие третьей стороны не требуется. Чтобы работать быстро(подтверждение за секунды) Kasisto принимает неподтвержденные транзакции. Kasisto за 22 секунды (видео) Попробуй Если в настройках не указан кошелек Kasisto, по умолчанию будет работать с кошельком из тестовой сети, поэтому легко может быть протестирован. Скачайте Monerujo и создайте кошелек для тестовой сети. Имейте ввиду, что вы должны быть подключены к старой v6 тестовой сети, до хардфорка v7 (bulletproof). Можете использовать testnet.kasisto.io в качестве удаленного узла. Начало работы Kasisto состоит из приложения запущенного на мобильном телефоне или планшете и сервера для прослушивания входящих платежей, к которому подключается приложение. Мобильное приложение Kasisto реализован в виде Progressive Web App. Предназначен для работы в любом современном мобильном браузере, включая Chrome для Android, Firefox, Safari iOS и Edge. Может быть добавлен на рабочий экран и таким образом запускаться без показа адресной строки браузера. Все детали платежа и настройки сохраняются локально в приложении, доступ к серверу осуществляется только в режиме чтения, для получения входящих транзакций. Сервер Сервер отвечает за связь с сетью Monero и может находиться в вашей локальной сети или где-то на просторе интернета. Ему необходим запущенный Monero демон, кошелек только для просмотра (view-only) и веб-прокси для обработки HTTPS запросов. Подробные инструкции по установке описаны в документации. (перевод этой документации ниже) Разработка Скопировать, установить зависимости и запустить yarn для установки зависимости. ( npm install должно работать отлично). Чтобы запустить локальный сервер выполните yarn start. Содействие Если вы хотите внести вклад в Kasisto, вы можете сделать это любым из следующих способов: Протестировать Kasisto используя его в кафе, баре или магазине. Если у вас возникли сложности с настройкой, откройте запрос (issue) и я помогу! Отправить запрос о любой другой проблеме или отправить исправление\дополнение (pull request) Посмотреть существующие проблемы. Не все они связаны с разработкой, метки help-wanted и research в основном касаются конфигурации\обслуживания и фактических исследований в реальном мире. Также вы можете поддержать проект пожертвовав на следующий адрес: Код: 4JkULN8gD1M1hjSJBMgnC8FTKhVgMeYg6dzbqnhmSiERc3M4TUrJZ4nDMet1vCkh98C8nJWFmEMiAaaDRwWehqAJFrzAq1WNEP4SXgbVNX Источник ======================================= Установка сервера Сервер состоит из следующих компонентов: Полная нода (monerod) Кошелек только для просмотра (view-only), с доступом через monero-wallet-rpc nginx в качестве обратного прокси (reverse), обслуживающий HTTPS Руководство по установке Описанное основано на свежем Ubuntu Server 16.04.3 LTS. Достаточно стандартного тарифного плана DigitalOcean за $5 с дополнительным подключенным Volume. Можете использовать реферальную ссылку, чтобы получить первые 10$ бесплатно. Установка monero Код: sudo apt update sudo apt upgrade -y # Скачать Monero curl -L https://downloads.getmonero.org/cli/linux64 -o /tmp/monero.tar.bz2 # Сверить checksum. Это для релиза 0.11.1.0 # Более свежие релизы, смотри тут https://getmonero.org/downloads/#linux echo "6581506f8a030d8d50b38744ba7144f2765c9028d18d990beb316e13655ab248 /tmp/monero.tar.bz2" | sha256sum -c # Распаковать в /usr/local/bin, кроме папок tar -xf /tmp/monero.tar.bz2 -C /usr/local/bin --strip 2 rm /tmp/monero.tar.bz2 monerod --version # => Monero 'Helium Hydra' (v0.11.1.0-release) # создать отдельного пользователя для запуска Monero демона и кошелька sudo adduser monero # создать папку для кошельков su monero mkdir /home/monero/wallets Создать кошелек только для просмотра и загрузить его в /home/monero/wallets. Настройка monero сервисов Код: # установить supervisor sudo apt install supervisor -y # /etc/supervisor/conf.d/monerod.conf [program:monerod] command=monerod --data-dir /home/monero/.bitmonero directory=/home/monero autostart=true autorestart=true user=monero stderr_logfile=/var/log/supervisor/monerod.err.log stdout_logfile=/var/log/supervisor/monerod.out.log # /etc/supervisor/conf.d/monero-wallet-rpc.conf [program:monero-wallet-rpc] command=monero-wallet-rpc --rpc-bind-port 18083 --disable-rpc-login --wallet-file /home/monero/wallets/wallet-name --password '' directory=/home/monero autostart=true autorestart=true user=monero stderr_logfile=/var/log/supervisor/monero-wallet-rpc.err.log stdout_logfile=/var/log/supervisor/monero-wallet-rpc.out.log # перезапустить supervisor чтобы запустить monerod и monero-wallet-rpc sudo service supervisor restart monerod будет синхронизироваться с сетью, что потребует некоторое время. На DigitalOcean можно ускорить процесс изменив параметры droplet (без изменения дискового пространства). После синхронизации можно вернуть параметры droplet обратно. Отслеживать процесс можно через monerod status или просматривая лог-файл. Установка nginx обратного прокси с поддержкой TLS Вам понадобится SSL сертификат. Можете использовать LetsEncrypt или любой другой. Если используете "самоподписанный" (self-signed ) сертификат, его необходимо импортировать на мобильное устройство, на котором вы используете Kasisto (Android | iOS). Код: sudo apt install nginx -y Код: server { server_name example.com; listen [::]:18082 ssl; listen 18082 ssl; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; charset UTF-8; location /json_rpc { # Optional HTTP Basic Authentication # auth_basic "Restricted"; # auth_basic_user_file /etc/nginx/.htpasswd; proxy_http_version 1.1; proxy_pass http://127.0.0.1:18083/json_rpc; add_header Access-Control-Allow-Origin https://amiuhle.github.io always; add_header Access-Control-Allow-Methods "POST, GET, OPTIONS" always; add_header Access-Control-Allow-Headers "Origin, Authorization, Accept, Content-Type" always; add_header Access-Control-Allow-Credentials true always; if ($request_method = 'OPTIONS') { add_header Access-Control-Allow-Origin https://amiuhle.github.io always; add_header Access-Control-Allow-Methods "POST, GET, OPTIONS" always; add_header Access-Control-Allow-Headers "Origin, Authorization, Accept, Content-Type" always; add_header Access-Control-Allow-Credentials true always; # Сообщить клиенту что эта предварительная информация будет действительна в течении 20 дней. add_header 'Access-Control-Max-Age' 1728000; add_header 'Content-Type' 'text/plain charset=UTF-8'; add_header 'Content-Length' 0; return 204; } } } На данный момент поддерживается только HTTP Basic Authentication. Посколько HTTPS необходим пароль будет отправлен по сети в зашифрованном виде. Код: sudo apt install apache2-utils -y sudo htpasswd -c /etc/nginx/.htpasswd user1 Введите и подтвертдите пароль и включите аутентификацию раскоментировав две строчки auth_basic в конфигурации nginx Источник: Kasisto Перевод: MoneroRus (@MoneroRus) Редактирование: Mr. Pickles (@v1docq47) Коррекция: Kukima (@Kukima)