viz-awards-gates

    1.1.3 • Public • Published

    viz-awards-gates

    NPM пакет для приложений, награждающих пользователей различных сервисов/

    Установка:

    1. В папке вашего node.js приложения выполните команду: npm install viz-awards-gates
    2. После завершения инсталляции перейдите в node_modules/viz-awards-gates и измените файл config.json: укажите в нём название сервиса (по умолчанию youtube; можно использовать домен сайта, например, myforum.ru), а также логин и активный ключ аккаунта шлюза.
    3. Сохранив файл, подключите в коде своего приложения. Пример:
    const vag = require('viz-awards-gates');
    async function noReturn() {
    await vag.getAwards();
    }
    noReturn();
    async function getViz(user, viz_acc, amount) {
    if (user === true) { // проверяем, что в приложении авторизовался именно тот пользователь сервиса, кого награждали.
    await wag.addVizAccount(user, viz_acc); // добавляем в базу данных VIZ- аккаунт к существующему пользователю.
    await vag.withdraw(user, amount, 'to_balance'); // выводим ему токены в баланс Viz (to_shares переведёт в долю).
    }
    }
    

    Учитывайте, что проверка авторизации пользователя указанного вами сервиса должна осуществляться на стороне вашего приложения. Данный функционал не был добавлен в пакет, т.к. идентификация отличается от сервиса к сервису. 4. Дайте инструкцию пользователю шлюза или внедрите награду в интерфейс. Memo имеет вид: "сервис:логин" (без кавычек), например, youtube:scadens или myforum.ru:login@mail.ru

    Функционал:

    1. Получение из блокчейна наград, адресованных аккаунту шлюза, и их фильтрация по memo (проверка, что заметка соответствует вашему сервису).
    2. Прибавление или создание баланса в базе данных. Под прибавлением баланса понимается увеличение суммы в базе данных для конкретного логина. Под созданием баланса понимается добавление нового логина в БД. Под логином понимается информация, которая позволяет идентифицировать пользователя: id, email, логин, первый ключ и пр.
    3. Добавление VIZ-аккаунта.
    4. Вывод – специальная функция (см. пример подключения в разделе установки), которая отправляет накопленный баланс с аккаунта шлюза на аккаунт пользователя в VIZ. При этом можно вывести как всю сумму, так и её часть. Кроме того, ваше приложение может автоматически выводить всю сумму раз в определённое время, получив баланс пользователя и указав его при выводе.
    5. Существует две базы данных: с последним блоком и со списком пользователей сервиса (в ней указываются логины и их балансы). При желании с ними можно работать.
    6. Возможность регистрировать аккаунт. При регистрации весь баланс пользователя вашего шлюза идёт в SHARES.
    7. Шлюз сам себя награждает каждые 7,5 минут на 0,1% энергии для обеспечения SHARES.

    Функции в index.js:

    Экспортированы getAwards, addVizAccount, withdraw и search.

    1. getAwards - не требует аргументов.
    2. addVizAccount(user, viz_login) - функция добавления VIZ-аккаунта в базу данных пользователей. Принимает аргументы: логин в БД, логин в VIZ. Возвращает json, содержащий либо 1 (всё в порядке), либо 0 (аккаунта нет в базе), либо -1 (ошибка). Если значение 1, отправляется message с текстом сообщения об успехе. Если значение 0 или -1, отправляется error с текстом сообщения о несуществующем пользователе (0) или текстом ошибки (-1).
    3. withdraw: логин в сервисе (который содержится в базе данных), сумма в SHARES без указания "SHARES" и mode: to_balance - в ликвид, to_shares - в долю. Пример: ag.withdraw('scadens', 3.168929, 'to_shares'). Сумма SHARES не должна быть больше имеющейся у пользователя в базе данных. Указанный логин в VIZ должен быть в БД. Возвращает json. Он состоит из code (1, если успех; 0, если аккаунта нет в базе данных; -1, если иная ошибка).
    4. withdrawShares (не требует вызова в приложении, без аргументов).
    5. search (поиск пользователя в базе). Единственный аргумент - логин пользователя. Пример: await vag.search('scadens');
    6. userRegistration - функция, которая позволяет регистрировать аккаунт Viz. Параметры: user, viz_login. user - логин/id/что-то ещё пользователя приложения, с которым коннектится шлюз; viz_login - Желаемый логин Viz. Возвратит приватный ключ или или объект с кодом ошибки и текстом (0 - пользователя приложения такого нет, -1 - ошибка прочие ошибки.
    7. awardMe (не требует вызова в приложении, вызывается каждые 450000 миллисекунд). Награждает аккаунт шлюза самого себя.

    Что не делает viz-awards-gates, а реализует приложение, использующее npm пакет:

    1. Отправляет уведомление о награждении. Первоначально планировал добавить эту возможность в пакет, но потом понял, что это ни к чему, т.к. в каждом приложении будет свой текст.
    2. Само определяет подлинность авторизовавшегося пользователя: через oAuth, путём отправки custom_json или memo (блокчейны) или иным способом.

    Проведены тесты:

    Всё ок.

    Контакты:

    Автор - Денис Скрипник. Telegram: https://t.me/skripnikdenis Viz аккаунт: https://viz.world/@denis-skripnik/

    Install

    npm i viz-awards-gates

    DownloadsWeekly Downloads

    1

    Version

    1.1.3

    License

    MIT

    Unpacked Size

    22.4 kB

    Total Files

    10

    Last publish

    Collaborators

    • denis-skripnik