Скрипт даркнет-маркетплейса с оплатой криптой
Eckmar V2.0.1 (Eckmar's Marketplace Script)

Eckmar — это open-source маркетплейс с поддержкой криптовалют, построенный на Laravel.
Демо: ojubxw4wj5qzyxlyp67xkzhtkfslr26lqjcfxxihoounv326uarkrrad.onion/
Скачать Eckmar-v2-master | Скачать Eckmar-v2-2.0.1 | Скачать Eckmar-v2-2.0.1.tar
Особенности
Аккаунты Продавцов
Любой пользователь может зарегистрироваться и покупать товары на маркетплейсе, но для создания лота необходим статус продавца. Статус продавца можно получить двумя способами: бесплатно после одобрения заявки администратором или за плату (сумма устанавливается в админ-панели).
Автозаполнение
Система автозаполнения создана для пользователей, продающих множество товаров (например, ключи для программ). Они могут заполнить поле, где каждая строка представляет один товар для продажи. Если товар настроен на автозаполнение, этап доставки пропускается, и покупатель автоматически получает первый элемент в списке.
Система Сообщений
Пользователи могут отправлять друг другу личные сообщения.
Сброс Пароля с Мнемоникой
При регистрации пользователь получает уникальную мнемонику, которую можно использовать для сброса пароля.
Кошелек
Когда пользователь хочет пополнить баланс, каждый раз для него генерируется новый адрес депозита (старые сгенерированные адреса остаются активными). Текущая система требует, чтобы пользователь нажал кнопку "проверить баланс", чтобы система проверила наличие средств. Возможно, система будет настроена на автоматическую проверку баланса каждые несколько минут, но это может быть ресурсоемким процессом при большом количестве пользователей.
Эскроу
При покупке товара взимается комиссия (настраивается) и активируется автоматическая система эскроу. Если продавец не поставил товар или товар не соответствует заявленному, покупатель может открыть спор. Обсуждение спора доступно пользователям и администратору (один из пользователей может быть администратором и отвечать как сторона спора или администратор).
Отзывы
Система отзывов состоит из двух частей: оценка отзывов и уровень доверия. Оценка — это процент положительных отзывов, а уровень доверия может быть "Очень низкий", "Низкий", "Средний" или "Высокий" (если пользователь получил менее пяти отзывов — "Не доказан").
Новости
Простая блоговая система, которая отображается на главной странице. Можно использовать для информирования пользователей.
Аукционная Система
Товары можно продавать как обычные лоты или как аукционы. Можно задать дату окончания, минимальную ставку и цену выкупа. После этого процесс автоматизируется: система автоматически обновляет минимальную ставку, если пользователи делают ставки.
Учтите, что требования к программному обеспечению могут изменяться, поэтому всегда проверяйте актуальные версии онлайн. Вы можете разместить Marketplace на любом сервере, который соответствует указанным требованиям.
Требования к серверу
Требования к программному обеспечению
PHP7 (рекомендуется версия 7.2)
SQL-база данных (MySQL, PostgreSQL, SQLite, SQL Server)
Elasticsearch (для поисковой функциональности)
Redis (опционально, но рекомендуется для повышения производительности)
Инструкции по установке
ЧАСТЬ 1 - ОБЩАЯ УСТАНОВКА СКРИПТА
Этот учебник основан на Ubuntu 18.04.
Nginx
Установка Nginx:
sudo apt-get update
sudo apt-get install nginx
sudo ufw allow 'Nginx HTTP'
MySQL
Установите MySQL и настройте безопасность:
sudo apt-get install mysql-server
mysql_secure_installation
mysql -u root -p
Создайте базу данных Marketplace:
CREATE DATABASE marketplace DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
exit
PHP
Установка PHP и редактирование файла php.ini:
sudo apt-get install php7.2-fpm php-mysql
sudo nano /etc/php/7.2/fpm/php.ini
Откомментируйте строку cgi.fix_pathinfo=1
и установите значение на cgi.fix_pathinfo=0
.
Перезагрузите php-fpm:
sudo systemctl restart php7.2-fpm
Установите необходимые расширения PHP, composer и unzip:
sudo apt-get install php7.2-mbstring php7.2-xml php7.2-xmlrpc php7.2-gmp php7.2-curl php7.2-gd composer unzip -y
Elasticsearch
Установка Oracle JDK и Elasticsearch:
sudo add-apt-repository ppa:webupd8team/java
sudo apt update
sudo apt install oracle-java8-installer
sudo update-alternatives --config java
Редактирование файла окружения:
sudo nano /etc/environment
Добавьте:
JAVA_HOME="/usr/lib/jvm/java-8-oracle/jre/bin/java"
Перезагрузите файл окружения:
source /etc/environment
echo $JAVA_HOME
Установите Elasticsearch:
wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/deb/elasticsearch/2.3.1/elasticsearch-2.3.1.deb
sudo dpkg -i elasticsearch-2.3.1.deb
Запуск Elasticsearch:
sudo service elasticsearch start
Redis
(Опционально, но рекомендуется для улучшения производительности)
Установите и настройте Redis:
sudo apt-get install redis-server
sudo nano /etc/redis/redis.conf
Измените параметр supervised
с no
на systemd
. Перезагрузите Redis:
sudo systemctl restart redis.service
Проверьте работу Redis:
Node и NPM
Установите NodeJs и NPM:
sudo apt-get install -y nodejs
sudo apt-get install -y npm
Файлы
Скопируйте файлы Marketplace на сервер в новую директорию в папке /var/www
.
Права доступа
Установите права доступа для файлов:
sudo chown -R www-data:www-data /var/www/DIRECTORY_NAME/public
sudo chmod 755 /var/www
sudo chmod -R 755 /var/www/DIRECTORY_NAME/bootstrap/cache
sudo chmod -R 755 /var/www/DIRECTORY_NAME/storage
Свяжите публичную директорию с хранилищем:php artisan storage:link
sudo mkdir /var/www/DIRECTORY_NAME/storage/public/products
Конфигурация Nginx
Редактирование конфигурации Nginx:
sudo nano /etc/nginx/sites-available/default
Пример конфигурации:
server {
listen 80;
listen [::]:80;
listen 443;
listen [::]:443;
root /var/www/market/public;
index index.php index.html index.htm index.nginx-debian.html;
server_name domain.com;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Проверьте конфигурацию:
Установка
Перейдите в директорию с файлами Marketplace и выполните:
composer install
npm install
npm run prod
cp .env.example .env
php artisan key:generate
Откройте файл .env и добавьте данные для подключения к базе данных.
Пример конфигурации базы данных:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=marketplace
DB_USERNAME=root
DB_PASSWORD=password
CACHE_DRIVER=redis
Миграция базы данных:
Создание тестовых данных (опционально):
После успешного выполнения команд ваш маркетплейс готов к работе. Поздравляем!
Подключение криптовалют
Настройте параметры подключения для поддерживаемых криптовалют в файле .env
:
Bitcoin: BITCOIND_HOST=server_ip
Litecoin: LITECOIN_PASSWORD=password
Monero: MONERO_USER=username
, MONERO_PASSWORD=password
Pivx: PIVX_USER=username
, PIVX_PASSWORD=password
Dash: DASH_PASSWORD=password
Verge: VERGE_USER=username
, VERGE_PASSWORD=password
Bitcoin Cash: BITCOIN_CASH_USER=username
, BITCOIN_CASH_PASSWORD=password
Конфигурация Marketplace
Конфигурация Marketplace разделена на несколько файлов в папке config
. Основной файл конфигурации — marketplace.php
. Вы найдете дополнительные параметры конфигурации в experience.php
и coins.php
для уровней, опыта и адресов получения прибыли.
ЧАСТЬ 2 - НАСТРОЙКА И ЗАПУСК УЗЛА БИТКОИН
Загрузка Bitcoin Core:
Для начала перейдите на официальный сайт Bitcoin (https://bitcoin.org/en/bitcoin-core/) и скачайте последнюю версию Bitcoin Core, подходящую для вашей операционной системы.
Настройка Bitcoin Core:
После успешной установки Bitcoin Core пора настроить его в соответствии с вашими требованиями. Следуйте этим шагам, чтобы создать необходимый конфигурационный файл:
a. Запуск bitcoind: После установки откройте терминал или командную строку и введите следующую команду для запуска процесса bitcoind в фоновом режиме:
bitcoind &
b. Создание конфигурационного файла: Далее перейдите в директорию .bitcoind в корневой папке и создайте файл bitcoin.conf, используя текстовый редактор nano:
cd ~/.bitcoind/
nano bitcoin.conf
c. Добавление конфигураций: Внутри файла bitcoin.conf вставьте следующие конфигурации:
rpcuser=nodeuser
rpcpassword=nodepassword
testnet=1
rpcport=8332
rpcallowip=127.0.0.1
server=1
Перезапуск Bitcoind: Чтобы применить новые конфигурации, вам нужно перезапустить bitcoind. Выполните следующую команду:
bitcoind stop
bitcoind
Тестирование с помощью Curl: Вы можете протестировать вашу установку, используя Curl для взаимодействия с узлом Bitcoin. Выполните следующую команду:
curl --user nodeuser:nodepassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getnewaddress", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:8332/ -w '%{http_code}\n'
Если все работает корректно, не забудьте изменить rpcuser и rpcpassword в файле .env для Bitcoin.
Добавление PPA Bitcoin: Чтобы получить доступ к последним обновлениям репозитория Bitcoin, вам нужно добавить Bitcoin Personal Package Archive (PPA). PPA — это программный репозиторий для пользователей Ubuntu, предоставляющий проверенные и утвержденные установки программного обеспечения. Выполните следующие команды в терминале, чтобы добавить репозиторий и получить обновления:
sudo apt-add-repository ppa:bitcoin/bitcoin
sudo apt-get update
Установка полного узла Bitcoin: Теперь вы готовы установить полный узел Bitcoin с помощью опции терминала. Выберите один из следующих вариантов установки в зависимости от ваших предпочтений:
sudo apt-get install bitcoin-qt bitcoind
Запуск узла Bitcoin: После успешной установки все файлы Bitcoin будут находиться в директории lib. Для запуска узла Bitcoin просто используйте команду bitcoind в терминале.
Настройка Testnet: Рекомендуется создать конфигурационный файл в ~/.bitcoin/bitcoin.conf для узла Bitcoin. Вот пример конфигурации для тестовой сети (testnet):
#server=1 // включите это для основной сети и закомментируйте testnet
testnet=1 // раскомментируйте для запуска узла в testnet и закомментируйте server
daemon=1 // это используется для запуска узла в фоновом режиме
#rpcbind=0.0.0.0:18332
rpcuser=username
rpcpassword=Password
rpcallowip=0.0.0.0/0
rpcallowip=custom_ip_address
#rpcport=54543
walletnotify=/home/transaction.sh %s
Синхронизация узла: Прежде чем использовать ваш узел, необходимо синхронизировать его со всеми транзакциями и блоками. Этот процесс может занять несколько дней, в зависимости от объема данных для синхронизации.
Проверка узла: Вы можете получить доступ к кошельку на сервере с помощью инструмента bitcoin-cli. Например, для проверки баланса вашего кошелька используйте команду:
bitcoin-cli getbalance
Поздравляем! Вы успешно настроили и сконфигурировали полный узел Bitcoin. Теперь, с полностью синхронизированным узлом, вы готовы проверять блоки, выполнять транзакции и активно участвовать в сети Bitcoin.
ССЫЛКИ:
УСТАНОВКА Eckbar Marketplace Script 2.0
1. Установка Nginx
Обновите пакеты:
Установите Nginx:
Разрешите HTTP-трафик через брандмауэр:
После завершения этих шагов проверьте IP-адрес вашего VPS и введите его в браузере. Если видите страницу:
"Welcome to nginx!", значит, установка прошла успешно.
2. Установка MySQL
Marketplace поддерживает различные базы данных (MySQL, PostgreSQL, SQLite, SQL Server), но мы используем MySQL.
Установите MySQL:
Запустите настройку безопасности:
Создайте базу данных:
(Команды вводите по одной!)
3. Установка PHP
Установите PHP (PHP-FPM) и расширение для работы с MySQL:
Проверьте версию PHP:
Отредактируйте файл настроек PHP:
Найдите строку
Удалите #
и измените на:
Сохраните файл и перезапустите PHP:
Установите дополнительные расширения PHP:
4. Установка Elasticsearch
Elasticsearch требует Java, установите Oracle JDK 8:
Проверьте установку:
Добавьте переменную окружения:
Добавьте строку:
Примените изменения:
Установите Elasticsearch:
Запуск при старте системы:
Запустите Elasticsearch:
Проверьте работу:
Ошибка нехватки памяти?
Откройте настройки:
Измените:
Перезапустите сервис:
5. Установка Redis (опционально, но ускоряет работу)
Настройка конфигурации:
Найдите supervised no
и измените на supervised systemd
, затем сохраните.
Перезапустите Redis:
Проверьте работу:
Должен появиться ответ PONG.
6. Установка Node.js и NPM
Проверка:
7. Копирование файлов и настройка прав
Создайте папку и скопируйте в неё файлы Marketplace (например, /var/www/marketplace
).
Настроим права:
Создадим символическую ссылку:
Создадим папку для хранения изображений товаров:
Настроим права доступа:
8. Установка зависимостей и настройка
Перейдите в папку Marketplace и выполните:
Откройте .env
файл:
Настройте подключение к базе:
Если используете Redis, измените параметр:
Запустите миграции базы:
Создайте тестовые данные:
Удалить тестовые данные можно командой:
Поздравляем, базовый Marketplace установлен! 🎉
9. Подключение криптовалют
Файл .env поддерживает разные валюты:
Криптовалюта | Префикс в .env |
---|
Bitcoin | BITCOIND |
Litecoin | LITECOIN |
Monero | MONERO |
Pivx | PIVX |
Dash | DASH |
Verge | VERGE |
Bitcoin Cash | BITCOIN_CASH |
Настройте параметры:
10. Конфигурация Marketplace
Файлы конфигурации находятся в папке config:
marketplace.php
— основные настройки.
experience.php
— уровни и опыт.
coins.php
— настройки кошельков.
11. Контакты разработчика
Если возникли ошибки в коде, свяжитесь с автором: