Qortal Project

The future of blockchain platforms

User Tools

Site Tools


Sidebar

Qortal Project Wiki

Important Notices

Introduction

Project Model

Minting

Communications

Trade Portal

Qortal Hosting (QDN)

Voting System

AT System

Hardware

Frequently Asked Questions (FAQ)

How-To Guides

Node Setup Guides

Third-Party Services

raspberry_pi_4

Raspberry Pi 4

Last updated: Feb 23, 2024

Please note: after setting up your computer as a node, be sure to review the Port Forwarding guide to ensure your node functions optimally.

Build your own QORTector or buy one pre-built at https://crowetic.com! Please note: this guide is for building your own Raspberry Pi from scratch with a BrooklynR OS. For those who have purchased a QORTector from https://crowetic.com please go to QORTector Walkthrough

Raspberry Pi 4 Configuration Recommendations

  • Raspberry Pi 4B 8GB (4GB will work but 8GB is recommended)
  • Power Supply
  • Case with fan (fan is important!)
  • USB 3.0 SSD 500GB or above (128GB microSD will work but SSD is recommended)

Preparations on your PC/Desktop computer

  1. To flash image on SSD and SD, download Balenaetcher : Select OS on site / or for Windows only - another option - win32diskimager: https://sourceforge.net/projects/win32diskimager/
  2. Only if using SD card (not recommended), download SD Memory card formatter: Select OS on site
  3. Download 7-zip (to unpack the image) : Windows (64bits) , Windows (32bits)
  4. For Mac users download Keka(to unpack the image) : macOS
  5. Download Remote desktop client to access PI from your MAC or Windows computer (used for Desktop GUI images)OPTIONAL can use SSH: Select OS on site
  6. Download latest supported image on your computer in preparation to flash on ssd of pi4:

How To Install QortalOS and Qortal Core

  1. only for SD card, Format SD card with FAT32/FATX using SD Memory Card Formatter on your computer
  2. Use 7-zip or Keka on your computer to extract the downloaded image, you will get a file with Disc icon (circling in picture)
  3. Connect your SSD drive or sd card to your computer to usb port for flashing the unpacked image
  4. Open Balena etcher on your computer, select the image you extracted, select SSD drive or microSD card , click ‘flash’!
  5. Once it finishes flashing the image, disconnect from computer the SSD or microSD card plug into to Pi, connect Pi to router via ethernet cable (recommended) and power on the Pi.
  6. Power on the Pi and wait a few minutes to start. In the meantime, log into your router to locate the IP address of your Pi for SSH or use of remote desktop to access PI via computer. Always good idea to check that your PI is now listed in your connected devices. This is even if you are using a monitor, keyboard, and mouse where RDP is not needed.
  7. If you are going headless (using a different computer to log into the Pi desktop) then on Windows/Mac/Linux open up Remote Desktop Connection (Microsoft Remote Desktop Client or Remmina for Linux)
  8. Enter the IP for your Pi and click ‘connect’. Click ‘yes’ when it asks about connecting and if you trust the certificates.
  9. Log in. Username: pi Password: dmax911e
  10. Once Desktop loads you Open a terminal session to Expand the the filesystem:
    sudo raspi-config 
  11. Raspi-config screens will pop up. Scroll down to advanced settings using arrow keys, hit enter, select expand file system and select it. When it is done select ‘exit’ and it will ask for you to reboot. Click ‘yes’
  12. Log in again. Username: pi Password: dmax911e
  13. Open a terminal session to update system/apps(copy and paste as is command below):
    sudo apt update && sudo apt -y upgrade
  14. once done system/apps update, download, extract and run latest core with this one command in terminal (copy and paste as is command below):
wget https://github.com/Qortal/qortal/releases/latest/download/qortal.zip && unzip qortal.zip && cd qortal && chmod +x *.sh && ./start.sh

You will see qortal logo and bootstrap process, let it run and then the core will sync up with the chain.

How to Install Qortal UI via scripts with associated UI launcher

Type in Terminal session (press return after each command):

cd

wget https://raw.githubusercontent.com/xspektrex/QORTectorScripts/master/uninstall_ui.sh

wget https://raw.githubusercontent.com/xspektrex/QORTectorScripts/master/update_install_ui.sh

