TestNet v0.2.11 Release

We are cooking up another testnet release to be deployed later this afternoon. There are no ledger updates in this release so a coordinated update is not required, lots of quality and performance improvements though!

Update is live. Here’s the changes:

Performance
• Avoid generating a transaction list when we just need to know its length.
• Allow transaction service to process transactions concurrently when no update is required.
• Rewrite suggestedFee - now based on an Exponentially Weighted Moving Average of previous fees.
• Begin assembling next block before ensuring the previous block has been written to the disk.
• Short circuit logging computations when the active log level does not use them.
• Move noisy logging statements to DEBUG level (disabled by default).

Bug fixes / hardening
• Additional check to ensure that a transaction is well formed during evaluation.
• Add configurable limit to the size of transaction pool priority queue.
• Transaction sync handler hardening: add limits to output bandwidth and request body size.
• Skip generating proposals when there are no participating / online accounts.
• Prevent malicious bloom filter attacks.
• Add warning when duplicate primary keys are used for a multisig transaction.
• Verify content-type headers in http transaction sync service.
• Fix off-by-one error in the consensus protocols exponential backoff algorithm (fixes recovery behavior).
• Add a secondary sort to vote bundles to ensure multiple nodes with the same set of votes will produce the same bundle.
• Configure HTTP server timeouts.
• Add locking around ephemeral keys.
• Swagger documentation fixes.

Code cleanup
• Better error message for transactions with an invalid range.
• Remove dependency on lib GMP for sortition, add additional unit tests.
• Remove `goal ledger balances` and "GetBalances" REST API call
• More informative error messages in goal clerk.
• Reduce false positive errors in catchup race conditions.

Features
• Allow switching multisig accounts online.
• ChangeOnlineStatus now defaults to using the suggested fee rather than 1.

Telemetry, Metrics & Logging
• Additional consensus mechanism timing data in telemetry.
• Improved logging for dropped broadcast messages.
• Record original proposer and period in BlockAssembled logs.```

Sorry if this has been answered before, I just started algod and it’s running at a high CPU. Is this expected behavior? It almost looks like it’s CPU mining. My understanding from Silvio’s talk is that running this process should be very minimal on compute.

It’s catching up to be network. Once it’s caught up it’ll be close to idle.

That’s interesting, I had the sync time 0.0 seconds.

Current round is > 465000. Your node is probably still catching up if you just started today. The time since last block will be < 6 generally. If it’s > 10 you’re still catching up. The 0 can be misleading if we’re in between fetch attempts.