TestNet v0.2.11 Release

#1

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!

#2

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.```
#3

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.

#4

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

#5

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

#6

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.