wget https://raw.githubusercontent.com/xspektrex/QORTectorScripts/master/launch_UI.sh ((move to desktop via GUI file manager)

Make the script/s executable:

via terminal, immediately after terminal load, with chmod +x *.sh

Via GUI with (Right-click -> Properties -> Permissions) and check the "make executable" box.

Cut/paste UI launcher from home to desktop( via GUI file Manager)

Now run the update_install or uninstall script/s via terminal:

sudo ./uninstall_ui.sh
(optional this will enable a clean install, recommended first time after flashing a new image)

sudo ./update_install_ui.sh
(when you see the line "Build Complete, You can use your new UI" its done)

How to Run Qortal UI via UI launcher

Launch the Qortal UI via the UI launcher, double click on the icon on desktop

For more info on these scripts developed by Hfactor visit: https://github.com/xspektrex/QORTectorScripts

How to install and Run new Qortal UI app image

In terminal session, you will download the Raspberry Pi Qortal UI (arm64 64bit .AppImage) - Qortal UI:

cd

cd Desktop

wget https://github.com/Qortal/qortal-ui/releases/latest/download/Qortal-Setup-arm64.AppImage

once completed in terminal, go to the Desktop and update the file called Qortal-Setup-arm64.appimage as follows:

Right Click on file called Qortal-Setup-arm64.appimage, choose Properties

First tab change name to Qortal-UI

Select Permissions tab, tick Allow executing file as program, then close

Double click on the Qortal-UI file and the Qortal UI login will appear.

Note: For Headless images, you will access your pi via ssh from your computer.

First set up an ssh tunnel as shown on this page SSH tunneling and keep it open : http://wiki.qortal.org/doku.php?id=ssh_tunneling.

Then in terminal on your computer enter: ssh pi@ip address assigned in your router. You will be prompted for Username: pi Password: dmax911e (password will not display when typing)

How To Access Your Pi Remotely via RDP

This walkthrough will illustrate using Microsoft Remote Desktop client on a Mac laptop (see in ‘Preparations’ section above where to download the client for your computer OS):

1. Click on 'Add PC' and define the connection for Pi TITAN, in this example shows connecting via ip address located earlier from the connected devices in our router/modem. Another option would be via hostname: titan.local (just replace the 'titan' portion with whatever version your device is - such as 'plumbus' for QORTector customers).

2. Double click on RDP connection for TITAN PLasma just created and enter Username: pi Password: dmax911e

3. Pi desktop GUI is now fully available:

Trusted Community Releases by Date

RaspiPHENIX for Pi4

Release Date: Dec 8, 2023
Released by: HFactor
Repository: Qortal cloud Private Data Server

Release Details

  • Debian 12 Bookworm on 6.1.0-rpi7-rpi-v8 kernel
  • Safely overclocked to 1.8Ghz
  • Software/Kernel follow mainline Debian release/s
  • Use with or without GUI (Headless)
  • MATE 1.24.1-2 desktop with custom dark UI
  • Custom Honeycomb screensaver
  • RDP and VNC capable
  • Custom SSH login with wifi/bluetooth indicators
  • Custom RDP login screen
  • Preinstalled UI built from source (V4.42 (will need to run updates to use))
  • Preinstalled QORTAL tools (qort tool and peer-heights)
  • Plethora of additional software such as:
    • Chromium with hardware acceleration and security/anonymity minded plugins
    • VLC Player
    • Libre Office
    • System monitors (TOP, ATOP, HTOP and Glances)
    • System info tools (Neofetch, Screenfetch, Duf (drive space))
    • Diodon clipboard manager
    • Mate tweak, terminal, disk usage analyzer, system monitor, control center and disk utility

Release Creds

  • Username: pi
  • Password: dmax911e (please change via GUI or SSH)

After flashing please perform the following steps (Immediately after terminal load):

  • Expand filesystem:
    • sudo raspi-config (Advanced -> Expand Filesystem)
  • Update System/Apps:
    • apt update && sudo apt -y upgrade
  • Download/Extract/Run core:
    •  https://github.com/Qortal/qortal/releases/latest/download/qortal.zip && unzip qortal.zip && cd qortal && chmod +x *.sh && ./start.sh
  • Exit Terminal
    • Exit

