Binary Versions
antnode
: v0.4.5antctld
: v0.13.3antctl
: v0.13.3ant
: v0.4.8evm-testnet
: v0.1.16nat-detection
: v0.2.22node-launchpad
: v0.5.11
Merged Pull Requests
2025-10-02 #3182 -- feat(autonomi): add get_node_version
pub fn [@mickvandijke]
2025-10-02 #3228 -- feat(autonomi): add get raw quote from peer [@mickvandijke]
2025-10-02 #3229 -- chore: remove various nightly workflows [@jacderida]
2025-10-06 #3227 -- chore: upgrade self_encryption
to 0.34.1
[@jacderida]
2025-10-06 #3223 -- chore: cli analyse alias and clippy fixes [@grumbach]
2025-10-06 #3220 -- chore(deps): bump actions/setup-python from 5 to 6 [@dependabot[bot]]
2025-10-06 #3158 -- feat: add single node payment mode [@mickvandijke]
2025-10-07 #3233 -- Analyze closest nodes rc [@grumbach]
2025-10-07 #3230 -- feat: paying median node with 3 times of the pricing [@maqi]
2025-10-10 #3243 -- fix(CI): setup MAX_CHUNK_SIZE for backward_compatible test [@maqi]
2025-10-13 #3242 -- feat(bootstrap): tightly integrate bootstrap into client & node [@RolandSherwin]
2025-10-13 #3244 -- feat(node): try to redial peer with WrongPeerId [@RolandSherwin]
2025-10-14 #3246 -- feat(autonomi): python & node bindings for payment mode [@mickvandijke]
2025-10-14 #3247 -- fix(autonomi): retry network connection with fallback when cache fails [@mickvandijke]
2025-10-14 #3248 -- refactor(autonomi): set SingleNode as default PaymentMode [@mickvandijke]
2025-10-14 #3249 -- fix(bootstrap): abort cache sync task on drop [@RolandSherwin]
Detailed Changes
Language Bindings
Added
Python:
Client
class:with_payment_mode
method for setting the payment mode.PaymentMode
enum for defining the available payment modes.
NodeJS:
Client
class:with_payment_mode
method for setting the payment mode.PaymentMode
enum for defining the available payment modes.
Network
Changed
- Nodes now use the
Bootstrap
struct to drive the initial bootstrapping process and the bootstrap cache. - Nodes now evict peers immediately if they notice their peer ID has changed. This allows the network to flush out old peers much quicker. This should resolve some performance issues we've seen on the production network that have been the result of node operators who are over-provisioning and pulling large numbers of nodes in short time periods.
Bootstrapping
Added
- A new
Bootstrap
struct is introduced that provides a single interface to bootstrap aNode
orClient
to the network. - The
BootstrapConfig
allows the user to modify various configurations for bootstrapping to the network. Some options include providing a manual address, setting a custom bootstrap cache directory, disabling bootstrap cache reading, setting custom network contacts url and so on. - The
Bootstrap
struct dials peers from all provided sources before terminating: environment variables, CLI arguments, bootstrap cache, and network contact URLs. This solves the major issue of using an outdated bootstrap cache to dial the network. - Implement file locking for bootstrap cache such that concurrent accesses do not error out or produce empty values.
Changed
- The old method of obtaining the bootstrap peers as
Vec<MultiAddress>
usingInitialPeersConfig::get_bootstrap_addrs()
has now been removed in favour of the automated bootstrapping process.
API
Added
- Introduce a new payment mode: single node. This reduces gas fees by making a single transaction to the median-priced node with 3x the quote amount, rather than 3 separate transactions to 3 highest nodes.
PaymentMode
enum for controlling upload payment strategy withStandard
(pay 3 nodes) andSingleNode
(pay 1 node with 3x amount) variants.Client::with_payment_mode()
method for setting the payment mode on the client.Client::get_raw_quote_from_peer()
method for obtaining quotes from specific peers without
market prices. This is useful for testing and obtaining reward addresses.Client::get_node_version()
async method for requesting the node version of a specific peer on
the network.
Changed
self_encryption
dependency upgraded to version0.34.1
for improved encryption performance.ClientConfig::bootstrap_cache_config
andClientConfig::init_peers_config
has been deprecated in favour ofClientConfig::bootstrap_config
. This new config combines all the options from the deprecated fields.
Payments
Changed
- Payment vault smart contract upgraded from V2 to V6. This upgrade supports the new single-node payment verification logic while maintaining backward compatibility.
Ant Client
Added
- The
file cost
command provides a--disable-single-node-payment
flag to switch from the default single-node payment mode to the multi-node payment mode. - The
file upload
command provides a--disable-single-node-payment
flag to switch from the default single-node payment mode to the multi-node payment mode. - The
analyze
command now has ananalyse
alias for British English spelling preference. - The
analyze
command now supports a--closest-nodes
flag argument that will display the closest nodes to the address being analysed.
Changed
- Single-node payment is now enabled by default for both the
file cost
andfile upload
commands,
reducing gas fees for users. The previous behaviour can be restored using the--disable-single-node-payment
flag. - The
NetworkDriver
now uses theBoostrap
struct to drive the initial bootstrapping process and the bootstrap cache.
General
Changed
- Various nightly CI workflows have been removed as they were not being actively used.
- GitHub Actions
setup-python
upgraded from v5 to v6.