Slow and steady progress
Minotari
Minotari saw a release candidate go out last week with two new additions.
Climbing those ranges
The first is an update to the header fields within the block. Specifically, we’ve introduced the Block Output Merkle Mountain Range (MMR) field, which consists of two MMRs containing coinbase and non-coinbase outputs. By breaking these two into two separate MMRs, we derive several benefits, especially for P2Pool:
- Block Verification: The primary MMR allows someone to verify that the outputs in the block are correctly included and locked behind the Proof of Work (PoW) in the block header. They don’t need to look at every output in the entire blockchain.
- Proof of Specific Outputs: If someone wants to prove that a specific output is part of the block, they can use the secondary MMR to create a proof that the output is indeed included in that block without needing to store the whole blockchain.
- Efficiency: This approach allows nodes like P2Pool to only store a single hash and a list of outputs, instead of needing to store every output in every block. This makes it more efficient for verifying blocks without holding the entire blockchain history.
Livelier Liveliness
Minotari monitors connections between nodes and frequently confirms that all connections are still valid and alive utilizing two services - The liveliness service and the MonitorPeersService. We’ve made several changes in their behavior to address connectivity issues:
- We fixed an error in the liveness service where it would fail to disconnect peers that had not responded adequately to pings. The liveliness service selects eight randomly selected peers and disconnects them if they don’t respond to ping requests after a minute.
- We added a connection check to the MonitorPeersService. It now pings, on a slow interval, all active connections and disconnects those that do not respond to three consecutive pings.
These changes should result in a more up-to-date peer list and reduce the number of active misbehaving connections.
Minotari Exchange Integration Guide
We’ve written a new guide for those interested in integrating Tari on their exchange. The guide currently goes through setting up a base node, wallet, and read-only wallet for monitoring transactions with examples of how you would call and utilize the gRPC methods within the base node.
You can find the guide here.
The Ootle
Tari CLI
Community members have been working on a new command line tool to help developers quickly get up and running with creating, deploying, and testing out new template projects.
Templates are parameterized smart contracts that can then be executed and interacted with via the Ootle, allowing developers to create modular components that can be called from multiple applications or generate new smart contracts.
The tool is still a work in progress, but you can access the details here. Current functionality includes:
- Automatic CLI configuration creation/restoration at every command run
- Configurable templates repository.
- Automatically keep up-to-date locally the templates repository.
- Generating new projects (an empty Cargo workspace project with some extra detail).
- Generating new WASM projects (if generating into a Cargo project, it updates its Cargo.toml automatically to include the new project as a workspace member).
Universe
P2Pool
P2pool is still very much a work in progress. A small group of volunteers has been helping to test bleeding edge builds, and we’ve made meaningful progress. Previously, 40% of miners were earning rewards every 48 hours. Today, 40% of miners are earning rewards every 24 hours. We aim for 80%+ of miners to earn rewards every 24 hours.
Our focus has been improving peer connectivity amongst home users with basic router setups, which often limit the number of incoming connections. In addition, we’ve changed the behavior of some P2Pool activities:
- Universe will now aggressively look for peers to connect to.
- When syncing to peers, Universe will now check for the block height of each peer and sync with the highest one. While we still need to confirm if this will have negative implications (such as an increased risk of “islands” or isolated chains), we believe this will have a positive impact.
Aurora Wallet
Attention continues to be focused on bug fixes, performance, and stability for Aurora:
- Refactored the transaction and contract repositories, and improved the performance of data import for those types significantly. (PR #1260)
- Numerous bug fixes: crashes in the Contact Book when linking contacts, TTL store checkout issues, and more. (PR #1262, PR #1271)
- Numerous UX improvements, such as skipping the Add Note dialog when scanning a QR Code that has its own note. (PR #1267)