After the above updates and core install please perform (Immediately after terminal load):

  • Update Built From Source UI Via HFactor Script (If not using AppImage)
    •  ./update_install_ui.sh
      • Uninstall Built From Source UI Via HFactor Script also included (If using AppImage)
        • ./uninstall_ui.sh
  • Exit Terminal
    • Exit

Downloads

IMG https://cloud.qortal.org/s/5s2tTcZiXJFz2wY
MD5 5e66874b43e32e4f989920ae75881f86

Donations

QORT QY4LMuyTwJHiXFKG3hYvgnHXdpL1zPKxce
LTC LhKBwsjtG2GdcFQdbQW8uA8Zpoqh6eKAxc

QortalOS - TorchieMATE - 64bit - 16GB and 32GB QORTector versions

(Release Date: Sept 16, 2022) Repository: Qortal/Brooklyn · Tag: 3.0.1 · Released by: Crowetic

This release is packed with 'Torchie' that is built for the upcoming memPoW release of Qortal that will eventually be built into consensus.

It is also a fUll GUI version, built for the QORTectors.

Please NOTE - due to the tremendous amount of work that went into the customization on the 'pi' user, the decision was made to leave it as 'pi' for this release. You may have noticed the headless version has a 'qortal' user.

For this release, the username/password defaults are:

Username - pi Password - dmax911e

Just like the previous NXT releases, etc… In the future I may re-work it so that the user will be 'qortal' like it is on the headless, but there are a TON of customisations to the pi account, so leaving it for now.

This version is FULL 64bit (ARM64) just like its headless predecessor, therefore supports ARRR.

All of the details from the headless release below regarding the kernel and its improvements, also apply to this release.

This release also includes a customised GUI done by HFactor, and some added modifications by crowetic and Scare Crowe for ease of use and performance and debugging.

*The 16GB version does NOT include the Qortal db or the auto-start feature - The 16GB version comes with a link on the desktop to Start the Qortal Core, simply double-click it and click 'run'. If you WOULD like to enable the auto-start, you can simply use crontab -e and remove the '#' in front of the line that says @reboot ./start-qortal-at-boot.sh - this will start the core in the background just like the QORTector version does. You can also use the 'startup applications' tool to create a startup method that will start with the GUI, but this will only work if you have a monitor attached.

*The 32GB version DOES include a copy of the Qortal db, and auto-start feature - Remember, that with the 32GB version the Qortal Core STARTS AUTOMATICALLY and RUNS IN THE BACKGROUND. This means you do NOT have to start the Qortal Core, you simply start the device and the Qortal Core starts automatically.

This release has been tested on both 4GB and 8GB Raspberry Pi devices, and is currently undergoing more in-depth testing of the memPoW on the 4GB pi. Results of the longer testing of the memPoW on the 4GB pi will be made available to the Qortal community upon completion.

Direct Download: https://cloud.qortal.org/s/torchieMATE-final-May-30-2023/download/Qortal-OS-TorchieMATE-QORTector-FINAL-May-30-2023-UPDATE.7z

QortalOS v3.0.0 - 'Torchie' - 64bit - Headless Release

(Release Date: Sept 13, 2022)

Repository: Qortal/Brooklyn · Tag: 3.0 · Released by: Crowetic

QortalOS v3.0.0 'Torchie' headless 64bit - with customizations for Qortal MemPoW

PLEASE NOTE - THIS IS A HEADLESS (NO GUI) RELEASE - The GUI release will be made hopefully within the next day or so. Username is now "qortal" as default with generic password "dmax911e"

This release is a total re-write of the code with 361,531 additions and 199,814 deletions as well as 124,068 additions and 87,873 deletions! Also including:

Kernel 6.0.11 for Qortal with mempow hard crunch handling.

Standard kernel will not be able to handle upcoming mempow hence this is released.

This build is optimized for the core version 3.3.x and onwards. Welcome abroad DigiByte, Raven and ARRR.

The entire system is now arm64 instead of previous hard float 64 release (kern,userspace) for ARRR chain support.

Re-written DRM with crypto advantage for Qortal Core.

Mass staging tree update starting 6.0.00-rc1.

Direct Download: https://cloud.qortal.org/s/44cpmEYg39a8w9Z

Retired/Deprecated Releases by Date

Brooklyn-NXT-TitanPLUS-QORTector-32GB-5.12.2022

(Release Date: May 12, 2022)

