Skip to content

Shell Chain v0.27.10

Choose a tag to compare

@LucienSong LucienSong released this 20 Oct 11:39
8bbf31d

Restores catch-up when a validator returns after a block was sealed without enough attestations. The returning validator validates and votes on the missing pending block, allowing the existing transaction to finalize without another transaction. Finalized synchronization response bounds and quorum thresholds are unchanged.

Native archives include RocksDB and libp2p for Linux x86_64 (Ubuntu 22.04 or compatible) and macOS arm64 (macOS 13 or newer). The two equal-weight SLH-DSA/ML-DSA validator scenario passes on both platforms, including offline finality, rejoin, historical signer queries, read-only checks and process reopen. Other quorum policies and live-network upgrades are outside this check.

To run the isolated recovery check, use Node.js 24, npm, curl and tar. It creates fresh test keys and local node data, sends two one-wei test transfers, stops its nodes and prints the report path. Downloaded binaries are not applied to an existing network.

mkdir shell-quorum-check
cd shell-quorum-check
if [ "$(uname -s)" = Darwin ]; then
  target=aarch64-apple-darwin
else
  target=x86_64-unknown-linux-gnu
fi
archive="shell-node-v0.27.10-${target}.tar.gz"
curl --fail --location --retry 2 --output "$archive" "https://github.com/ShellDAO/shell-chain/releases/download/v0.27.10/$archive"
curl --fail --location --retry 2 --output SHA256SUMS https://github.com/ShellDAO/shell-chain/releases/download/v0.27.10/SHA256SUMS
if [ "$(uname -s)" = Darwin ]; then
  grep "  $archive\$" SHA256SUMS | shasum -a 256 -c -
else
  grep "  $archive\$" SHA256SUMS | sha256sum -c -
fi
tar -xzf "$archive"
curl --fail --location --retry 2 --output native-aa-registry.mjs https://raw.githubusercontent.com/ShellDAO/shell-chain/v0.27.10/tests/e2e/native-aa-registry.mjs
npm install --prefix ./sdk --ignore-scripts --no-audit --no-fund --registry=https://registry.npmjs.org/ shell-sdk@0.14.0-rc.2
NODE_BIN="$PWD/shell-node" SHELL_SDK_ENTRY="$PWD/sdk/node_modules/shell-sdk/dist/index.js" node native-aa-registry.mjs --quorum-recovery

The script requires two genuine authority attestations for finality and fails if the returning validator cannot recover the already sealed block. See the returning-validator guide and change details.