Skip to main content

Testnet

The testnet is the public network of Tesserax ahead of the mainnet: the chain the explorer, the public RPC and the web wallet follow. It has the tokenomics of the mainnet: the same emission, the same allocations to the team and the foundation (test accounts) and the same fees. Its TESS are test TESS: they have no value, and the testnet may be reset.

Chaintesserax --chain testnet, chain-specs/testnet.json
Genesis hash0xc2f9cb03897c5ad30fff2f93debaa8b4a6e08f37a12270e107c71eb1ad39e5d1
Bootnode/dns/testnet-boot.tesserax.app/tcp/28385/p2p/QmUAEp2bK2V3ADJkZym99dAEZZBN6WccwLecjfAFzpDWGo
Public RPCwss://testnet-rpc.tesserax.app:21207, post-quantum TLS (rpc.md)
Explorerhttps://testnet-explorer.tesserax.app
Wallethttps://wallet.tesserax.app
Faucethttps://faucet.tesserax.app
Mining poolhttps://testnet-pool.tesserax.app, stratum testnet-stratum.tesserax.app:25202

The specification holds the genesis state itself, runtime included, and the bootnodes: the node embeds it, and a node started with --chain testnet joins the testnet whatever the runtime it is built with.

Get test TESS​

  • Faucet: https://faucet.tesserax.app gives 10 test TESS per address every 24 hours.
  • Mining: every block pays its miner 0.85 test TESS, as on the mainnet.

Mine on the pool​

The quickest way to mine: no node to run, only the miner.

  1. Create an account in the wallet and copy its address.

  2. Download the Tesserax build of XMRig for your system from the downloads and unpack it. On macOS, allow it once: xattr -d com.apple.quarantine xmrig.

  3. Start it with your address and a name for the machine:

    ./xmrig -a rx/tess -o testnet-stratum.tesserax.app:25202 -u <your address>.rig1 -p x

    On Windows: xmrig.exe instead of ./xmrig. Mining at full speed takes about 2.5 GB of memory; on a machine with less, add --randomx-mode=light, several times slower.

  4. Follow your hashrate and balance on https://testnet-pool.tesserax.app with your address. A block is credited once it is 60 blocks deep; balances of 1 test TESS or more are paid every 30 minutes.

The pool keeps 1% of each block for the fees of its payouts. See pool.md.

Run a node​

A node needs 2 cores, 4 GB of memory and a 100 GB SSD; see node.md for the hardware of each use, the ports and running it as a service. Build the node (README), then:

tesserax --chain testnet # follow the chain
tesserax --chain testnet --mine --author <your address> # and mine with the CPU

--mining-threads N sets the number of threads. --mining-light mines with 256 MiB of memory instead of 2 GiB, at a lower hashrate: on a machine with 8 GiB of memory or less, use it.

To mine with XMRig, several times faster than the built-in miner, run the node with --stratum and point the Tesserax build of XMRig at it (mining.md):

tesserax --chain testnet --stratum --author <your address>
./xmrig -o 127.0.0.1:3333 -u rig1 -a rx/tess

The genesis​

  • Mining: 0.85 TESS a block, halving every 7,000,000 blocks.
  • Team: 1,400,000 TESS, with a six-month cliff then linear vesting to 48 months.
  • Foundation: 700,000 TESS to a 2-of-3 multisig, 140,000 liquid and the rest vested over 36 months.
  • Faucet: 100,000 test TESS to the operator, which funds the faucet. This one exists only on the testnet.
  • Difficulty: 1,000 at genesis, the minimum; it follows the miners who join.

The operator account, the team account and the three foundation signatories are derived from the secret phrase of the operator of the testnet: //sudo (the sudo key until runtime 103), //team and //foundation//1 to //foundation//3. Their addresses are in runtime/src/genesis_config_presets.rs.

The specification was generated once from the testnet preset of the runtime, then frozen:

tesserax export-chain-spec --chain testnet-genesis --raw > chain-specs/testnet.json

Generating it again with another runtime gives another genesis, so another chain.

Runtime upgrades​

The testnet started with a sudo key; since runtime 103 it has none, and its runtime changes by referendum like the mainnet's (governance.md): tesserax-wallet governance propose-upgrade authorizes the WebAssembly runtime, whose spec_version is higher than the one on chain, and apply-upgrade submits it once the referendum is enacted. Its technical committee is the three signatories of its foundation. Nodes run the runtime of the chain whatever their version, and a node syncing from the genesis applies the upgrades in their blocks.

spec_versionDateChange
1002026-10-23Genesis
1012026-10-25An address in contracts belongs to its first owner (contracts.md)
1022026-10-25The same runtime, built with the paths of the build machine remapped
1032026-10-25Governance in place of sudo: referenda, conviction votes, the technical committee (governance.md)
1042026-10-26Atomic swaps of TESS against BTC, ETH, USDC and USDT (swaps.md): the first upgrade by referendum, #0 on the urgent track, whitelisted by the committee
1052026-10-27Hours and days counted from milliseconds: the close period of channels, the longest task and the arbitration of tasks were 10% short. Referendum #1, on the urgent track
1062026-10-31Bids: buyers bid for TESS, and sellers, miners first, sell into a bid at once. Referendum #2, on the urgent track

Demo maker​

A maker of the testnet sells TESS for testnet4 BTC, and buys them, so that the market of the wallet always has an offer and a bid: tesserax-wallet swap make with --keep-offer and --keep-bid (swaps.md), started by docker/demo-maker.sh. It offers 1,000 TESS at a time, at 0.00001 BTC each, from 10 TESS, and bids for 100 TESS at the same price, in sales of 5 TESS at least, as far as the testnet4 BTC of its key pays.