Repository: Qortal/Brooklyn · Tag: 1.3 · Released by: Crowetic

Hello again Qortians, it's time for another release of the TITAN!

It is my pleasure to take over the releases of this amazing development while Scare Crowe is in Ukraine. (He is of course the one still doing the development, I wish I was that good…heh. But I will be handling the releases.)

This is the newest QORTector image that will be used on all of the QORTectors sold by Crowetic Hardware Development LLC (https://crowetic.com) including the new 'QORTector-KB' that will be going up on the website shortly.

This image still uses MATE desktop environement as it has been continually proven to be the best performing desktop environment for the pi4. We will likely continue using MATE desktop for the foreseeable future.

This image is setup to start Qortal Core automatically upon boot, and run in the background, this means you will NOT see the Qortal icon on the taskbar unless you stop and start Qortal, or change it to use a .desktop startup file.

The image also comes with a pre-installed bootstrap and version 3.3.0 of the Qortal Core. This makes the image 32GB minimum size, so you will need at least 40GB of free space on the computer you plan to image from, and you'll need at least a 32GB disk to image to.

I will also release a 16GB version of this image soon. Hope you enjoy the new titanPLUS image!

This one includes the following improvements, and more…

1. Real-time page scan and allocation 2. Cache compression 3. Real-time IRQ checks 4. Dynamic I/O allocation for Java heap 5. Java page migration 6. Contiguous memory allocation 7. Idle pages tracking 8. Per CPU RAM usage tracking 9. ARM NEON scalar multiplication library 10. NEON/ARMv8 crypto extensions 11. NEON SHA, Blake, RIPEMD crypto extensions 12. Parallel NEON crypto engine for multi-algo based CPU stress reduction

Grab it from: Retired

QortalOS NXT TitanMATE Desktop

(Release Date: Mar 24, 2022)

Repository: Qortal/Brooklyn · Tag: 2.0 · Released by: Crowetic

This is the 16gb image of QortalOS NXT titanMATE by Scare Crowe. Due to a few complaints about video performance on titan-plasma… he took titan to a whole new level!

Introducing… titanMATE! This one has hardware accelerated video performance, and MATE desktop environment, which is much less resource intensive, and performs a lot better.

This image is totally suitable as a 'desktop replacement' as it can stream HD video full screen with no issues. (Just don't expect to be able to play new games on a pi 4.)

There will be another version released shortly, the 'QORTector' version, which has only a couple differences… Qortal core starts automatically (which you can make this image do by adding @reboot ./start-qortal-at-boot.sh into crontab -e) and has a copy of the Qortal db on the image.

This image does not have the Qortal db, and the auto-start is currently disabled. Feel free to enable it if you like. This image has a start script on the desktop for the Qortal Core, as well as the UI appimage pre-installed. Enjoy!

Grab it from: Retired

QortalOS NXT TITAN Plasma Desktop

(Release Date: Mar 17, 2022)

Repository: Qortal/Brooklyn · Tag: 1.2.8 · Released by: Crowetic

This is the 32GB QORTector image of QortalOS NXT TITAN by Scare Crowe. An update to the 1.2.7 image to fix audio and bluetooth issues.

Also has updated Qortal and Qortal UI versions, and a new bootstrap.

Grab it from: Retired

(Release Date: Mar 8, 2022)

Repository: Qortal/Brooklyn · Tag: 1.2.7 · Released by: Crowetic

This is the 32GB QORTector image of QortalOS NXT TITAN by Scare Crowe.

This image is built specifically for the QORTector devices, the only differences are that this image has a copy of the newest db for Qortal, and is setup to start the Qortal Core automatically.

You can remove the auto-start if you like by simply running crontab -e and commenting out the @reboot line there.

There will be another release done shortly that will be a 16GB+ version without the Qortal db.

Grab it from: Retired

Brooklyn Titan LTS 5.60.12 nextgen uses ARM Turbo Clocks Optimised for Plasma(KDE) on Titan with line replication and interpolation.

TLS, AES, UI's Ripemd 128/160/320 NEON accelerated crypto functions are built inside kernel and not as loadable modules separately.

QortalOS NXT Sinclair Mate-V2 Desktop

(Release Date: V1 Dec 28, 2021, V2 Jan 16, 2022 )

Repository: Qortal/Brooklyn · Tag: 1.2.5 · Released by: HFactor

OS: Raspbian 10 buster with BrooklynR NXT Sinclair+ kernel GUI: Mate 1.20.2 desktop customized, optimized and configured by HFactor

Suitable for all Raspberry Pi 3B+ and 4 models. Designed and aimed for novice to expert users as it can be run headless or via GUI. Qortal Core 3.0.1 and UI 1.7.0 prebuilt and included. Tools updated with apikey required. This release is no longer available. Been replaced with new version QortalOS NXT TitanMATE Desktop.

Includes all the goodies/optimizations of the previous QortalOS NXT Sinclair Headless release with fully implemented GUI.

Built for plug and play use with the below attractions:

Custom theme and icons (Qogir - dark mode).

Metacity window manager and no compositor to increase visual response times over VLC and RDP. Ease of use panel applets on desktop environment (CPU temp/usage, bluetooth/wifi, clipboard, audio, network and date/time)

Customized Chromium with custom privacy features and hardware acceleration for for latency free videos/streaming

Customized VLC player with hardware acceleration for for latency free videos/streaming. Auto detection/scaling of HDMI0 and HDMI1 with functioning audio on 3.5mm and HDMI0. Functioning Bluetooth/Wifi disabled with rfkill by default. Daily use software for productivity and communication.

Complete specs and details available within the "Includes" and "Readme" of downloaded zip.

This release is dedicated to my good friends Gisele, Sean, Raz, Russell, Iam Buzz, Godfree, bigchill2k, SolemnPaladin and a few of the men behind the Qortal vision (Jason, CAL, CAT and GFactor).

Grab it from: Retired

QortalOS NXT Sinclair Headless

(Release Date: Oct 27, 2021)

Repository: Qortal/Brooklyn · Tag: 1.2.4 · Released by: CWDSYSTEMS

Suitable for all Raspberry Pi 4 models and 3B+ as well. Aimed towards medium to expert Linux users as this release has no GUI. Grab it from: Retired

Countless changes under the hood. Its faster. Its better. ARM crypto accelerator improvements. (stays in beta for now) GPU time delay fixes and optimisations for QortalOS Desktop. Dynamic NVRAM allocation for two generation of boards.

Massive DTB update. JAVA SPH updates. True mempow implementation for lag free crunching. Overclocking assist now supported on 4B rev 1.2 and above. Better undervolt detection to assure Qortal core stability.

This release is dedicated to my brother Jason, my moose Sean, my mate Russell and my good friend Gisele.

QortalOS NXT Beluga GNOME Desktop

(Release Date: Sep 10, 2021)

Repository: Qortal/Brooklyn · Tag: 1.2.3 · Released by: CWDSYSTEMS

Suitable for 8GB Raspberry Pi. Grab it from: Retired

With GNOME Desktop Environment. Qortal UI 1.4.2 pre-built inside. Includes daily use software for productivity and communication. Built for plug and play use.

WiFi & Bluetooth disabled. Only accessible via SSH and RDP for hassle free use. SSD highly recommended.

This release removes proximity threats of WiFi and Bluetooth and focuses on physical and internet privacy in a different manner. You can set Tor as system wide proxy under network settings. Qortal core has been left out intentionally.

This image is dedicated to whiteside5x for his support. Also known as Beluga.

QortalOS NXT Vermouth LXQT Desktop

(Release Date: Aug 27, 2021)

Repository: Qortal/Brooklyn · Tag: 1.2.1 · Released by: CWDSYSTEMS

Suitable for both 4GB and 8GB Raspberry Pi variants. Grab it from: Retired

With LXQT Desktop Environment. Qortal UI 1.4.2 pre-built inside. Qortal Core latest bundled as downloaded zip file. Includes daily use software for productivity and communication. Built for plug and play use.

QortalOS NXT Headless

(Release Date: Aug 24, 2021)

Repository: Qortal/Brooklyn · Tag: 1.2 · Released by: CWDSYSTEMS

For Advanced users without the Desktop environment Grab it from: Retired

This release brings more security features and networking performance improvements address the needs for data centre requirement excellent throughput on Qortal web hosting sync & relay.

Special thanks to Moose, Hfactor, Cal, Crowetic, Gisele, Cat, Rylieh and Russell

BrooklynR Jaymen Headless

(Release Date: July 14, 2021)

Repository: Qortal/Brooklyn · Tag: 1 · Released by: CWDSYSTEMS

For Advanced users without the Desktop environment Grab it from: Retired

Kernel 5.13.10 Suitable for medium to expert level users. Kernel is optimized for server and background processing.

BrooklynR Plumbus Desktop

(Release Date: July 3, 2021)

Repository: Qortal/Brooklyn · Tag: Plumbus · Released by: CWDSYSTEMS

Suitable for both 4GB and 8GB Raspberry Pi variants. Grab it from: Retired

The most responsive Desktop Environment yet. With MATE and LXDE integration

BrooklynR Jackwagon XFCE Desktop

(Release Date: July 1, 2021)

Repository: Qortal/Brooklyn · Tag: 1.1 · Released by: CWDSYSTEMS

Suitable for both 4GB and 8GB Raspberry Pi variants. Grab it from: Retired

Qortal UI 1.4.2 pre-built inside Updated Kernel core to 5.10.12 (ton of updates) Updated VC4 with more stability Updated Mesa3D Fixed the annoying "no internet" issue for some users Kernel preemptive model changed to desktop performance from balanced …. too many other enhancements to add.

BrooklynR Russcade Edition

(Release Date: June 16, 2021)

Repository: Qortal/Brooklyn · Tag: Russcade · Released by: CWDSYSTEMS

Suitable for both 4GB and 8GB Raspberry Pi variants Grab it from https://cloud.qortal.org/s/WAwsyqT7gBXnDML

VP4 DRM and latest MESA 3D acceleration for VideoCore4 GPU Hardened settings and tweaks of BrooklynR - The Moose Kernel All Bluetooth pods and USB controllers are now supported All input devices supported

HDMI0 set for Arcade gaming while HDMI1 port for Xterminal sessions to manage your Qortal Core and UI Without UI bundle. You need to build UI from source from official UI git. Without Qortal Core. Grab official releases only from Qortal git.

Russcade is optimized for gaming and Qortal Core + UI server only. It is not meant for a GUI replacement. Use RetroPi official documentation for transferring ROMS and MODS. https://retropie.org.uk/docs/Transferring-Roms/ Standard microSD card resize procedure applies for cards above 32GB. Look at Qortal Wiki on HOWTO. You will need SSH client to setup Qortal Core and UI and create a Putty/SSH tunnel.

BrooklynR Cinnamon Desktop

(Release Date: June 1, 2021)

Repository: Qortal/Brooklyn · Tag: 1 · Released by: CWDSYSTEMS

Suitable for 8GB Raspberry Pi. Grab it from: Retired

BrooklynR Headless

(Release Date: May 27, 2021)

Repository: Qortal/Brooklyn · Tag: 1 · Released by: CWDSYSTEMS

Suitable for both 4GB and 8GB Raspberry Pi variants. Grab it from ( was replaced by Jaymen Headless July 14, 2021 see above): Retired

BrooklynR Plasma Desktop

(Release Date: May 27, 2021)

Repository: Qortal/Brooklyn · Tag: 1 · Released by: CWDSYSTEMS

Suitable for 8GB Raspberry Pi. will run on 4GB Pi variants with a bit of lag. Grab it from: Retired

aka KDE - image with a perfect blend of beauty and performance. Recommended for 8GB Pi model with USB3 boot enabled

BrooklynR XFCE Desktop

(Release Date: May 27, 2021)

Repository: Qortal/Brooklyn · Tag: 1 · Released by: CWDSYSTEMS

Suitable for both 4GB and 8GB Raspberry Pi variants. Grab it from: Retired

BrooklynR Kernel Features

Previous version history:
- From  'Torchie' 64 bit release Kernel 6.0.11 for Qortal with mempow hard crunch handling. turbo boost enabled. do not OC torchie  
- OS based on Debian Linux, Raspbian 10 buster
- Fully open source
- Customized specifically for Qortal
- Optimized performance and a must-have!
- Hardened Kernel security. No more local exploits
- Locked the memory copy b/w internal and external memory devices
- Added Entropy hardware for maxed out entropy. Far more than an i7 Processor
- Thermal control. Yes you can add fans and they will auto start when the temp hits 51C
- SPH implementation of crypto functions
raspberry_pi_4.txt · Last modified: 03/20/2024 21:07 by hfactor