- Go 48.3%
- HTML 14.8%
- Python 14.8%
- Shell 9.5%
- JavaScript 8%
- Other 4.6%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| .forgejo/workflows | ||
| assets | ||
| build | ||
| cmd | ||
| config | ||
| docs | ||
| internal | ||
| ops | ||
| scripts | ||
| .dockerignore | ||
| .gitattributes | ||
| .gitignore | ||
| CHANGELOG.md | ||
| compose.lab.yml | ||
| compose.node-only.yml | ||
| compose.remote-test.yml | ||
| compose.rootless.yml | ||
| compose.server.yml | ||
| Containerfile.rootless | ||
| docker-compose.yml | ||
| Dockerfile | ||
| Dockerfile.lab | ||
| go.mod | ||
| LICENSE | ||
| README.md | ||
| SECURITY.md | ||
Panopt Coin v0.2.0: founder genesis testnet
Operator identity and deployment topology are kept out of tracked project source; see the privacy boundary. Configure host-specific values in ignored local environment files before using the deployment Compose files.
Mission: Security and Transparency. The authoritative master checklist, working whitepaper, mining and CPU guide, repository and version guide, architecture decision, platform support matrix, and mainnet release gate track the path beyond this disposable prototype.
The separate private Panopt-Core fork on Forgejo preserves the pinned upstream source and full history for protocol development. Its active panopt/consensus-schedule branch contains experimental identity, consensus-schedule, wallet and P2P isolation work; it has not been deployed. The upstream baseline record documents provenance, offline tests and remaining isolation gates.
Current deployment (2026-10-22): The v4 Debian development testnet runs two non-root containers under Docker Compose on PRIMARY_HOST and a third test node/miner on SECONDARY_HOST. The public website runs on node 2, which validates its own chain; node 1 and the remote miner currently use the minimum 5% duty cycle of one hashing worker. Its read-only explorer is publicly reachable at coin.panoptsecurity.com, with a Security & Transparency page that shows live evidence and open risks. The public API now has bounded trusted-proxy-aware client request rates as well as bounded search work; gateway/proxy behavior and public load remain to be tested. A separate LAN miner/node GUI runs over authenticated HTTPS. Node peer traffic uses LAN TCP 28778. Both are bound to 0.0.0.0 in Docker and restricted to TRUSTED_LAN_CIDR by persistent host firewall rules. See docs/DOCKER-SERVER.md for the self-signed certificate verification process and operator instructions. The installer below describes the retired systemd/v2 prototype for recovery only; do not run it against the current Docker deployment.
Builds and tests run locally, and a repository-scoped Forgejo runner now checks Go changes in isolated job containers. The private Forgejo organization is the working forge; GitHub holds a secondary file mirror with Actions disabled. See local validation for the checks and coverage gaps.
Live testnet preview
Screenshot captured 2026-10-18 from the development testnet. The figures in this image are a historical snapshot; visit the live read-only explorer for current node-reported values. The homepage polls status every five seconds, and its block-interval chart updates when the chain tip changes.
TESTNET ENGINEERING PROTOTYPE ONLY. NOT A PUBLIC MAINNET OR SAFE TO USE WITH REAL FINANCIAL VALUE.
Panopt is a standalone proof-of-work blockchain with its own genesis, native PNPT balances, signed transfers, miner rewards, persistence, peer synchronization, command-line wallet, and a local browser explorer. This release adds the agreed 1,000,000 PNPT disclosed founder allocation.
The founder's private key is created ON YOUR SERVER, never included in this ZIP. The 1,000,000 PNPT is created once at genesis and counts toward the initial 25,000,000 PNPT possible-supply ceiling. The other 24,000,000 PNPT are NOT created: new coins enter supply only through mining, following the testnet's tentative mining schedule. There are no developer-only ongoing mint privileges.
Historical Debian 13 drop-in install (v2 only; do not run on the current deployment)
- Copy Panopt-Coin-v0.2.0-Founder-Testnet.zip into
/Panopt_Coin/on your Debian server. - Run as root (via
sudo -iif necessary):
set -euo pipefail
cd /Panopt_Coin
chmod 755 /Panopt_Coin
unzip -oq Panopt-Coin-v0.2.0-Founder-Testnet.zip -d /Panopt_Coin
chmod -R go-w /Panopt_Coin/Panopt-Coin-v0.2.0
bash /Panopt_Coin/Panopt-Coin-v0.2.0/scripts/deploy-debian.sh
unzip is available via apt-get install unzip on Debian if necessary.
This installer:
- Stops the old
panoptcoinservice, if present. - Creates
/root/.panopt/wallets/panopt-founder.jsonwith a new random private seed if missing. Reuses it on subsequent installs; never overwrites existing keys. - Creates
/root/.panopt/wallets/panopt-miner.jsonas a separate mining wallet. - Creates
/var/lib/panoptcoin/genesis.json, a public, reproducible genesis manifest containing the founder ADDRESS but no secret, with a pinned hash. Reuses and validates an existing manifest on subsequent installs. - Moves an incompatible v0.1 chain (if installed at
/var/lib/panoptcoin/node) into/var/backups/panoptcoininstead of deleting it. An existing v0.2 chain is preserved and validated at startup. - Installs binaries in
/usr/local/bin, creates a restricted systemd service, and starts the node bound to127.0.0.1:18777. - Starts testnet mining into the separate miner wallet, which must be restarted manually after a service restart.
Important: v0.1 and v0.2 genesis/chain identities are incompatible; this is a new blockchain. Existing v0.1 test coins cannot be migrated. The founder private key must be backed up securely and never placed in the ZIP or source tree. Losing that file means losing control of the founder funds. It is unencrypted in this development version.
Verify your balances
panoptctl address -wallet /root/.panopt/wallets/panopt-founder.json
panoptctl balance -wallet /root/.panopt/wallets/panopt-founder.json
panoptctl address -wallet /root/.panopt/wallets/panopt-miner.json
panoptctl balance -wallet /root/.panopt/wallets/panopt-miner.json
panoptctl status
systemctl status panoptcoin --no-pager
Initial founder balance on a fresh chain is exactly 1,000,000.00000000 PNPT. Later balances reflect any transfers out. The genesis attribution remains verifiable in genesis.json, the first block, and node status. To restart mining after a reboot:
panoptctl mine-start -wallet /root/.panopt/wallets/panopt-miner.json
The preceding loopback and unauthenticated API description applies only to the retired systemd executable. The current Docker miner/node page is authenticated HTTPS on the LAN; its public website is read-only.
Offline self-test
./scripts/self-test.sh
Creates a temporary local-speed test network with two independently verifying nodes, a private founder wallet, a 1,000,000 PNPT genesis, a separate mining wallet, a signed 0.5 PNPT transfer, and a restart/persistence check. Deletes all temporary secrets after testing. This test does not alter /var/lib/panoptcoin.
Other OSes and additional nodes
The archive contains bin/linux-amd64, bin/linux-arm64, and bin/windows-amd64 native binaries. All nodes joining the same Panopt network must receive exactly the same PUBLIC genesis manifest (genesis.json). Never share the founder wallet JSON, which holds the private seed. A second testnet node uses the matching -network testnet -genesis PATH -data PATH arguments and independent data directory. Local testing uses a separate -network local genesis manifest. Docker Compose requires a public ./genesis.json generated for testnet and placed alongside docker-compose.yml; do not copy keys to container volumes.
Build from source
Requires Go 1.23+ and no external Go modules:
go build ./cmd/panoptd
go build ./cmd/panoptctl
go test ./...
go test -race ./...
Prototype limitations
This version still uses simplified SHA-256 PoW, transparent addresses/amounts, plaintext JSON wallet seeds, unreviewed consensus, and basic JSON chain persistence. The Docker lab authenticates its management API; the original systemd daemon has an unauthenticated API. It does not implement RandomX CPU mining, privacy, mobile/GUI wallets, public-network defenses, multisignature, or production-grade account security. Its economic parameters are experimental and could change before a future public mainnet. See docs/SECURITY.md and docs/FEATURE_MATRIX.md.
Current v4 testnet monetary parameters
- Initial allowed supply ceiling: 25,000,000 PNPT.
- Founder genesis premine: 1,000,000 PNPT (4% of initial ceiling), publicly attributed to the genesis wallet and included in total issuance.
- Initial unissued ceiling capacity: 24,000,000 PNPT.
- Subsequent mining: exactly 25,000 PNPT per 262,800 blocks across the whole network, about 0.09513 PNPT per block. Additional miners divide those rewards rather than increasing total issuance.
- Fixed lifetime historical issuance ceiling: 25,000,000 PNPT, reached after 960 height-years if every eligible reward is claimed. Mining subsidy then becomes zero; there is no perpetual tail on v4.
- Transaction fee burn: 1% of block fees, with the rest payable to miners; mining subsidy is separate.
- Difficulty targets a 120-second average on testnet; individual blocks vary and abrupt changes in mining power can move calendar-time issuance above or below the height-based schedule. Shock modeling found severe overshoot, so v4 is not a stable-cadence or mainnet rule. Local test targets 2 seconds.
The v2 testnet and its approximately 550+ previously mined coins were archived before the v3 genesis reset. Those test coins do not transfer to v4. The v3 chain is also archived; neither earlier chain migrates. The public v4 genesis contains no wallet key. This is provisional testnet policy, not mainnet monetary approval.
Supply accounting: issued includes founder genesis issuance plus mining subsidies; burned tracks permanently burned transaction fees; circulating = issued - burned. Supply limits are checked when validating every mined block.
Current engineering session
See assessment, lab build and verification, monetary review, and checklist. The new panoptlab executable separates authenticated management from peer and read-only traffic; the original panoptd remains a legacy unauthenticated executable. Neither implements the planned Monero-derived privacy network.
Running development deployment
The branded live website and two-node lab are deployed privately on Debian using Docker Compose. See deployment and verification. The Monero-derived protocol remains planned; this deployment still uses legacy transparent consensus.
