AlephNode Release 12.2
Note: this page describes changes introduced cumulatively by releases 12.0 (the major release), 12.1 and 12.2.
This is a major release.
Testnet deployment
Status : deployed on 29.11.2023
Node upgrade priority: high
Mainnet deployment
Status : deployed on 25.01.2024
Node upgrade priority: high
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 versionpolkadot-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
- (added in 12.1) fixed a bug where the node would sometimes not finalize blocks during a major sync
- (added in 12.1) made it possible to start a node with a DB that contains a lot of non-finalized blocks
- (added in 12.2) To match the previous behavior the
seal_balance
call inpallet_contracts
has been changed to output the balance free to spend instead of just free balance. In particular callingenv().balance()
on a freshly-instantiatedink!
contract returns0
instead of the existential deposit.
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 acceptscontroller
argument - [BREAKING]
Staking->set_controller
extrinsic no longer acceptscontroller
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 toset_balance_deprecated
- New:
force_set_balance
,transfer_allow_death
- Storage:
Account
return type changed- New:
Freezes
,Holds
- Constants:
- New:
MaxFreezes
,MaxHolds
- New:
- Extrinsics:
- Pallet NominationPools changes:
- Extrinsics:
set_config
extended with new argumentglobal_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 changedRewardPools
return type and argument changed- New:
ClaimPermissions
,GlobalMaxCommission
- RuntimeApi:
- New:
points_to_balance
,balance_to_points
- New:
- Extrinsics:
- Pallet Contracts changes:
- Extrinsics:
- New:
migrate
- New:
- Storage:
- Removed:
CodeStorage
,OwnerInfoOf
ContractInfoOf
return type changedDeletionQueue
return type and argument changed- New:
CodeInfoOf
,DeletionQueueCounter
,MigrationInProgress
- Removed:
- Constants:
- Removed:
DeletionQueueDepth
,DeletionWeightLimit
- New:
DefaultDepositLimit
- Removed:
- RuntimeAPI:
call
andinstantiate
performed in dry-run mode now return a list of events that would be emitted
- Extrinsics:
- Pallet
System
storage queryAccount
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
andWS_MAX_CONNECTIONS
- set
RPC_PORT=9944
andRPC_MAX_CONNECTIONS=100
See the changelog above if you're running any non-standard config: you might need to change some more variables accordingly.