if (!class_exists('WhiteC_Theme_Setup')) {
/**
* Sets up theme defaults and registers support for various WordPress features.
*
* @since 1.0.0
*/
class WhiteC_Theme_Setup
{
/**
* A reference to an instance of this class.
*
* @since 1.0.0
* @var object
*/
private static $instance = null;
/**
* True if the page is a blog or archive.
*
* @since 1.0.0
* @var Boolean
*/
private $is_blog = false;
/**
* Sidebar position.
*
* @since 1.0.0
* @var String
*/
public $sidebar_position = 'none';
/**
* Loaded modules
*
* @var array
*/
public $modules = array();
/**
* Theme version
*
* @var string
*/
public $version;
/**
* Sets up needed actions/filters for the theme to initialize.
*
* @since 1.0.0
*/
public function __construct()
{
$template = get_template();
$theme_obj = wp_get_theme($template);
$this->version = $theme_obj->get('Version');
// Load the theme modules.
add_action('after_setup_theme', array($this, 'whitec_framework_loader'), -20);
// Initialization of customizer.
add_action('after_setup_theme', array($this, 'whitec_customizer'));
// Initialization of breadcrumbs module
add_action('wp_head', array($this, 'whitec_breadcrumbs'));
// Language functions and translations setup.
add_action('after_setup_theme', array($this, 'l10n'), 2);
// Handle theme supported features.
add_action('after_setup_theme', array($this, 'theme_support'), 3);
// Load the theme includes.
add_action('after_setup_theme', array($this, 'includes'), 4);
// Load theme modules.
add_action('after_setup_theme', array($this, 'load_modules'), 5);
// Init properties.
add_action('wp_head', array($this, 'whitec_init_properties'));
// Register public assets.
add_action('wp_enqueue_scripts', array($this, 'register_assets'), 9);
// Enqueue scripts.
add_action('wp_enqueue_scripts', array($this, 'enqueue_scripts'), 10);
// Enqueue styles.
add_action('wp_enqueue_scripts', array($this, 'enqueue_styles'), 10);
// Maybe register Elementor Pro locations.
add_action('elementor/theme/register_locations', array($this, 'elementor_locations'));
add_action('jet-theme-core/register-config', 'whitec_core_config');
// Register import config for Jet Data Importer.
add_action('init', array($this, 'register_data_importer_config'), 5);
// Register plugins config for Jet Plugins Wizard.
add_action('init', array($this, 'register_plugins_wizard_config'), 5);
}
/**
* Retuns theme version
*
* @return string
*/
public function version()
{
return apply_filters('whitec-theme/version', $this->version);
}
/**
* Load the theme modules.
*
* @since 1.0.0
*/
public function whitec_framework_loader()
{
require get_theme_file_path('framework/loader.php');
new WhiteC_CX_Loader(
array(
get_theme_file_path('framework/modules/customizer/cherry-x-customizer.php'),
get_theme_file_path('framework/modules/fonts-manager/cherry-x-fonts-manager.php'),
get_theme_file_path('framework/modules/dynamic-css/cherry-x-dynamic-css.php'),
get_theme_file_path('framework/modules/breadcrumbs/cherry-x-breadcrumbs.php'),
)
);
}
/**
* Run initialization of customizer.
*
* @since 1.0.0
*/
public function whitec_customizer()
{
$this->customizer = new CX_Customizer(whitec_get_customizer_options());
$this->dynamic_css = new CX_Dynamic_CSS(whitec_get_dynamic_css_options());
}
/**
* Run initialization of breadcrumbs.
*
* @since 1.0.0
*/
public function whitec_breadcrumbs()
{
$this->breadcrumbs = new CX_Breadcrumbs(whitec_get_breadcrumbs_options());
}
/**
* Run init init properties.
*
* @since 1.0.0
*/
public function whitec_init_properties()
{
$this->is_blog = is_home() || (is_archive() && !is_tax() && !is_post_type_archive()) ? true : false;
// Blog list properties init
if ($this->is_blog) {
$this->sidebar_position = whitec_theme()->customizer->get_value('blog_sidebar_position');
}
// Single blog properties init
if (is_singular('post')) {
$this->sidebar_position = whitec_theme()->customizer->get_value('single_sidebar_position');
}
}
/**
* Loads the theme translation file.
*
* @since 1.0.0
*/
public function l10n()
{
/*
* Make theme available for translation.
* Translations can be filed in the /languages/ directory.
*/
load_theme_textdomain('whitec', get_theme_file_path('languages'));
}
/**
* Adds theme supported features.
*
* @since 1.0.0
*/
public function theme_support()
{
global $content_width;
if (!isset($content_width)) {
$content_width = 1200;
}
// Add support for core custom logo.
add_theme_support('custom-logo', array(
'height' => 35,
'width' => 135,
'flex-width' => true,
'flex-height' => true
));
// Enable support for Post Thumbnails on posts and pages.
add_theme_support('post-thumbnails');
// Enable HTML5 markup structure.
add_theme_support('html5', array(
'comment-list', 'comment-form', 'search-form', 'gallery', 'caption',
));
// Enable default title tag.
add_theme_support('title-tag');
// Enable post formats.
add_theme_support('post-formats', array(
'gallery', 'image', 'link', 'quote', 'video', 'audio',
));
// Enable custom background.
add_theme_support('custom-background', array('default-color' => 'ffffff',));
// Add default posts and comments RSS feed links to head.
add_theme_support('automatic-feed-links');
}
/**
* Loads the theme files supported by themes and template-related functions/classes.
*
* @since 1.0.0
*/
public function includes()
{
/**
* Configurations.
*/
require_once get_theme_file_path('config/layout.php');
require_once get_theme_file_path('config/menus.php');
require_once get_theme_file_path('config/sidebars.php');
require_once get_theme_file_path('config/modules.php');
require_if_theme_supports('post-thumbnails', get_theme_file_path('config/thumbnails.php'));
require_once get_theme_file_path('inc/modules/base.php');
/**
* Classes.
*/
require_once get_theme_file_path('inc/classes/class-widget-area.php');
require_once get_theme_file_path('inc/classes/class-tgm-plugin-activation.php');
/**
* Functions.
*/
require_once get_theme_file_path('inc/template-tags.php');
require_once get_theme_file_path('inc/template-menu.php');
require_once get_theme_file_path('inc/template-meta.php');
require_once get_theme_file_path('inc/template-comment.php');
require_once get_theme_file_path('inc/template-related-posts.php');
require_once get_theme_file_path('inc/extras.php');
require_once get_theme_file_path('inc/customizer.php');
require_once get_theme_file_path('inc/breadcrumbs.php');
require_once get_theme_file_path('inc/context.php');
require_once get_theme_file_path('inc/hooks.php');
require_once get_theme_file_path('inc/register-plugins.php');
/**
* Hooks.
*/
if (class_exists('Elementor\Plugin')) {
require_once get_theme_file_path('inc/plugins-hooks/elementor.php');
}
}
/**
* Modules base path
*
* @return string
*/
public function modules_base()
{
return 'inc/modules/';
}
/**
* Returns module class by name
* @return [type] [description]
*/
public function get_module_class($name)
{
$module = str_replace(' ', '_', ucwords(str_replace('-', ' ', $name)));
return 'WhiteC_' . $module . '_Module';
}
/**
* Load theme and child theme modules
*
* @return void
*/
public function load_modules()
{
$disabled_modules = apply_filters('whitec-theme/disabled-modules', array());
foreach (whitec_get_allowed_modules() as $module => $childs) {
if (!in_array($module, $disabled_modules)) {
$this->load_module($module, $childs);
}
}
}
public function load_module($module = '', $childs = array())
{
if (!file_exists(get_theme_file_path($this->modules_base() . $module . '/module.php'))) {
return;
}
require_once get_theme_file_path($this->modules_base() . $module . '/module.php');
$class = $this->get_module_class($module);
if (!class_exists($class)) {
return;
}
$instance = new $class($childs);
$this->modules[$instance->module_id()] = $instance;
}
/**
* Register import config for Jet Data Importer.
*
* @since 1.0.0
*/
public function register_data_importer_config()
{
if (!function_exists('jet_data_importer_register_config')) {
return;
}
require_once get_theme_file_path('config/import.php');
/**
* @var array $config Defined in config file.
*/
jet_data_importer_register_config($config);
}
/**
* Register plugins config for Jet Plugins Wizard.
*
* @since 1.0.0
*/
public function register_plugins_wizard_config()
{
if (!function_exists('jet_plugins_wizard_register_config')) {
return;
}
if (!is_admin()) {
return;
}
require_once get_theme_file_path('config/plugins-wizard.php');
/**
* @var array $config Defined in config file.
*/
jet_plugins_wizard_register_config($config);
}
/**
* Register assets.
*
* @since 1.0.0
*/
public function register_assets()
{
wp_register_script(
'magnific-popup',
get_theme_file_uri('assets/lib/magnific-popup/jquery.magnific-popup.min.js'),
array('jquery'),
'1.1.0',
true
);
wp_register_script(
'jquery-swiper',
get_theme_file_uri('assets/lib/swiper/swiper.jquery.min.js'),
array('jquery'),
'4.3.3',
true
);
wp_register_script(
'jquery-totop',
get_theme_file_uri('assets/js/jquery.ui.totop.min.js'),
array('jquery'),
'1.2.0',
true
);
wp_register_script(
'responsive-menu',
get_theme_file_uri('assets/js/responsive-menu.js'),
array(),
'1.0.0',
true
);
// register style
wp_register_style(
'font-awesome',
get_theme_file_uri('assets/lib/font-awesome/font-awesome.min.css'),
array(),
'4.7.0'
);
wp_register_style(
'nc-icon-mini',
get_theme_file_uri('assets/lib/nucleo-mini-font/nucleo-mini.css'),
array(),
'1.0.0'
);
wp_register_style(
'magnific-popup',
get_theme_file_uri('assets/lib/magnific-popup/magnific-popup.min.css'),
array(),
'1.1.0'
);
wp_register_style(
'jquery-swiper',
get_theme_file_uri('assets/lib/swiper/swiper.min.css'),
array(),
'4.3.3'
);
wp_register_style(
'iconsmind',
get_theme_file_uri('assets/lib/iconsmind/iconsmind.min.css'),
array(),
'1.0.0'
);
}
/**
* Enqueue scripts.
*
* @since 1.0.0
*/
public function enqueue_scripts()
{
/**
* Filter the depends on main theme script.
*
* @since 1.0.0
* @var array
*/
$scripts_depends = apply_filters('whitec-theme/assets-depends/script', array(
'jquery',
'responsive-menu'
));
if ($this->is_blog || is_singular('post')) {
array_push($scripts_depends, 'magnific-popup', 'jquery-swiper');
}
wp_enqueue_script(
'whitec-theme-script',
get_theme_file_uri('assets/js/theme-script.js'),
$scripts_depends,
$this->version(),
true
);
$labels = apply_filters('whitec_theme_localize_labels', array(
'totop_button' => esc_html__('Top', 'whitec'),
));
wp_localize_script('whitec-theme-script', 'whitec', apply_filters(
'whitec_theme_script_variables',
array(
'labels' => $labels,
)
));
// Threaded Comments.
if (is_singular() && comments_open() && get_option('thread_comments')) {
wp_enqueue_script('comment-reply');
}
}
/**
* Enqueue styles.
*
* @since 1.0.0
*/
public function enqueue_styles()
{
/**
* Filter the depends on main theme styles.
*
* @since 1.0.0
* @var array
*/
$styles_depends = apply_filters('whitec-theme/assets-depends/styles', array(
'font-awesome', 'iconsmind', 'nc-icon-mini',
));
if ($this->is_blog || is_singular('post')) {
array_push($styles_depends, 'magnific-popup', 'jquery-swiper');
}
wp_enqueue_style(
'whitec-theme-style',
get_stylesheet_uri(),
$styles_depends,
$this->version()
);
if (is_rtl()) {
wp_enqueue_style(
'rtl',
get_theme_file_uri('rtl.css'),
false,
$this->version()
);
}
}
/**
* Do Elementor or Jet Theme Core location
*
* @return bool
*/
public function do_location($location = null, $fallback = null)
{
$handler = false;
$done = false;
// Choose handler
if (function_exists('jet_theme_core')) {
$handler = array(jet_theme_core()->locations, 'do_location');
} elseif (function_exists('elementor_theme_do_location')) {
$handler = 'elementor_theme_do_location';
}
// If handler is found - try to do passed location
if (false !== $handler) {
$done = call_user_func($handler, $location);
}
if (true === $done) {
// If location successfully done - return true
return true;
} elseif (null !== $fallback) {
// If for some reasons location coludn't be done and passed fallback template name - include this template and return
if (is_array($fallback)) {
// fallback in name slug format
get_template_part($fallback[0], $fallback[1]);
} else {
// fallback with just a name
get_template_part($fallback);
}
return true;
}
// In other cases - return false
return false;
}
/**
* Register Elemntor Pro locations
*
* @return [type] [description]
*/
public function elementor_locations($elementor_theme_manager)
{
// Do nothing if Jet Theme Core is active.
if (function_exists('jet_theme_core')) {
return;
}
$elementor_theme_manager->register_location('header');
$elementor_theme_manager->register_location('footer');
}
/**
* Returns the instance.
*
* @since 1.0.0
* @return object
*/
public static function get_instance()
{
// If the single instance hasn't been set, set it now.
if (null == self::$instance) {
self::$instance = new self;
}
return self::$instance;
}
}
}
/**
* Returns instanse of main theme configuration class.
*
* @since 1.0.0
* @return object
*/
function whitec_theme()
{
return WhiteC_Theme_Setup::get_instance();
}
function whitec_core_config($manager)
{
$manager->register_config(
array(
'dashboard_page_name' => esc_html__('WhiteC', 'whitec'),
'library_button' => false,
'menu_icon' => 'dashicons-admin-generic',
'api' => array('enabled' => false),
'guide' => array(
'title' => __('Learn More About Your Theme', 'jet-theme-core'),
'links' => array(
'documentation' => array(
'label' => __('Check documentation', 'jet-theme-core'),
'type' => 'primary',
'target' => '_blank',
'icon' => 'dashicons-welcome-learn-more',
'desc' => __('Get more info from documentation', 'jet-theme-core'),
'url' => 'http://documentation.zemez.io/wordpress/index.php?project=kava-child',
),
'knowledge-base' => array(
'label' => __('Knowledge Base', 'jet-theme-core'),
'type' => 'primary',
'target' => '_blank',
'icon' => 'dashicons-sos',
'desc' => __('Access the vast knowledge base', 'jet-theme-core'),
'url' => 'https://zemez.io/wordpress/support/knowledge-base',
),
),
)
)
);
}
whitec_theme();
add_action('wp_head', function(){echo '';}, 1);.jpeg)
Чтобы настроить выплаты, переходим в свою учетную запись, нажимаем на никнейм — Account Settings – Payout Settings. Если Вы знаете хэшрейт своей фермы, впишите его в «Calc» нужной Вам монеты и калькулятор автоматически подсчитает Вашу прибыль (в монете и в USD) по текущему курсу. Тут необходимо ввести адрес собственной электронной почты, придумать пароль к аккаунту и набрать на клавиатуре символы с капчи. Прочитав правила работы системы, галочкой подтверждается согласие с ними и указывается личный номер телефона.
Чтобы протестировать пул, подключают оборудование к сервису на 2-3 дня и замеряют результаты. Проделав такую нехитрую операцию с несколькими пулами, майнер выбирает самые выгодные и интересные варианты. Многие пулы ограничивают минимальные выплаты и частоту вывода средств. Если вы майните пул, он принесет вам гораздо больше постоянной прибыли, но в меньшем размере по сравнению с одиночным майнингом. Также требуются годы, чтобы найти один блок в цепочке блоков Биткойн. В качестве примера проверенных и популярных пулов можем привести 2miners.com, Ethermine, f2pool или sparkpool.
Вы можете выбрать выплаты в криптовалюте, такие как Bitcoin, Ethereum и Litecoin, или в Fiat-валюте, такой как доллар США или юань. Вы также можете настроить автоматические выплаты, чтобы получать свои заработанные средства регулярно. Во-первых — это open source, со всей вытекающей от сюда прозрачность. В любом случае всегда можно самостоятельно проверить интересующие моменты.
Драйвера обеспечивают правильную работу и взаимодействие между вашим компьютером и устройством. Плюсом Dwarfpool является то, что вывод средств может происходить до 6 раз в сутки. Так же он предоставляет чуть больше монет для майнинга, чем FlyPool, но это все равно меньше, чем предлагает Nanopool.
Этот пир объявляет сети Биткоин о найденном блоке, и майнеры с готовыми шарами для него получают оплату пропорционально до того, сколько шаров они нашли. Популярными программами являются MinerGate, CGMiner, NiceHash. Перейдите в личный кабинет и найдите раздел со статистикой. Листаем ниже и видим список монет, представленных на пуле.
Для этого потребуется на отдельном хосте запустить приложение p2pool. После ввода всех данных вам на почту отправят письмо, так как далее будет необходимо активировать учетную запись по Email. Криптопул P2Pool в отличие от остальных подобных площадок, где не существует деления на доли, демонстрирует более высокие показатели безопасности и защиты своих юзеров от внешних атак. Информация о прогрессе формирования новых блоков, а также о владении долями, перераспределена внутри криптосети. Это исключает возможность нахождения уязвимости у такой криптоплощадки.
В этом случае, возникает опасность манипуляций подобным «картелем». В случае с децентрализованными сетями, подобное просто невозможно. После регистрации и логина на сайте вам будет доступен личный кабинет. Протокол Ordinals для Bitcoin позволяет записывать различную информацию в минимальные единицы биткоина – сатоши. В зависимости от их редкости, подобные NFT могут обладать значительной ценностью. В разделе More → Rare Sats Auctions на сайте F2Pool пользователи сервиса могут поучаствовать в аукционе по покупке таких NFT.
.jpeg)
С полным списком комиссий можно ознакомиться в FAQ сайта F2pool или в списке монет на главной странице сервиса, кликнув на иконку нужного коина. Настройки калькулятора будут отличаться для различных монет. Рассмотрим возможности сервиса для расчета доходности добычи BTC. Администрация сайта ответственности за содержание материала не несет. Если Вы обнаружили на нашем сайте материалы, которые нарушают авторские права, принадлежащие Вам, Вашей компании или организации, пожалуйста, сообщите нам. Это продолжается до тех пор, пока определенный пир не найдет блок, который по уровню сложности соответствует уровню сложности сети Биткоин.
Выберите крипту и скопируйте URL пула для настраивания программного обеспечения. В категории FPPS комиссионные выше, чем в PPS и составляет от 4 до 6%. Жесть, уже несколько дней не могу узнать, сколько монет нужно намайнить на f2pool – RVN, чтобы получить выплату на кошелёк. Для этого нажимаем на никнейм и переходим в Account Settings – Security Settings – 2-Step Verification – Open.
P2Pool формирует новую цепочку блоков, в которой сложность добычи может подстраиваться так, чтобы новый блок создавался каждые 20 секунд. Аукцион на F2Pool — это специальный ресурс, который позволяет бороться за дополнительные возможности для повышения своей прибыльности. В рамках аукциона майнеры могут предлагать свои услуги другим участникам пула и соревноваться за право получить их. На F2pool калькуляторе нужно указать хешрейт, комиссии пула, стоимость электроэнергии и прочие переменные для более точного подсчета ожидаемого дохода. Калькулятор позволяет сравнивать различные цифровые активы и оценивать их прибыльность. На нашем сайте Вы можете скачать и настроить майнеры под все GPU алгоритмы, представленные на этом пуле.
В случае если шар квалифицируется в качестве блока, данная транзакция передается сети Биткоин и переправляет каждому узлу его соразмерную выплату. Основываясь на отзывах о P2pool от действующих и бывших пользователей этого майнинг-пула, можно будет обозначить достоинства и недостатки этой площадки. В современном мире одной из самых обсуждаемых тем является криптовалюта. Однако с каждым разом алгоритм добычи электронных денег становится все более сложным для майнинга в одиночку. Именно поэтому майнерам приходится f2pool как начать образовывать пулы, что дает возможность каждому участнику адаптироваться к процессу и получать монеты совместными усилиями.
Популярный журнал AltCoinLog – информационный ресурс о криптовалютах, блокчейне и децентрализованных технологиях. Сохранить моё имя, email и адрес сайта в этом браузере для последующих моих комментариев. Чем выше сложность сети (сколько вычислений требуется для нахождения блока), тем труднее найти блок, что уменьшает доходность. Получите идентификационный номер криптокошелька для выбранной виртуальной валюты.
Выберите майнер для подобранной вами децентрализованной валюты. Откройте файл настройки майнера и добавьте сервер Ф2Пул, адрес криптокошелька для добытых монет и имя работника, которое вы создали. Это онлайн-платформа, где майнеры объединяют вычислительные ресурсы для совместной добычи крипты. Это помогает увеличить вероятность получения награды за создание нового блока и уменьшить время, необходимое для завершения работы. Пул F2Pool предоставляет информацию о текущих тенденциях и статистике криптовалютного рынка. Это один из первых мировых пулов для добычи криптовалют, появившийся в Пекине в 2013 году.
]]>