Odd, that was a bit of a reach
Confirmed - all I see is
[2023-04-12T15:54:51.932379Z TRACE safenode::network] Got the 8 closest_peers to the given XorName-099db4..,
but nowhere do I see the full XorName…
XorName, eh? Is XorName a thing now? Sounds more intuitive to me than xorurl.
But why?? Does anyone have any idea.
It should be the same as doing cargo clean
in your lib.
So with the latest from Github, chunks are being stored in memory and an xorname is returned. The command completes, ie I am returned to the prompt, which wasn’t happening before
Storing chunk "2942360.dds" with xorname: e014365b9a99954a1798d98b4961ef13da3f879c4c2bd56fde42bc7e07781c67
the command
willie@gagarin:~$ safe --get-chunk e014365b9a99954a1798d98b4961ef13da3f879c4c2bd56fde42bc7e07781c67
also completes without error but I have not yet found if/where it is writing to disk
we can give our registers pet names
cargo run --release --bin safe -- --create-register yay
cargo run --release --bin safe -- --query-register yay
Successfully retrieved Register 'yay' from 672647.., 3006!
can you assign a DBC to a register?
hmm, just guessing but I would assume so. would just be an entry
right? I tried to create a register with an entry and retrieved it but cant see what is retrieved yet.
Edit: may be too big.
yeah thats what I thought. I had a tidying orgy and now I cant find any actual dbc data in the usual folders so I havent checked myself
I have built arm7 binaries for safe and safenode but havent actually used them yet on the Pi yet
Thats a shame…
[2023-04-14T00:50:05.520794Z TRACE safenode::network::event] Query task QueryId(0) returned with peers GetClosestPeersOk { key: [20, 114, 91, 19, 97, 24, 244, 214, 132, 1, 157, 42, 9, 7, 98, 248, 43, 54, 114, 62, 198, 244, 159, 53, 168, 25, 114, 34, 145, 105, 251, 81], peers: [] }, QueryStats { requests: 2, success: 0, failure: 2, start: Some(Instant { tv_sec: 91304, tv_nsec: 367110316 }), end: Some(Instant { tv_sec: 91309, tv_nsec: 722176629 }) } - ProgressStep { count: 1, last: true }
[2023-04-14T00:50:05.520849Z WARN safenode::network] Not enough peers in the k-bucket to satisfy the request
[2023-04-14T00:50:05.520866Z WARN safenode::client::register::offline_replica] Did not push Register cmd on all nodes in the close group!: Network Error Could not get CLOSE_GROUP_SIZE number of peers..
thread 'main' panicked at 'Did not create register 'Henrik_is_Ghod' on all nodes in the close group! Network Error Could not get CLOSE_GROUP_SIZE number of peers..', safenode/src/bin/kadclient.rs:124:27
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
But this worked
willie@gagarin:~/projects/maidsafe/stableset_net$ safe --create-register Henrik
Starting logging to stdout
snip
Creating Register with 'Henrik' at xorname: 4d7775526e7aed0a201319fe9e4da41120f1aa422525e88e3636fbc28eedab8e and tag 3006
[2023-04-14T00:52:17.460227Z TRACE safenode::client::api] Client recevied a network event PeerAdded
and then
willie@gagarin:~/projects/maidsafe/stableset_net$ safe --query-register Henrik
snip
Register nickname passed in via --query-register is 'Henrik'...
[2023-04-14T00:53:08.845450Z INFO safenode::client::api] Client waiting for a network event
Trying to retrieve Register from 4d7775(01001101).., 3006
[2023-04-14T00:53:08.845542Z INFO safenode::client::api] Retrieving a Register replica with name 4d7775.. and tag 3006
[2023-04-14T00:53:08.845578Z DEBUG safenode::client::register::offline_replica] Retrieving Register from: RegisterAddress { name: 4d7775(01001101).., tag: 3006 }
tentative conclusion: don’t use underscores in nicknames ← probably shite
EDIT: I was right, my conclusion was shite
Successfully retrieved Register 'Under_score' from 45264a.., 3006!
Dunno what went wrong first time… It wasn’t the length of the string
Successfully retrieved Register 'RatherALongNicknameReally' from 2b7e4b.., 3006!
I uploaded and (allegedly) retreived chunks
willie@gagarin:~/projects/maidsafe/stableset_net$ safe --upload-chunks ~/willie03.ics
Starting logging to stdout
snip
Storing chunk "willie03.ics" with xorname: 099db4f4cfeed610e5c114f52a174e31b70ff49c3ea8b5984f1a165020fee4b8
snip
[2023-04-14T01:11:33.851224Z TRACE safenode::network::msg] Got response for id: RequestId(7), res: Cmd(StoreChunk(Ok(())))
[2023-04-14T01:11:33.851246Z INFO safenode::client::api] Got response for the req: Cmd(StoreChunk(Chunk { address: ChunkAddress(099db4(00001001)..) })), res: Ok(Cmd(StoreChunk(Ok(()))))
then…
willie@gagarin:~/projects/maidsafe/stableset_net$ safe --get-chunk 099db4f4cfeed610e5c114f52a174e31b70ff49c3ea8b5984f1a165020fee4b8
Starting logging to stdout
snip
and then a mix of success and fail – scroll right
[2023-04-14T01:12:35.517240Z TRACE safenode::network::msg] Got response for id: RequestId(2), res: Query(GetChunk(Err(ChunkNotFound(ChunkAddress(099db4(00001001)..)))))
[2023-04-14T01:12:35.517281Z TRACE safenode::network::msg] Got response for id: RequestId(1), res: Query(GetChunk(Err(ChunkNotFound(ChunkAddress(099db4(00001001)..)))))
[2023-04-14T01:12:35.517288Z INFO safenode::client::api] Got response for the req: Query(GetChunk(ChunkAddress(099db4(00001001)..))), res: Ok(Query(GetChunk(Err(ChunkNotFound(ChunkAddress(099db4(00001001)..))))))
[2023-04-14T01:12:35.517299Z TRACE safenode::network::msg] Got response for id: RequestId(8), res: Query(GetChunk(Ok(Chunk { address: ChunkAddress(099db4(00001001)..) })))
[2023-04-14T01:12:35.517303Z INFO safenode::client::api] Got response for the req: Query(GetChunk(ChunkAddress(099db4(00001001)..))), res: Ok(Query(GetChunk(Err(ChunkNotFound(ChunkAddress(099db4(00001001)..))))))
[2023-04-14T01:12:35.517310Z INFO safenode::client::api] Got response for the req: Query(GetChunk(ChunkAddress(099db4(00001001)..))), res: Ok(Query(GetChunk(Ok(Chunk { address: ChunkAddress(099db4(00001001)..) }))))
[2023-04-14T01:12:35.517314Z TRACE safenode::network::msg] Got response for id: RequestId(3), res: Query(GetChunk(Ok(Chunk { address: ChunkAddress(099db4(00001001)..) })))
[2023-04-14T01:12:35.517326Z INFO safenode::client::api] Got response for the req: Query(GetChunk(ChunkAddress(099db4(00001001)..))), res: Ok(Query(GetChunk(Ok(Chunk { address: ChunkAddress(099db4(00001001)..) }))))
[2023-04-14T01:12:35.517494Z TRACE safenode::network::msg] Got response for id: RequestId(5), res: Query(GetChunk(Ok(Chunk { address: ChunkAddress(099db4(00001001)..) })))
[2023-04-14T01:12:35.517532Z TRACE safenode::network::msg] Got response for id: RequestId(6), res: Query(GetChunk(Ok(Chunk { address: ChunkAddress(099db4(00001001)..) })))
[2023-04-14T01:12:35.517553Z TRACE safenode::network::msg] Got response for id: RequestId(7), res: Query(GetChunk(Ok(Chunk { address: ChunkAddress(099db4(00001001)..) })))
[2023-04-14T01:12:35.517562Z INFO safenode::client::api] Got response for the req: Query(GetChunk(ChunkAddress(099db4(00001001)..))), res: Ok(Query(GetChunk(Ok(Chunk { address: ChunkAddress(099db4(00001001)..) }))))
[2023-04-14T01:12:35.517600Z TRACE safenode::network::msg] Got response for id: RequestId(4), res: Query(GetChunk(Ok(Chunk { address: ChunkAddress(099db4(00001001)..) })))
[2023-04-14T01:12:35.517623Z INFO safenode::client::api] Got response for the req: Query(GetChunk(ChunkAddress(099db4(00001001)..))), res: Ok(Query(GetChunk(Ok(Chunk { address: ChunkAddress(099db4(00001001)..) }))))
[2023-04-14T01:12:35.517646Z INFO safenode::client::api] Got response for the req: Query(GetChunk(ChunkAddress(099db4(00001001)..))), res: Ok(Query(GetChunk(Ok(Chunk { address: ChunkAddress(099db4(00001001)..) }))))
[2023-04-14T01:12:35.517656Z INFO safenode::client::api] Got response for the req: Query(GetChunk(ChunkAddress(099db4(00001001)..))), res: Ok(Query(GetChunk(Ok(Chunk { address: ChunkAddress(099db4(00001001)..) }))))
needs more testing…
I did the --upload-chunks/ get-chunk thing another 3 times with different sizes of input dirs, chose an xorname at random and did the get-chunk
2 runs gave me 2 errors in 8 and the last only one error in 8
This works well.
No reason to stop at two participants though sometimes the order n which the entries are made gets in a tangle
I tried to get the whole of the register with
but
still, its early days and incomplete code.
Its all very encouraging and we have no right to expect perfection at this stage. Thanks to all who had a hand in getting us this far.
Safe Network coming to life
and now on a Pi4
|tee safe_out|grep "xorname"
on the end of the --upload-chunks command makes the output easier to read
I only ran 16 nodes on the Pi - its a 4GB RAM model and it seemed quite responsive. Lots of docker work to do to get this running better though.
Docker is running on this Pi but I didnt attempt to use it for these tests yet. Once I get it running on the Pi4, I’ll apply the same to the armv7 Pis and bananas to see how far I can push it on the smaller SBCs.
Its a fast moving target, so it is…
Thanks for all your hard work @oetyng but can you slow down a wee bit, please? I cant keep up…
how did you get here @Southside
Followed the updated Readme in GH and opened three terminals.
Well yes it works, perfectly now. I swear it did not last night
Been there, done that