npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

viz-awards-gates

v1.1.3

Published

NPM package for Awards gates in VIZ blockchain

Downloads

3

Readme

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:[email protected]

Функционал:

  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/