Hi all, I created a BCHN patch to make connecting to the pre-upgrade “tempnet” easier – you can clone the tempnet
branch here, build BCHN normally, and set tempnet=1
.
Tempnet
-
Tempnet
is a temporary network designation that’s easy to fork from chipnet
(just hard-code a new activation MTP)
- Uses its own storage – doesn’t corrupt your
chipnet
data even if running in the same data directory
- Automatically expires shortly after the real chipnet upgrade (thanks for the idea @Jonas!)
If you setup a tempnet node following the instructions below: shortly after the Nov 15 upgrade, your node will automatically restart itself, keep an archive of the old tempnet
chain data, and re-join chipnet
.
The hard-coded tempnet
configuration in the patch has seed nodes, a DNS seeder, and a block explorer here. I’m also forwarding transactions from chipnet to tempnet, so if you’re careful to start with pre-Sept 15 chipnet UTXOs, any demo transactions you create on tempnet can be re-sent on chipnet in November.
getblockchaininfo.upgrade_status
For convenience, the patch also adds an upgrade_status
field to getblockchaininfo
(screenshot from a previous tempnet):
Here are the fields currently (before the Sept 15 tempnet upgrade):
"upgrade_status": {
"name": "May 2026 Upgrade (tempnet)",
"mempool_activation_mtp": 1757937600,
"block_activation_height": null,
"block_activation_hash": null,
"software_expiration_mtp": 1763208000,
"mempool_activated": false
}
Activation Covenant & Activation Transaction
The tempnet
configured in this patch forks cleanly by requiring a specific hard-coded activation transaction to appear in the next block following activation. The “activation covenant” is already on chipnet
here:
It’s a P2S output (nonstandard until the upgrade, but was manually mined directly into a block), and it contains a covenant requiring all of the 2026 proposals. If you’re curious, here’s a Bitauth IDE import for the activation covenant.
Activation transaction hex
Here’s the activation transaction – TXID: a746c4381e63b2aea80a6ea13951a4ba79d70b39829fe833bbd904adf39be946
:
020000000130d1c3a524c4b208e6c1b558b110749f4ae1d431373b10a963f3ff9d873db75700000000040279015d00000000010000000000000000a9ef30d1c3a524c4b208e6c1b558b110749f4ae1d431373b10a963f3ff9d873db757608000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006a043230323600000000
And here’s a P2SH20 version that’s preloaded on chipnet as well (might be easier to broadcast from some software that has trouble with P2S inputs before the first-activated block) – TXID: a40668a130ae4f081fa102c4450fa98644d3379790988a5c8e548b9b8ccf8329
:
0200000001354ecde42b3e8506067bbab450e2965d7929a49400c2597ab167cad570b2884700000000450279015d400d00517b658c6b7d936c739166774f89564f8a885d4f8ac252c451c5cc006ed36fcbcd830695fbcdcfcdc952568d00d2827c810000c800d16588749166c3518700000000010000000000000000a9ef354ecde42b3e8506067bbab450e2965d7929a49400c2597ab167cad570b28847608000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006a043230323600000000
Setup a tempnet
node
Finally, here’s how you could setup a tempnet
node on a new Ubuntu machine (building yourself for lower trust and easier patching):
git clone https://github.com/bitjson/bchn.git # defaults to "tempnet" branch
cd bchn
# Install dependencies (Ubuntu)
sudo apt install build-essential cmake git libboost-chrono-dev libboost-filesystem-dev libboost-test-dev libboost-thread-dev libevent-dev libminiupnpc-dev libssl-dev libzmq3-dev help2man ninja-build python3 libgmp-dev zlib1g-dev
# Build BCHN
mkdir build && cd build
cmake -GNinja .. -DBUILD_BITCOIN_WALLET=OFF -DBUILD_BITCOIN_QT=OFF -DENABLE_NATPMP=OFF -DCMAKE_BUILD_TYPE=Release
ninja
If you’re running on a very low-memory machine (cheap VPS), you’ll need some swap to build (skip this if ninja
succeeded above):
sudo dd if=/dev/zero of=/swapfile bs=64M count=64
sudo mkswap /swapfile
sudo swapon /swapfile
ninja
Then install the BCHN you built:
sudo ninja install
mkdir ~/.bitcoin
nano ~/.bitcoin/bitcoin.conf
When the nano
editor appears, paste:
txindex=1 # not required, but useful to have around
tempnet=1
Ctrl+S
to save, Ctrl+X
to close.
Then setup the service by running nano /etc/systemd/system/bitcoind.service
, and paste: (assuming you’re root
in a cheap VPS, if not, run pwd
to see your build
and/or user directory path)
[Unit]
Description=Bitcoin Cash Node service
[Service]
WorkingDirectory=/root/
ExecStart=/root/bchn/build/src/bitcoind -datadir=/root/.bitcoin
Restart=on-failure
RestartSec=5
StartLimitInterval=350
StartLimitBurst=10
[Install]
WantedBy=multi-user.target
Ctrl+S
to save, Ctrl+X
to close. Then setup bitcoind to run automatically:
systemctl daemon-reload
sudo systemctl enable bitcoind.service
You’re done – make sure your node starts on boot by trying it now: sudo reboot
. When you reconnect, tail the logs to see if it’s alive: tail -f ~/.bitcoin/tempnet/debug.log
.
Summary