Skip to content

TSN v3.0.0-rc.20

Pre-release
Pre-release

Choose a tag to compare

@trusts-stack-network trusts-stack-network released this 05 Aug 11:33

Run it like this:

./tsn new-wallet                        # note the Address it prints
./tsn miner-v2 --miner-pk-hash <64-hex> \
               --data-dir ./tsn-data -t <threads>

No --peer needed: the node dials the default seeds and bootstraps from a
published snapshot. Pass --data-dir explicitly — without it the node falls
back to /var/lib/tsn-devnet-v2, which needs root and may already hold another
node's state.

Other roles: service-node, cortex-v2, ingress.

What rc.19 and rc.20 fix

rc.18 shipped with two traps for a first-time user, both found by running the
published tarball in a clean directory:

  • ./tsn --data-dir ./x -t 10 — the obvious command — started a v1 node on
    tsn-testnet-v13, a network retired in May with no peers. It printed
    "Creating new blockchain", "Node synced (height: 0)" and "MINING ACTIVE",
    so it looked healthy while mining a private chain alone. That path now
    refuses and prints the command above.
  • The rc.19 guidance omitted --data-dir, and following it verbatim failed
    with "bincode: io error: unexpected end of file". Fixed, and the reason is
    now stated in the message.

Everything from rc.18 is included

A mining live-lock: rebuilding the note accumulator walked the whole chain on
any re-org or multi-block jump (~196,000 block reads, no cancellation point),
so one producer could stop hashing entirely for dozens of blocks. Runs of 50+
consecutive blocks by one producer are gone.

Memory: the accumulator walk no longer materialises every block body since
genesis (1,366 MB to 87 MB, identical root); caches and allocator arenas are
bounded. Across seven machines, resident memory went from roughly 60 GB to 7.

Bandwidth: settled registry events are no longer re-announced in every block —
229,804 to 8,707 byte blocks.

Shielded transactions are proved with Plonky2. The Plonky3 AIR scaffold was
benchmarked and dropped: it constrained no hash at all.

sha256: d59e03c12a8240a40b1e9eb43ce6d90c60b1e6c51cc601193f8eb2d04f5d53fe