Releases: pars5555/pcoin
Release list
PCoin v1.3.0 — pool mining
PCoin v1.3.0 — pool mining
This is the release that makes joining a pool one line. startpoolmining is
now in the binaries people actually download; before this it existed only in
source, so any node following the instructions answered Method not found.
Mine for a pool
# Linux
sudo pcoin-cli -datadir=/var/lib/pcoin \
startpoolmining "pool.pc.am:3333" "<your pc1... address>" 0
# Windows
C:\PCoin\bitcoin-cli.exe -datadir=C:\PCoin\data ^
startpoolmining "pool.pc.am:3333" "<your pc1... address>" 0
0 threads means every core. The address is your identity at the pool — it is
where you get paid, and no wallet or private key is involved on your machine.
To make it survive a restart, set POOL_URL=pool.pc.am:3333 in
/etc/pcoin/miner.conf (Linux) or poolurl=pool.pc.am:3333 in
C:\PCoin\pcoin-tray.cfg (Windows). Without that, the supervisor and the tray
re-issue solo mining at the next restart and your payouts move back to your
own address.
Solo mining is unchanged. startmining still works exactly as before.
Notes
- Pool mining does not need a synced node. The pool supplies the block being
worked on, so a fresh install contributes immediately. (Solo mining still
waits, because an unsynced solo miner builds a competing fork.) - pool.pc.am is invite-only right now while its payout accounting is
reconciled against the chain. A stranger gets a clean refusal, not silence. - The
.debnow declareslibc6 (>= 2.38), read from the binary. It previously
claimed 2.31 while requiring 2.38 — installing cleanly and then failing to
start on every boot. - Requires glibc 2.38+ (Ubuntu 24.04+, Debian 13+).
Verify
sha256sum -c SHA256SUMS
v1.2.8 — Android wallet
The Android wallet only. Windows, Linux and the Android miner are unchanged and stay at v1.2.6; every download link is pinned to the release that built it, so this one does not move them.
PCoin Wallet 0.2.6 -> 0.2.8
Open any payment in your history for the details. Tap a row: block height, confirmations, fee, and the full transaction id, selectable so you can copy it.
A receive now shows where the money came from. This is new, and worth being precise about what it is. A PCoin transaction has no "from" field — inputs simply point at the coins that funded the payment. So the row lists the addresses those coins came from, plural, and calls them that. They are often an exchange's pooled wallet or the payer's own change address rather than anything a person would call their address, and nothing here pretends otherwise.
Resolving them works on a phone, which has no transaction index, because the wallet knows which block its own transaction is in and can ask for it there. A payment still waiting for a block says so instead of showing an empty list, and newly mined coins say they have no sender, because they do not.
Pay straight from a row. A sent payment gets Send again; a receive gets Pay this address for each address that funded it. Names from your address book are used wherever you have them.
As everywhere else in this wallet, that fills in the address and decides nothing else: the node still validates it and the review step still shows the destination it actually built.
Installing
Signed with the same key as every previous release, so it installs over an existing wallet. Do not uninstall first — that destroys the wallet in app-private storage and the address book with it. Your recovery phrase restores the wallet; it does not restore your saved names.
v1.2.7 — Android wallet
The Android wallet only. This is the first per-component release: it contains one app, not a rebuild of every platform.
Windows, Linux and the Android miner are unchanged and stay at v1.2.6 — download them from that release, which is where pc.am now links. Every download link is pinned to the release that built it, so a link never silently becomes a different file and a wallet update no longer moves the miner.
If you saved an old copy of install.ps1 or install.sh, fetch it again from pc.am. The advertised one-liners always fetch fresh, so they are already correct; only a copy sitting on disk still points at the old scheme.
PCoin Wallet 0.2.4 -> 0.2.6
Scan a QR code to pay. A QR button sits beside the address field on the send screen. It reads a bare address, a pcoin: URI, and a BIP21 URI with an amount — which it fills in and tells you about, because money that appeared without being typed deserves pointing at. Upper-case codes work: QR's alphanumeric mode is digits and capitals only and is much denser, so encoders routinely upper-case a bech32 address.
A scan fills a field and decides nothing else. The node still validates the address, and the review step still shows the destination it actually built.
The address book is all on one screen now. It used to show four names and hide the rest behind a button, which made the common case — pay someone you have already named — cost a screen change. The full list is there and scrolls in place.
The amount button says MAX rather than "All", which next to an amount box read like a quantity you could type.
An update can no longer cost you your saved names. The address book decoder accepted only its own exact format version, so the first release to add a field would have failed to read every existing book on the first launch after updating, and every saved name would have quietly disappeared. Nothing had changed the format yet; the trap was simply armed.
Installing
Signed with the same key as every previous release, so it installs over an existing wallet. Do not uninstall first — that destroys the wallet in app-private storage, and the address book with it. Your recovery phrase restores the wallet; it does not restore your saved names.
v1.2.6
Asset names now say what the app is. The Windows and Linux downloads gained a role word -- pcoin-win64-miner.zip, pcoin-linux-amd64-miner.deb, pcoin-linux-x86_64-miner.tar.gz -- matching the Android APKs, which already carried -miner and -wallet. This makes room for the Windows earner app, which will ship as pcoin-win64-earner.zip.
The old names are still here, byte-identical, as transition aliases: pcoin-win64.zip, pcoin-linux-amd64.deb, pcoin-linux-x86_64.tar.gz. The install one-liners are fetched fresh from pc.am and already use the new names, but a copy someone saved to disk still asks for the old ones, and those must not 404. They will be dropped in a later release.
PCoin Wallet 0.2.3 -> 0.2.4
One fix, and it is the kind that would only have been noticed by the people it hurt.
The address book is stored in app-private storage, so an update keeps it and an uninstall loses it -- which is the intended behaviour. But the decoder accepted only its own exact format version. The first release to add a field to that format would have failed to read every existing book on the first launch after the update, and every saved name would have silently vanished. Nothing had changed the format yet, so nobody was hit; the trap was simply armed.
Reading is now asymmetric: any format at or below the current one is read, a newer one is refused rather than partially decoded and written back (which would drop fields it did not understand), and a missing version is treated as corruption and preserved rather than overwritten.
PCoin Miner 0.3.1 -> 0.3.2
Unchanged from v1.2.5. Republished here under the new asset names.
Node
Unchanged. The Windows and Linux binaries are byte-identical to v1.2.4 and v1.2.5, so install.ps1 needs no hash bump: pcoin-win64-miner.zip hashes to the same value the installer already pins.
Both APKs are signed with the same key as every previous release, so they install over an existing app. Do not uninstall first -- that destroys the wallet, and on the wallet app it also destroys the address book.
v1.2.5
Android apps only. The Windows and Linux binaries here are byte-identical to v1.2.4 and are carried forward unchanged, so every /releases/latest/download/ link keeps resolving — pc.am links through the version-less names and GitHub resolves latest to the newest release, so a release that omitted them would 404 for those platforms. install.ps1 needs no bump: pcoin-win64.zip still hashes to 0acc1f07…, the value it pins.
Both APKs are signed with the same key as every previous release, so they install over an existing app. Do not uninstall first — that destroys the wallet in app-private storage.
PCoin Wallet — 0.1.1 → 0.2.3
Address book. Give a name to an address you pay. The compose screen tells you "Saved as Market" the moment a known address is pasted, and says "Not in your address book" when it is not — silence after pasting what you believed was a saved address is the case worth noticing. Saved names are one tap to fill. History shows the name beside the address.
Two rules hold everywhere a name appears: a name is a note your phone keeps that nothing verifies, so it is always shown next to the address, never instead of it, and the book never decides where money goes — it fills a field that validateaddress still checks and the review step still shows in full.
The version is on the home screen, name and code both, so you can tell two builds apart without a cable.
A datadir the node refuses to open now repairs itself, once. A hard kill can leave a block database that needs rebuilding; the app used to retry the same failing start five times and give up, leaving the wallet with no node and no way back. It now arms exactly one -reindex. It cannot loop: the flag is a latch cleared only by a node that actually served RPC.
Plus seven fixes from an adversarial review of the address book, including a success screen that asked you to name an address it never displayed.
PCoin Miner — 0.3.1 → 0.3.2
The same one-shot -reindex recovery. Nothing else changed.
Node
Unchanged. libbitcoind.so is the same binary shipped since v1.2.3; only the Kotlin app layer moved.
PCoin v1.2.4 — RandomX fast mode
RandomX fast mode, opt-in with -randomxfastmode.
It builds a ~2 GB table in memory instead of the 256 MiB cache and mines several times faster on a machine with the RAM to spare. Verification is untouched — fast and light produce identical hashes, and every validation path still runs light mode. Two tests carry that property so it cannot rot.
The Windows tray exposes it as a checkbox, enabled only when the machine actually has the memory free.
Also in this release: LWMA is now active (height 2800), and difficulty retargets every block.
Windows is a zip only — the Inno Setup installer was dropped. Verify your download against SHA256SUMS.
PCoin v1.2.3
PCoin v1.2.3 brings the new struck coin mark to every platform: both Android
apps, the Windows installer and its shortcuts, the tray icon, and pc.am.
The node binaries are byte-identical to v1.2.1 and v1.2.2. No consensus code
changed. The packaging script asserts their SHA-256 rather than claiming it, so
a rebuild that altered them would fail rather than ship quietly:
d73e1f6f12771a4d6dc7ca65ce4fc8b6f94a615c3f6abc841c7d3a7c1c8e211e bitcoind.exe
d48b90cfce1ee456e84044cc6e8c961415800211d9974f76026ff9bc5c061fac bitcoin-cli.exe
5114db61a99deb7fb5c0c1cc365e09188924eed89eb2486555f6f90fe3bff9c3 bitcoind
79c19c1dd10b2aa3451ff9d7649633ace1e77be3dea06d35a2b3e36e9132f7e4 bitcoin-cli
Also fixed since v1.2.2
install.ps1 was broken. The release archive lays binaries out as
pcoin-<ver>\bin\*.exe and the script copied that tree verbatim into
C:\PCoin, so they landed in C:\PCoin\bin while the tray, the scheduled task
and the script's own next line all looked in C:\PCoin. It reported success and
produced an install that could not start a node. It now locates bitcoind.exe
wherever it is in the archive and flattens from there.
Downloads
Every file is published under two names with identical bytes: one carrying the
version, one without. The version-less name is what pc.am links to, so those
links keep working when the next release lands.
Android
Both APKs are signed with the release key
2dc08424507c08c12f5afb7ce7328d5f4fec772dde04de40d69a69e8dcaccb32.
Android refuses to install over an app signed with a different key. If you
already run a build from source signed with this repo's debug key you must
uninstall first, and uninstalling destroys the wallet in app-private
storage. Write your recovery phrase down before you do that.
Verify what you downloaded
sha256sum --ignore-missing -c SHA256SUMS
These checksums prove the file is intact. They are not signatures, and the
builds are not reproducible yet -- see doc/REPRODUCIBLE-BUILDS.md.
PCoin v1.2.2
Installers for all three platforms, and the Android apps are back.
The node binaries are byte-identical to v1.2.1 — no consensus code changed.
You can check: bitcoind.exe is d73e1f6f12771a4d…, Linux bitcoind is
5114db61a99deb7f…, the same hashes v1.2.1 published. This release adds
packaging and ships the Android apps, which v1.2.1 was missing.
Which file do I want?
| Platform | Download | Notes |
|---|---|---|
| Windows | pcoin-1.2.2-win64-setup.exe |
Installer. Node, CLI and tray app; writes a working pcoin.conf; creates an uninstall entry. |
| Windows (portable) | pcoin-1.2.2-win64.zip |
Just the binaries. |
| Linux (Debian/Ubuntu) | pcoin-1.2.2-linux-amd64.deb |
sudo apt install ./pcoin-1.2.2-linux-amd64.deb. Installs pcoind and pcoin-cli, adds a systemd unit. |
| Linux (portable) | pcoin-1.2.2-linux-x86_64.tar.gz |
Just the binaries. |
| Android — miner | pcoin-1.2.2-android-miner.apk |
Full node, wallet and CPU mining. |
| Android — wallet | pcoin-1.2.2-android-wallet.apk |
Wallet only: balance, send, receive with QR, history. Carries a full node; no mining. |
Things worth knowing before you install
- Mining is off by default on every platform. A node that mines before it
has synced is building on a chain it has not verified. Turn it on once you
are caught up. - The config file is
pcoin.conf, notbitcoin.conf. The installers write
one for you. A node handedbitcoin.confignores it silently. - The
.debinstalls aspcoind/pcoin-cli, notbitcoind, so it can
never collide with Bitcoin Core. Binaries live in/opt/pcoin/bin. - Uninstalling never removes your wallet. Windows leaves
C:\PCoin\data;
the.debleaves/var/lib/pcoin. Delete them yourself if you mean it. - These APKs are signed with the release key (
2dc08424…). If you already
run a build from this repo signed with the debug key, Android will refuse to
install over it — you would have to uninstall first, which destroys the
wallet in app-private storage. Write your recovery phrase down before you
do that.
Verify what you downloaded
Checksums are in SHA256SUMS below and at https://pc.am/dl/SHA256SUMS.txt.
sha256sum -c SHA256SUMS # Linux/macOS
Get-FileHash .\pcoin-1.2.2-win64-setup.exe # Windows
These are not signatures and the builds are not reproducible yet — see
doc/REPRODUCIBLE-BUILDS.md.
Links
Explorer and API: https://explorer.pc.am ·
Integration guide: doc/INTEGRATION.md
PCoin v1.2.1 — fixed seeds, so a node can always find the network
Bootstrap fix. A node could only find the network through one DNS name. If seed.pc.am was down, DNS was filtered, or the node was started with -dnsseed=0, it had no way in at all.
What changed
src/chainparamsseeds.h still held Bitcoin's mainnet seed list. Nothing included it, so it was dead code — and that was the only thing stopping a PCoin node from dialling Bitcoin nodes. contrib/seeds/nodes_main.txt, the generator's input, held the same 2031 Bitcoin addresses on port 8333, so anyone following the documented regenerate step would have written them straight back in.
Both now carry PCoin's three seeds, and mainnet compiles them in as vFixedSeeds:
35.239.156.16:9444
35.238.47.14:9444
178.105.3.51:9444
Verified with a fresh datadir and -dnsseed=0: "Added 3 fixed seeds from reachable networks", all three connected within ten seconds, on both Linux and Windows builds.
nMinimumChainWork stays zero and the assert enforcing that is untouched. PermittedDifficultyTransition() still returns true unconditionally above lwmaHeight, so a non-zero minimum chain work remains unsafe; the work to give it a real LWMA bound is not part of this release.
Still the deadline that matters
LWMA activates at height 2800. Every node must be on v1.2.0 or later before then — a node still on v1.0.x at that height will follow a different chain. This release includes everything in v1.2.0.
Downloads
| Platform | File |
|---|---|
| Windows x64 | pcoin-1.2.1-win64.zip |
| Linux x86_64 | pcoin-1.2.1-linux-x86_64.tar.gz |
aafef86254f341482b6a2c8714f99b9b8688fa7041fb8f78458991559c6c0074 pcoin-1.2.1-win64.zip
af37496250098b616755f513f7c5980fed7804d86bdffdee0cf02f6ea7fdd1b1 pcoin-1.2.1-linux-x86_64.tar.gz
Binaries are not code-signed on Windows; SmartScreen will warn.
Website: https://pc.am
PCoin v1.2.0 — critical difficulty fix (LWMA)
Critical difficulty fix. Every node must upgrade before block height 2800. A node still running v1.0.1 at that height will follow a different chain.
What was wrong
The legacy retarget was silently computing the wrong difficulty on this chain. arith_uint256::operator*=(uint32_t) discards the carry out of the top limb, so target * timespan is evaluated mod 2^256 with no overflow check. Bitcoin never hits this because its powLimit is 2^224; PCoin raised powLimit to 2^244 to make CPU mining viable, which leaves only 12 bits of headroom against a timespan needing 19-23 bits.
At height 2016 the 4x clamp fired correctly and the multiply that followed wrapped, producing 0x1e0b7c33 instead of 0x1f03ffff — a 356x difficulty jump in one step. PermittedDifficultyTransition computes its bound with the same overflowing expression, so the safety check compared a corrupt value against an identically corrupt limit and passed.
This was not only historical. At the current target the wrap begins once average spacing reaches 724 s, and it inverts the sign: at 900 s spacing difficulty would rise 3.4x when it should fall 1.5x. A drop in hashrate would have raised difficulty and stalled the chain permanently.
What changed
LWMA (linearly-weighted moving average, N=60, T=600 s) replaces the 2016-block retarget at heights >= 2800, with an exact overflow guard derived by division rather than by the multiply it checks. Difficulty now responds every block instead of every 2016.
The legacy path below height 2800 is left byte-identical. The existing chain depends on those values, and correcting them retroactively would orphan every block from 2016 onward.
Also in this release: a dead-man's switch on the built-in miner (mining stops if the supervising app dies), Android thermal and charging safety gates, and a percentage-based performance setting on both Windows and Android.
Downloads
| Platform | File |
|---|---|
| Windows x64 | pcoin-1.2.0-win64.zip |
| Android arm64 | pcoin-1.2.0-android-arm64.apk |
| Linux x86_64 | pcoin-1.2.0-linux-x86_64.tar.gz |
63b8541db7a436cdbb2cb5ed5e9bdebb55f0129830973002f1236fd0bf048b83 pcoin-1.2.0-win64.zip
fe3017a877ba931c896e98e955a7a87381acb440ed519db93ca24c292992e939 pcoin-1.2.0-android-arm64.apk
3b483ab30ede007a30bece255423c2c79c789cf5fc4241baf5604acf845d1e5c pcoin-1.2.0-linux-x86_64.tar.gz
Setup instructions for each platform are in the v1.0.1 notes and unchanged.
Known gaps
- No recovery phrase yet. The wallet is still a file;
bitcoin-cli backupwalletis the only backup, and uninstalling the Android app destroys the wallet. A BIP39 12-word flow is the next thing being built. - Binaries are not code-signed on Windows; SmartScreen will warn.
Website: https://pc.am