Skip to content

Releases: pars5555/pcoin

PCoin v1.3.0 — pool mining

Choose a tag to compare

@pars5555 pars5555 released this 13 Aug 08:28

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 .deb now declares libc6 (>= 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

Choose a tag to compare

@pars5555 pars5555 released this 13 Aug 05:16

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

Choose a tag to compare

@pars5555 pars5555 released this 13 Aug 02:00

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

Choose a tag to compare

@pars5555 pars5555 released this 12 Aug 20:32

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

Choose a tag to compare

@pars5555 pars5555 released this 11 Aug 02:23

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

Choose a tag to compare

@pars5555 pars5555 released this 10 Aug 11:53

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

Choose a tag to compare

@pars5555 pars5555 released this 08 Aug 16:27

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

Choose a tag to compare

@pars5555 pars5555 released this 07 Aug 22:11

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, not bitcoin.conf. The installers write
    one for you. A node handed bitcoin.conf ignores it silently.
  • The .deb installs as pcoind / pcoin-cli, not bitcoind, 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 .deb leaves /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

Choose a tag to compare

@pars5555 pars5555 released this 05 Aug 19:45

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)

Choose a tag to compare

@pars5555 pars5555 released this 03 Aug 12:58

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 backupwallet is 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