Just a short update-y update this last week! Here are the things afoot:
Transfers
Transfer fees are in place . Basic double spend protection is in place
(This will be strengthened down the line). Wallets are now backed up to disk
And the CLI has been updated to do deposits and sends between wallets!
A couple of things still left to do before everyone can use this, specifically the sending to output the created dbcs so that you can hand them over to the recipient, and generating a genesis, but we’re almost there
All great improvements to both the DBC functionality in the network and end user usability there.
Files
We now have some more user friendly File
apis, rather than the lower level Chunk
apis as previous.
Node RPC
The the gRPC code from the previous code base has been flown in and set up to allow basic analytics and node control.
For example:
cargo run --release --example safenode_rpc_client -- 127.0.0.1:12001 info
Node info received:
===================
RPC endpoint: http://127.0.0.1:12001
Node Id: 8db048(10001101)..
Logs dir: /home/bochaco/.safe/node/local-test-network/safenode-1
Binary version: 0.1.0
Time since last restart: 247s
With these basics in place we’ll be able to expand functionality there relatively easily down the line
Data replication
We’ve drilled down into when nodes are deemed “lost” in kademlia, and are confirming how this propagates and how reliably we can use such events to trigger data replication flows.
Those same flows are being worked on in tandem so we can hopefully get all that strung together in the near future.
Once we have that we’ll really be able to hammer test networks, and will move onto working out what sort of churn this network can handle and tweaking things there, i.e., getting towards some metrics to measure idealised node sizes and counts in the network.
Hole punching
It seems like the quic implementation of libp2p isn’t as fleshed out as the TCP one. But, the neat thing here is that switching between the two is a only few lines of code!
So we’ve been testing out how hole punching might work with TCP nodes too and what more might be needed.
Useful Links
Feel free to reply below with links to translations of this dev update and moderators will add them here:
Russian ; German ; Spanish ; French; Bulgarian
As an open source project, we’re always looking for feedback, comments and community contributions - so don’t be shy, join in and let’s create the Safe Network together!