PAYBYTE PBE 0.0.1 — LINUX STANDALONE
=====================================

Network: PBE-MAINNET
Peer protocol: 1.0
Local dashboard: http://127.0.0.1:8024
Public P2P listener: TCP 8025
Bootstrap peers:
  https://paybyte.org
  https://node.paybyte.org

RECOMMENDED PLATFORM
--------------------
Ubuntu 24.04 LTS or newer, 64-bit, with systemd running.

The automatic installer checks the operating system BEFORE installing packages.
If PHP is not already compatible, automatic PHP installation is only performed
on Ubuntu 24.04 LTS or newer. Older Ubuntu releases are stopped cleanly without
PBE changing the machine.

Other 64-bit systemd Linux distributions can run PBE when PHP 8.3+ and the
required extensions are already installed, but automatic dependency installation
is currently targeted at Ubuntu 24.04 LTS or newer.

QUICK INSTALL
-------------
1. Extract the ZIP. It creates this folder:

   Paybyte-PBE-0.0.1-Linux/

2. Open a terminal inside that folder.
3. Run:

   ./install.sh

If your archive tool removed executable permissions, run:

   chmod +x install.sh run.sh uninstall.sh
   ./install.sh

The installer will:
- verify Linux, 64-bit architecture, systemd and OS support first
- refuse unsupported automatic installs before changing the machine
- check/install a compatible PHP runtime when supported
- verify the frozen PBE Mainnet genesis
- install PBE under /opt/paybyte
- keep mutable node data under /var/lib/paybyte
- create and enable paybyte.service
- start PBE and verify the local dashboard responds

Then open:

   http://127.0.0.1:8024

Click "Getting Started" and follow the beginner steps.

UBUNTU 20.04 / 22.04
--------------------
Their default PHP versions are below PBE's PHP 8.3 minimum. The automatic
installer will NOT install those older PHP packages and then fail afterward.
It stops before package installation and recommends Ubuntu 24.04 LTS or newer.

If you already maintain your own compatible PHP 8.3+ runtime with PDO SQLite,
Sodium, JSON, 64-bit integers and allow_url_fopen enabled, install.sh can use it.

WSL
---
install.sh requires systemd to be running. Current WSL distributions can use
systemd. If systemd is disabled, enable it first and restart WSL before running
the installer. The installer will stop before changing the machine if systemd
is not running.

REMOTE LINUX SERVER
-------------------
The dashboard intentionally listens only on localhost. Do not expose port 8024
publicly. From your own computer, create an SSH tunnel:

   ssh -L 8024:127.0.0.1:8024 your-user@your-server

Then open http://127.0.0.1:8024 in your local browser.

PORT 8025
---------
TCP 8025 is the public P2P port. If you want inbound peers, allow TCP 8025 in
your Linux/provider firewall. If the machine is behind a router/NAT, forward
TCP 8025 to this Linux machine as well.

Example for UFW:

   sudo ufw allow 8025/tcp

SERVICE COMMANDS
----------------
   sudo systemctl status paybyte
   sudo systemctl restart paybyte
   sudo systemctl stop paybyte
   sudo systemctl start paybyte
   sudo journalctl -u paybyte -f

MANUAL / NON-SYSTEMD RUN
------------------------
run.sh starts the same standalone supervisor in the foreground and stores data
under ~/.local/share/paybyte by default. It does not install packages or create
a system service:

   ./run.sh

SYSTEM REQUIREMENTS
-------------------
- 64-bit Linux
- PHP 8.3 or newer
- PDO SQLite
- Sodium
- JSON
- 64-bit PHP integers
- allow_url_fopen enabled
- systemd for install.sh service installation

PRIVACY / ARCHITECTURE
----------------------
- The dashboard is local-only on 127.0.0.1:8024.
- The public listener exposes PBE peer traffic on 8025.
- Public Explorer and developer protocol documentation live at paybyte.org.
- Node identity, SQLite database, operator binding, producer identity and logs
  are generated locally and are not included in this ZIP.
- Removing the application does not delete /var/lib/paybyte unless you run
  uninstall.sh --purge-data intentionally.
