Not one but FOUR important community app announcements this week.
First up Safe. The work of @nigel and @loziniak, Safe is a developer-friendly Rust API designed to simplify interaction with the Autonomi Network, abstracting away unnecessary complexity while following Rust best practices where possible.
Next we have antop by @champii. This is a fab terminal dashboard for monitoring Autonomi
node instances, featuring automatic discovery, real-time metrics and a TUI interface.
Third is another CLI tool from @champii, this one allows you to mutably store keys and values and later update them or delete them.
And the fourth app is the work of our good friend @riddim who has created a p2p chat app that runs purely client-side and therefore will be able to be hosted and used on Autonomi
once the network is ready.
This is so very inspiring to see, and it gives us much reassurance that our Impossible Futures project will be a roaring success. We have more than 30 potential apps ready to whittle down to the candidate shortlist already, which is massively encouraging. As a reminder, there will be two phases, first you submit your project to be voted on. Voting costs, but voting for a successful project will see you receive some returns.
Wednesdayās Stages
Product development lead @nic.dorman joined the chat on Discord Stages on Wednesday, with the reassuring news that we will be ready with the Alpha net in two weeks time, documentation and APIs being the current priority. The Python API should definitely be ready by then with 100% Rust coverage, and the NodeJS API should be functional for building with, although lacking some bells and whistles.
We also tackled the process of shunning unhealthy nodes. Shunning is something to be careful of, according to @dirvine, as itās a deceptively complex matter. Shunning makes the network vulnerable to bugs, such as one possible glitch with Quinn or libp2p that we are investigating at the moment, and can lead to knock-on effects. Currently we use a very rudimentary mechanism for ignoring bad nodes in which individual nodes simply do not write suspicious peers into their routing table, but as the network stabilises we will look more closely at this aspect as an ongoing optimisation.
On gas fees and missed payments, hereās an explanation from @mick.vandijke āThe emission services skipped a payout Sunday due to unusually high gas fees on Arbitrum One. When this happens, the system automatically rolls the missed payout into the next scheduled round.ā
Is the network working, we were asked. Yes! We are currently implementing changes as a result of learning from the large-scale live nets. This has seen us deep-diving into the core algorithms, and coordinating a coherent response. For example, we found an anomaly with the way libp2p
deals with Kademlia, and have been able to tackle it directly rather than having to rely on guesswork or assumptions. Ongoing upload problems are due to an issue with close groups. We know whatās wrong and are working to correct it, hopefully before the alpha network, if not soon afterwards.
General progress
@anselme is working on a library to make the networking experience client side less daunting and remove 10,000 lines of code from Autonomi
dependencies.
Heās handed this off to @mick.vandijke who is working on integrating the library into Autonomi
. Mick also checked up on the emission service to verify why it skipped a payout round (the reason was gas prices were above a threshold level; folks get paid in the next round once the fees come down). Plus he added a test for libp2p
(FIND_NODE
should respond with up to K peers instead of replication_factor
).
@roland raised two PRs [1, 2] for logging to a single file for the deployer. He continued working on the NAT detection, reporting that things seem to be functioning fine on a local testnet. Heās now working on testing it on a public testnet, and also putting in fixes and rationalisations for logging uploads and downloads.
@vphongph worked on tests for the different classes of the API, while @shu has been occupied with creating a new dashboard for Elasticsearch in regards to monitoring its own health related metrics, and worked with Chris to wrap up our ELK7 to ELK8 conversion.
Lajos is making good progress on the Impossible Futures contracts, and has designed some unit tests to put them through their paces.
Ermine has been attempting to connect Quinn
setup with libp2p
nodes, resolving a few handshake signal errors. He has had to bring a few wrappers from libp2p
to this setup to make this experiment work. Libp2p uses Quinn
to handle Quic connections.
@bzee has been working on Typedoc a documentation generator for TypeScript projects, specifically the TypeDoc GitHub workflow.
And @chriso worked on a few separate strands, including upscaling the alpha network for Impossible Futures. Weāre looking at hosting 5,000 nodes. He also upgraded the production environment to forward logs to the new ELK8 instance.