Skip to content

Aleph Node 12.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@h4nsu h4nsu released this 24 Oct 08:07
· 305 commits to main since this release
1a00a8f

This is a major release.

Testnet deployment

Status : Deployed on 24.10
Node upgrade priority: high

Mainnet deployment

Status : Abandoned

Changelog

  • Separate controller accounts in staking are deprecated. Existing controller accounts will keep working as usual, but new users who join staking will be forced to use a single account for staking (in other words - their stash and controller accounts will be the same account)
  • New version of contracts pallet. Smart contracts written in ink! should be compiled with cargo contract version 3.2.0
  • Separate port for RPC requests is removed. Now both WebSocket and RPC traffic is handled on the same port
  • All Substrate dependencies (including all pallets!) upgraded from version polkadot-v0.9.38 to version polkadot-v1.0.0 (significant API changes! See below)
  • Native execution of runtime removed - all execution is handled by the on-chain WASM runtime now
  • Changes to internal block sync request mechanism

API changes

  • [BREAKING] The default port for RPC over HTTP is no longer 9933. The default RPC port (for both WS and HTTP) is now 9944
  • [BREAKING] Staking->bond extrinsic no longer accepts controller argument
  • [BREAKING] Staking->set_controller extrinsic no longer accepts controller argument
  • New RPC call alephNode_ready
  • New RPC call alephNode_getBlockAuthor
  • New runtime call AlephSessionApi -> predict_session_committee
  • Pallet Balances changes:
    • Extrinsics:
      • set_balance renamed to set_balance_deprecated
      • New: force_set_balance, transfer_allow_death
    • Storage:
      • Account return type changed
      • New: Freezes, Holds
    • Constants:
      • New: MaxFreezes, MaxHolds
  • Pallet NominationPools changes:
    • Extrinsics:
      • set_config extended with new argument global_max_commission
      • New: bond_extra_other, claim_commission, set_claim_permission, set_commission, set_commission_change_rate, set_commission_max, claim_payout_other
    • Storage:
      • BondedPools return type changed
      • RewardPools return type and argument changed
      • New: ClaimPermissions, GlobalMaxCommission
    • RuntimeApi:
      • New: points_to_balance, balance_to_points
  • Pallet Contracts changes:
    • Extrinsics:
      • New: migrate
    • Storage:
      • Removed: CodeStorage, OwnerInfoOf
      • ContractInfoOf return type changed
      • DeletionQueue return type and argument changed
      • New: CodeInfoOf, DeletionQueueCounter, MigrationInProgress
    • Constants:
      • Removed: DeletionQueueDepth, DeletionWeightLimit
      • New: DefaultDepositLimit
    • RuntimeAPI:
      • call and instantiate performed in dry-run mode now return a list of events that would be emitted
  • Pallet System storage query Account return type changed

CLI changes

  • [BREAKING] --ws-port replaced by --rpc-port
  • [BREAKING] --ws-max-connections replaced by --rpc-max-connections
  • [BREAKING] --ws-external replaced by --rpc-external
  • [BREAKING] --unsafe-ws-external replaced by --unsafe-rpc-external
  • [BREAKING] --rpc-http and --rpc-ws replaced by --rpc-addr
  • [BREAKING] --rpc-max-payload replaced by --rpc-max-request-size and --rpc-max-response-size
  • [BREAKING] --ws-max-out-buffer-capacity removed
  • [BREAKING] --ipc-path removed
  • The following arguments have no effect and are DEPRECATED: --execution-syncing, --execution-import-block, --execution-block-construction, --execution-offchain-worker, --execution-other, --execution

Docker image

public.ecr.aws/p6e8q1z1/aleph-node:r-12.0

Runtime migrations

  • Nomination pools: v3 -> v5
  • Contracts: v9 -> v12

Node upgrade instructions

aleph-node-runner

To accommodate for changes in the aleph-node, the Aleph Node Runner was also significantly changed and improved. To get the newest changes you will need to EITHER:

  • do a git pull
  • delete the whole repo and git clone it again

In either case, please make sure to back up any configuration changes you made to your setup.

The new node runner will automatically detect the aleph-node version to run, so every time you restart it from now on, it will be on the correct version for the network you're targeting (Testnet or Mainnet).

Building from source

In most cases, the only difference from the usual procedure will be that you will need to modify the environment variables:

  • remove WS_PORT and WS_MAX_CONNECTIONS
  • set RPC_PORT=9944 and RPC_MAX_CONNECTIONS=100
    See the changelog above if you're running any non-standard config: you might need to change some more variables accordingly.