Tempnet: 2026 Chipnet Upgrade & Pre-Upgrade Testing

Hi all, it’s time to test-upgrade Chipnet for 2026 :rocket:

Having a live test network makes it a bit easier for ecosystem software to experiment with CHIPs, perform integration testing, and demo new use cases.

For anyone interested, I plan to fork from chipnet at 1757937600 MTP (2025-09-15T12:00:00.000Z) – that’s the same time (on September 15) as the typical chipnet upgrade (on November 15) and mainnet upgrade (on May 15).

I’ll spin up some new “september-net” infrastructure and keep it online through November 15, at which point I’ll redirect everything to chipnet. I plan to use this BCHN branch:

Big thanks to @cculianu for tirelessly testing and optimizing BCHN’s implementation over many months now. :pray:

The 2026 upgrade activation code isn’t expected to differ from last year’s upgrade, but if other node implementations would find it useful, we could maybe also plan another coordinated test upgrade for 1760529600 MTP (“october-net”, 2025-10-15T12:00:00.000Z). (For stability in test applications and block explorers, I’ll likely still keep my infrastructure pointing to the Sept. 15 fork until the actual chipnet upgrade.)

Any volunteers to run nodes and mine are appreciated – I’ll post more detailed instructions here next week on setting up a node and connecting to the network.

Please post connection info, links to software patches, links to your projects, and testing-related tips below. Thanks!

9 Likes

Sounds awesome.
May I suggest to plant a poison pill in this branch so the network self dies at Nov 15th?
That way there is no way we will end up with (yet another) testnet.

3 Likes

FWIW, as one of the few chipnet operators I have no plans of supporting september/octobernet, just vanilla chipnet. I doubt anyone other than jason will run the infrastructure, so the forked networks should die on their own

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

3 Likes

The September 15 tempnet automatically forked cleanly from chipnet :rocket:

Block #271016 differs between tempnet and chipnet. The activation transaction spent a P2S covenant that requires the loops, functions, p2s, and bitwise CHIPs.

Thanks @ichundes for reporting a sync issue for the tempnet branch (I messed up the final Git squash last night) – I also clarified the upgrade_status response mentioned above:

Example output before an upgrade activates:

  "upgrade_status": {
    "name": "May 2026 Upgrade (tempnet)",
    "mempool_activation_mtp": 1757937600,
    "block_preactivation_height": null,
    "block_preactivation_hash": null,
    "block_postactivation_height": null,
    "block_postactivation_hash": null,
    "software_expiration_mtp": 1763208000,
    "mempool_activated": false
  },

And after an upgrade activates – i.e. the final details for this tempnet:

  "upgrade_status": {
    "name": "May 2026 Upgrade (tempnet)",
    "mempool_activation_mtp": 1757937600,
    "block_preactivation_height": 271015,
    "block_preactivation_hash": "00000000023062becd19275fa2ec7cbe32d3eb5329708ccb006143865f010af7",
    "block_postactivation_height": 271016,
    "block_postactivation_hash": "00000000163a426b4dfe4a484b8753c918f58b8cb9bf716cbf7be2d871867bc4",
    "software_expiration_mtp": 1763208000,
    "mempool_activated": true
  },
1 Like