• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Flatly)
  • No Skin
Collapse
SmartHoldem Community

Community

TechnoL0gT

TechnoL0g

@TechnoL0g
About
Posts
261
Topics
114
Groups
8
Followers
11
Following
4

Topics

  • TechnoL0gT

    Код 1й версии обозревателя блоков

    Scheduled Pinned Locked Moved Новости SmartHoldem итоги blockexplorer
    1
    2 Votes
    1 Posts
    2k Views
    TechnoL0gT

    Опубликован код первой версии обозревателя блоков тут
    https://github.com/smartholdem/explorer-v1

    любой желающий может подключиться к доработке/разработке новых функций обозревателя

    Добавлены https/ssl сертификаты для explorer-v1
    https://explorer.smartholdem.io/

  • TechnoL0gT

    Установка Node-A Vagrant Windows

    Scheduled Pinned Locked Moved Гайды
    1
    3 Votes
    1 Posts
    2k Views
    TechnoL0gT

    Гайд по установке Ноды на виртуальную машину для разработки и отладки, вместо docker используется vagrant.

    Установка virtualbox Устанвока vagrant Запуск smartholdem-node-a vagrant Качаем и ставим virtualbox Качаем и ставим vagrant с официального сайта После установки, нужно проверить или vagrant попал в переменную пути (Path), чтобы нам не пришлось полностью прописывать путь. Для этого, правой кнопкой мишки на Мой компьютер > Свойства и выбираем Дополнительные параметры системы. Там есть пункт Дополнительно, где нужно выбрать Переменные среды. И находим переменную Path, где должна быть строка с путем к Vagrant bin.

    !Если глючит и не запускается витуальная машина и выдает синий экран, выполняем команду в cmd

    dism.exe /Online /Disable-Feature:Microsoft-Hyper-V-All Установка ноды качаем и ставим гит для windows качаем офиц ветку testnet реп SmartHoldem. Выполяем cmd git clone -b testnet https://github.com/smartholdem/smartholdem-node-a.git

    !удобно выполнять в total commander для пользователей win

    Затем в папке smartholdem-node-a в консоле windows выполняем команду

    vagrant up

    после выполнения произойдет автоматическая настройка всей среды разработки и переменных окружения в виртуальной машине (занимает некоторое время)

    Если чтот пошло не так, вы можете удалить созданный образ

    vagrant destroy

    или удалить образ из графичекой оболочки virtualbox - smartholdem_vm

    Или остановить выполнение

    vagrant halt

    После успешного выполнения начнется загрузка блокчейн и активируется лог в командной строке

    Вы также можете подключиться к виртуальной машине через putty по адресу 127.0.0.1:2222
    имя пользователя vagrant

    предварительно конвертировав приватный ключ из папки

    ~/smartholdem-node-a/.vagrant/machines/default/virtualbox/private_key

    с помощью программы входящей в набор утилит putty - > PuTTY Gen

    load - показать все файлы - выбрать ..private_key
    type of generate: RSA, указать 2048 в поле nubmer of bits in a generated key
    Жмем Save private key (пароль нет необходимости указывать для ключа в дев)

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

    Теперь открываем putty и в строке подключения указываем

    ip:127.0.0.1, port: 2222

    user: vagrant
    подключиться.. Вот и все.

    *Vagrant также хорош для отладки/разработки аппаратных ключей типа ledger nano, документации smartholdem-api на ruby, blockexplorer и многих других приложений без необходимости вручную устанавливать всю среду *nix или другую os.

    В процессе разработки на nodejs обычно сочетается webstorm+vagrant.*
    В C++: Clion + vagrant если не используете nix

    upd: доступен vagrant для mainnet.

    git clone -b master https://github.com/smartholdem/smartholdem-node-a.git
  • TechnoL0gT

    Мультфильм на движке Counter-Strike: Source

    Scheduled Pinned Locked Moved Курилка
    4
    2 Votes
    4 Posts
    2k Views
    IalloI

    Но если до моей старости придумают вирт мир, буду первым сорвавшимся))

  • TechnoL0gT

    Итоги 13/03/2018

    Scheduled Pinned Locked Moved Новости SmartHoldem итоги новости
    1
    6 Votes
    1 Posts
    2k Views
    TechnoL0gT

    Блок: 908765

    Разработана новая система документации SmartHoldem API Добавляются описания моделей данных.

    Создается отдельная группа репозиториев для open-source игр платформы SmartHoldem

    Отправлены повторные заявки на откликнувшиеся биржи с учетом всех технических требований.

    Добавлен автоматизированный анализатор кода
    Code Climate.

    Весь процесс разработки ведется в github public/private reps.
    Более 1100 коммитов с начала 2018 года

    0_1520951834423_git.jpg

  • TechnoL0gT

    VR в сообществе?

    Scheduled Pinned Locked Moved GameDev
    4
    7 Votes
    4 Posts
    2k Views
    X

    @technol0g Про Emotiv Epoc не слышал даже... Нужно будет ознакомиться, спасибо.
    По поводу скафандра с проводами - интересная характеристика ) Сложно не согласиться. Благо работы ведутся. К первому VIVE делали tpcast, к нынешнему pro - Wireless Adapter. Базовые станции тоже переделывают обещая меньше шума и энергопотребления и больше точности.
    Есть в народе поговорка, что не стоит использовать программное обеспечение пока не выйдет второй сервис пак. Если применить ее и к железу, то ждем следующих релизов, там уже должно быть много интересного.

  • TechnoL0gT

    О категории

    Scheduled Pinned Locked Moved GameDev
    1
    2 Votes
    1 Posts
    2k Views
    TechnoL0gT

    С самого старта платформы мы заявляли о игровом направлении, т.к. команда экосистемы SmartHoldem являются действительными разработчиками игр и blockchain платформы. Все что мы делаем, все для разработчиков и участников сети.

    Если ты уважаемый посетитель данного раздела умеешь творить игры или у тебя есть готовая игра и ты/твоя команда до сих пор думаете как выйти на маркет, о методах монетизации, о проблемах с стимом и гугл маркетом, географических ограничениях итд. Рекомендуем:

    создать тему о вашей игре ознакомиться с api и доступными библиотеками платформы SmartHoldem
    здесь более не прийдется заботиться о безопасности данных твоих пользователей, нагрузке на сервера и сохранности игрового баланса игроков, вся платформа и все сервисы связанные с ней децентрализованы как торрент, но в отличии от торрента здесь не требуется никакой внешний сайт для доступа. Любому пользователю сети SmartHoldem доступна вся сеть и все сервисы и преимущества архитектуры.

    Платформа SmartHoldem стартовала в декабре 2017 года и на старте имела все необходимое для лучшего и быстрого роста.

    Если вы в процессе разработки мега крутой игры, но так сложилось, что вы не имеете ресурсов на дальнейшее ее развитие, снова рекомендую вам создать здесь тему, все потому что в децентрализованной платформе в 3-4м квартале начнет работать децентрализованный краудфайндинг основанный на автоматизированных контрактах и новейшие виды криптомонетизации, которых вы никогда не увидите в устаревших централизованных платформах.

    Если вы простой мечтатель - не беда, но у вас достойная игровая идея и вы уверены в ее эффективности, но сразу скажу темы типа - "круто было бы сделать такую игру" не принимаются, если вы готовы довести свою достойную идею до завершения и выпуска в продакшн и если вы готовы тратить 200% своего времени на взаимодействие с разработчиками при условии когда ваша тема будет принята, только тогда создавайте тему о игровой идее.

    Просто хотел сказать Welcome!

  • TechnoL0gT

    Новая система документации API

    Scheduled Pinned Locked Moved Новости SmartHoldem новости api
    1
    2 Votes
    1 Posts
    2k Views
    TechnoL0gT

    0_1520987997905_sh_API.jpg
    Разработана новая система документации SmartHoldem API на основе slate ruby
    https://api.smartholdem.io

    Документация имеет более понятный интерфейс по сравнению с предыдущей версией и дополнительные примеры с ответами json.

    Исходный код документации находится по адресу https://github.com/smartholdem/api-doc

  • TechnoL0gT

    Как установить и настроить API документацию на сервере

    Scheduled Pinned Locked Moved Гайды
    1
    1 Votes
    1 Posts
    2k Views
    TechnoL0gT

    Последняя версия документации SmartHoldem API на основе slate доступна по адресу
    https://github.com/smartholdem/api-doc

    Установка:

    Установка Ruby gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB sudo apt-get install curl \curl -sSL https://get.rvm.io -o rvm.sh less rvm.sh cat rvm.sh | bash -s stable source ~/.rvm/scripts/rvm rvm install ruby --default ruby -v Устанавливаем bundler gem install bundler Установка документации git clone https://github.com/smartholdem/api-doc.git cd api-docs

    По умолчанию конфиг настроен на порт localhost:4567, если вы хотите изменить порт, отредактируйте конфиг файл

    nano config.rb

    строка: set :port, 4567

    Компилируем

    bundle install

    Запускаем

    bundle exec middleman server

    Для тестирования в windows используйте виртуальную машину с vagrant up.

    Для редактирования, основной файл source/index.html.md
    Дополнительные файлы в source/includes

    Для билдов в html, js использовать команду

    bundle exec middleman build

    после выполнения появится папка build с всеми откомпилированными файлами

  • TechnoL0gT

    Итоги 06/03/2018

    Scheduled Pinned Locked Moved Новости SmartHoldem новости итоги
    1
    8 Votes
    1 Posts
    2k Views
    TechnoL0gT

    Block 832846

    Добавлены автоматизированные тесты для нескольких библиотек smartholdem-rpc smartholdem-blockexplorer sth-js

    системы автоматизированных тестов используют несколько проектов, в том числе команда bitcoin core, автоматизированные тесты исключают многие проблемы при разработке и тестировании

    Полностью завершена и готова к использованию библиотека smartholdem-rpc, в последней версии добавлены параметры работы с RPC Json по whitelist ip:

    Прием запросов с указанного адреса

    --allow <address>

    Прием запросов от всех адресов, для тестирования и настройки

    --allow-remote

    Добавлена работающая генерация иерархических адресов с masterpassword на основе протокола bip38

    Добавлен протокол генерации специализированных qr-кодов с uri на основе протокола bip021 необходимой для выставления счетов, оплаты по ссылкам, новой версии desktop кошелька Общедоступный репозитарий медиа материалов smartmedia постоянно обновляется Анонсирован раздел SmartHoldem Improvement Proposals - SHIPs с собственным шаблоном, аналог BitCoin BIP, в данном разделе предлагаются к реализации будущие протоколоы платформы SmartHoldem Создан Lite Java Client взаимодействия с blockchain SmartHoldem, это 1 из 4 необходимых библиотек развертывания SmartEvents Contracts и нового событийного протокола взаимодействия сервисов см п.7. Создана отдельная группа репозитариев SmartEvents направлена на развитие SmartEvents протоколов, контрактов и нового событийного подхода взаимодействия с blockchain платформами, здесь подробнее:

    Предисловие

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

    По исследованиям многих кампаний, 99% ресурсов серверов тратятся впустую из-за "холостых" обращений к базам данных в сети, что приводит к дополнительным затратам наращивания серверного железа (RAM, CPU etc..)

    Наше видение

    100% эффективность использования ресурсов против 1%, сокращение серверных издержек. Данная проблема решается разработкой событийного подхода, состоящего из слушателей (listeners) и поставщиков услуг (services).

    Участник сети SmartHoldem могут стать как слушателями, так и поставщиками услуг и получать за это дополнительное вознаграждение, оплачиваемое потребителями услуг. Потребители услуг это приложения и кампании, использующие доверенные предоставляемые сообществом сервисы.

    Альтернативно потребители услуг могут поднять своих слушателей и поставщиков услуг на собственных серверах. Не использовать доверенные удаленные сервисы.

    Как это работает

    Пример 1 - необходимо получать информацию о поступающих транзакциях на тысячи адресов

    Listeners слушают события сети в blockchain локально / удаленно, создавая больше возможностей для пользователей сети и децентрализуя службы. API позволяет потребителям создавать подписки и получать события blockchain в режиме реального времени с использованием обратных вызовов Webhook.

    Services обрабатывают события и выполняют любые заданные условия и контракты. Создают и выполняют сервисные контракты, которые могут быть любыми: от загрузки файла до передачи ценностей, создания интеллектуальных контрактов, выполнения кода на вычислительных платформах на основе bockchain или взаимодействия с IoT.

    Потребитель услуг (к примеру биржа с тысячей адресов SmartHoldem) подписывается на события в сети, в нашем примере это поступление транзакции на адреса N1000+ с условием 5+ подтверждений.

    Когда происходит событие Services выполняют необходимую логику, к примеру отправить POST оповещение в базу данных/Callback URL о поступлении новой подтвержденной транзакции и добавить баланс STH в аккаунт пользователя.

    !Здесь исключена любая лишняя нагрузка на сервера и 100% эффективность с минимальным потреблением ресурсов.

    Событийная технология используется и в контрактных детерминированных событиях.

    Пример максимально упрощен в понимании базовых принципов взаимодействия узлов.

    В качестве безопасности могут использоваться white list, доверенные узлы и уникальный API Key, получаемый потребителем услуг на основе STH-Адреса. Т.е. все запросы в сети происходят с авторизацией. Запросы без авторизации отклоняются сервисами и слушателями сети.

    Для получения Api Key потребитель пополняет свой адрес STH на необходимую сумму задаваемую поставщиками услуг от 0 до N монет. Если потребитель является и поставщиком собственных услуг он может задать 0.

    Если потребитель использует доверенных поставщиков услуг, услуга будет предоставляться до тех пор пока не растратится весь баланс подписанного адреса с API Key в пользу поставщика услуг. Рекомендуемая начальная сумма для поставщиков услуг 100 единиц.

    Услуги и контракты неограничены в своих модификациях. Первичные услуги и события могут быть следующего содержания:

    создан новый блок - выполнить операцию получена транзакция на адрес A с числом подтверждений N получена транзакция на адрес A с числом подтверждений N и суммой > S отправлена ставка на игровое событие E инициировано игровое событие + сервисный контракт получен блок N прямой обмен BTC > STH через сеть + контракт
    итд..
  • TechnoL0gT

    Закрытие уникальной игры Paragon 26 апреля

    Scheduled Pinned Locked Moved Курилка
    6
    2 Votes
    6 Posts
    3k Views
    IalloI

    Помню в прошлом был любителем Экшенов )) очень нравились такие игры как : Кредо Ассасинов , Кризис , Колда . Сегодня больше склоняюсь к линейке . Жду третью линейку .

  • TechnoL0gT

    Итоги 25/02/2018

    Scheduled Pinned Locked Moved Новости SmartHoldem итоги
    3
    9 Votes
    3 Posts
    3k Views
    TechnoL0gT

    @mkbeh без rpc все работает, гдето ошибка

    еще один вариант отправки:

    curl -k -H "Content-Type: application/json" -X PUT -d '{"secret":"this is a test","amount":10000000,"recipientId":"Sa9JKodiNeM7tbYjxwEhvvG1kBczhQxTN3"}' http://127.0.0.1:6100/api/transactions

    В примере отправляется 0.10 STH

    !Вместо 127.0.0.1 реальный ip адрес вашей ноды

    Результат тестирования curl этой транзакции тут все как видите работает

  • TechnoL0gT

    Интересные языки программирования

    Scheduled Pinned Locked Moved Курилка
    1
    2 Votes
    1 Posts
    1k Views
    TechnoL0gT

    Язык Форт (не путать с Фортраном) разработан Чарльзом Муром в конце 1960-х — начале 1970-х годов
    для управления астрономическим оборудованием, но этот парень не остановился на простом интерпретаторе и разработал 144-ядерный процессор с ценой продажи в 20$, судя по всему он их печатает на спец 3D принтере, что удешевляет технологию, на официальном сайте можно преобрести это чудо за Биткоины, +продается плата для монтажа 2х процессоров, стоимость платы 200$. Думаю малая распространенность новой технологии из-за отсутствия годных программ, OS итд. Будем надеяться с временем ситуация изменится и архитектура x86 уйдет в прошлое с своими недостатками.

    Язык R мощный скриптовый кросс-платформенный язык для статистического анализа огромнейших объемов данных, https://www.ibm.com/developerworks/ru/library/bd-learnr/index.html
    Одна из библиотек SmartHoldem в данный момент пишется на этом языке.

  • TechnoL0gT

    Лучшие среды разработки крипты и не только

    Scheduled Pinned Locked Moved Блоги
    3
    4 Votes
    3 Posts
    2k Views
    TechnoL0gT

    На данный момент идеальный кандидат реализации БЧ Node-Z-X выбран RUST

  • TechnoL0gT

    Как обеспечивается безопасность проведения транзакций

    Scheduled Pinned Locked Moved Блоги
    1
    5 Votes
    1 Posts
    2k Views
    TechnoL0gT

    SmartHoldem использует криптографическое хеширование для обеспечения безопасности всех аспектов системы. Система использует EdDSA, поскольку она обеспечивает гораздо более быстрый механизм хэширования и обеспечения безопасности [см. http://cr.yp.to/highspeed/coolnacl-20120725.pdf]; а не ECDSA, который встречается во многих других криптомонетах, таких как биткойн.

    Закрытый и открытый ключ (Key pair)

    Key pair состоит из закрытого (приватного) ключа и открытого (публичного) ключа. Приватный ключ - это информация, известная только владельцу ключа. Открытый ключ получается из закрытого ключа и может использоваться для проверки того, что закрытый ключ принадлежит владельцу, но не предоставляет доступ к закрытому ключу владельца. Криптография по элиптической кривой используется для генерации криптографически защищенных пар ключей.

    Процесс, используемый для создания пары ключей, работает в следующих предположениях:

    Когда пользователь создает учетную запись, для пользователя генерируется мнемоника BIP39 (кодовая фраза). Эта кодовая фраза хэшируется с использованием хэш-функции SHA-256 в 256-битной строке. Этот хеш впоследствии используется как seed в ed25519 для генерации приватного ключа ks и получает его открытый ключ kp.

    Генерация key-pair

    С помощью приватного ключа пользователь может подписывать транзакции в объекте-транзакции и транслирует этот объект в сеть. Открытый ключ включен как часть транзакции, а узлы, которые получают транзакцию, могут проверить достоверность подписи с использованием kp. Это обеспечивает эффективную защиту как для пользователя, так и для сети, поскольку ks известен только пользователю, а kp может подтвердить, что подпись действительна.

    Вторая фраза (будет доступна в новых версиях кошелька)

    SmartHoldem предлагает дополнительный уровень безопасности для пользователя. Используя специальный класс транзакций, пользователь может зарегистрировать вторую парольную фразу, связанную с kp. Эта взаимосвязь требует, чтобы все последующие транзакции подписывались с использованием второй фразы, чтобы считаться действительной. Процесс генерации второй пары ключей такой же, как и для пары основных ключей.

    Мультиподписи (Multisignature) (доступно в ближайших версиях кошелька)

    СмартХолдем поддерживает аккаунты с мультиподписями в качестве альтернативной системы безопасности для пользователей, которым необходимо больше функций. Мультиподписная учетная запись - это учетная запись, которая требует чтобы несколько подписантов подписывали транзакцию несколькими подписями. Любой пользователь может включить учетную запись c мультиподписями на своем адресе, выпустив специальную транзакцию, в которой указывается группа ksn и требуется минимальное количество подписей, необходимых для подтверждения транзакции как действительной. Затем в блокчейн предполагается, что любые транзакции, происходящие из этого аккаунта, должны быть подписаны минимальным кворумом связанных аккаунтов до того, как любая транзакция из мультиподписной учетной записи может быть обработана.

    Адрес

    Адрес или id кошелька формируется из открытого ключа. Открытый ключ хешируется с использованием SHA-256 и результат выполнения всегда начинается с "S"

    0_1519092149189_smart-bc.png

  • TechnoL0gT

    Итоги 19/02/2018

    Scheduled Pinned Locked Moved Новости SmartHoldem итоги новости
    2
    13 Votes
    2 Posts
    3k Views
    googlleG

    @technol0g said in Итоги 19/02/2018:

    Начата интеграция с латиноамериканской биржей в качестве основного расчетного биржевого актива SmartHoldem (подробности 2 квартал 2018).

    Если это Bitinka, то весьма не дурно 43-яя по объему торгов, больше чем у криптопии

  • TechnoL0gT

    Resultados 12/02/2018

    Scheduled Pinned Locked Moved Noticias
    2
    1 Votes
    2 Posts
    2k Views
    intxI

    @technol0g Necesitas un demonio como en la moneda crypto usual

  • TechnoL0gT

    ¿Qué es SmartHoldem plataforma?

    Scheduled Pinned Locked Moved Más sobre la plataforma SmartHoldem
    1
    0 Votes
    1 Posts
    2k Views
    TechnoL0gT

    0_1518947629368_09.jpg
    Esta es una nueva plataforma descentralizada tecnológica.
    Diseñado para reunir a jugadores, desarrolladores, inversores y criptomonedas.

    La plataforma tiene su propia cadena de bloques.

    Parámetros básicos:
    Monedas emitidas al inicio: 240,000,000
    Algoritmo: Delegado
    Firme los bloques: 64 delegados
    Tiempo de unidad: 5-8 segundos
    limitación de emisión: 246,000,000

    Descargar billetera: https://github.com/smartholdem/smartholdem-wallet/releases/latest

    Instale el nodo - A: https://github.com/smartholdem/smartholdem-node-a

    Por favor haga preguntas y nuestro equipo los responderá.

  • TechnoL0gT

    Итоги 12/02/2018

    Scheduled Pinned Locked Moved Новости SmartHoldem
    1
    6 Votes
    1 Posts
    2k Views
    TechnoL0gT

    Постоянных нод онлайн 87
    Блоков 600000
    Снимок blockchain http://explorer.smartholdem.io/snapshots/

    добавлены подписи к аккаунтам в топ https://blockexplorer.smartholdem.io/topAccounts

    автоматическое определение языка в обозревателе

    исходный код обозревателя https://github.com/smartholdem/smartholdem-blockexplorer.git

    добавлены доверенные ноды с ssl в онлайн кошелек https://onlinewallet.smartholdem.io/

    исправления в бумажном кошельке https://paperwallet.smartholdem.io/
    теперь доступен для скачивания и использования локально https://paperwallet.smartholdem.io/SmartHoldemPaper.zip

    обновления API (peers, blockchain, txs) https://api.smartholdem.io/

    новый сервер сообщества https://community.smartholdem.io

    исправления в модуле взаимодействия с апи через rpc

    добавлена библиотека взаимодействия с апи через typescript

    TechnologiesPro CRM взаимодействия всех разработчиков
    0_1518442474599_Войти в TechnologiesPro CRM.png

    wiki NODE-A https://github.com/smartholdem/smartholdem-node-a/wiki

  • TechnoL0gT

    Добавлен русскоязычный перевод для обозревателя

    Scheduled Pinned Locked Moved Новости SmartHoldem
    2
    0 Votes
    2 Posts
    2k Views
    vlad2323V

    @mkbeh прикольно))

  • TechnoL0gT

    Частые вопросы и ответы

    Scheduled Pinned Locked Moved Гайды
    2
    1 Votes
    2 Posts
    2k Views
    Xoz9inX

    Если начнут сливать монеты и цена будет 0.01 или ниже, то многие начнут закупаться (я в том числе) + биржевые спекулянты будут трейдить. Цена монеты на дно точно не упадёт! Моё мнение будет где то варьироваться от 0.01 - 0.03 по началу, за год вырастет по более!

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 4 / 6
  • Login

  • Don't have an account? Register

  • Login or register to search.
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search