QuicNet [30/01/24Testnet] [Offline]

Everyone… except @Southside :laughing:

4 Likes

I am far too busy doing Quality Assurance on a variety of Euro lagers.
Get @aatonnomicc to dive in with add3d whiptail goodness

7 Likes

Such anti-virus false positives are haunting also other projects. Here are some info about it, from Red community:

7 Likes

0: Failed to upload chunk batch: Too many sequential payment failures

I got this message when I woke up this morning. I had an upload about half way done. It was 363 files mostly mp3s.

Does this mean I did not have enough funds?

I’m trying again with about 1/3 of the amount of files. I hit the faucet many more times to make sure I have enough tokens.

I’m a bit more halfway through on this upload.

4 Likes

The question is, what has changed in the client binary file since the previous Testnet, because in the previous one I could run the client and managed to download the tokens, and in the current Testnet the safe.exe file is detceted as a virus ?

4 Likes

Hmm… at the moment I reinstalled the safeup client and after trying to download the tokens again, the safe.exe file was not deleted by Windows, but I failed to enrich because another error appeared: :thinking:

PS C:\Users\gggg> safeup client --version 0.89.29
**************************************
*                                    *
*          Installing safe           *
*                                    *
**************************************
Installing safe.exe for x86_64-pc-windows-msvc at C:\Users\gggg\safe...
  [########################################] 7.53 MiB/7.53 MiB
safe.exe 0.89.29 is now available at C:\Users\gggg\safe\safe.exe
PS C:\Users\gggg> safe wallet get-faucet 157.245.40.226:8000
Logging to directory: "C:\\Users\\gggg\\AppData\\Roaming\\safe\\client\\logs\\log_2024-01-31_20-05-10"
Built with git version: a15b141 / main / a15b141
Instantiating a SAFE client...
Trying to fetch the bootstrap peers from https://sn-testnet.s3.eu-west-2.amazonaws.com/network-contacts
Connecting to the network with 43 peers
🔗 Connected to the Network
Error:
   0: I/O error: Could not read and deserialize wallet file after multiple attempts
   1: Could not read and deserialize wallet file after multiple attempts

Location:
   sn_cli\src\subcommands\wallet\helpers.rs:37

Backtrace omitted. Run with RUST_BACKTRACE=1 environment variable to display it.
Run with RUST_BACKTRACE=full to include source snippets.
1 Like

When getting register, it gives this:

Successfully retrieved Register at 75d14c80124d2519c5541df7e5f9ace27be322b8c62049dadc0ea4214c255f588394fc07181bceef649351a86c66c4efb1e408a106f1b74f08a4a4eb33c99c95d65b5a86cd077e095cf33dd8dc561b05
Register entries:
cc220d..: 47a7f28e7b02a303ebb22dd6c9a04ef6caafff01364a79f6051d690d37571bf9

It says entries, not entry.

Where are the other entries? Isn’t register “append only”? How can I see the previously appended values?

It would be so much easier to just write Filename and address as one entry, not having to upload any files.

I created a new public register to show what I mean:

Command:

safe register get 4a5bcbbec187b7d154187eee8751871a4e78abc8353bd703dd10f05c3986979c8394fc07181bceef649351a86c66c4efb1e408a106f1b74f08a4a4eb33c99c95d65b5a86cd077e095cf33dd8dc561b05

Result:

Register entries:
baceab..: Waterfall_slo_mo.mp4*c61ffa6aa89fc1e518e9f114e24738cc11bf7f78812a698d3fd3671257d12076

There is a * separating the name and address as spaces are not allowed. Now if you could just add an entry and then get all the entries with some command, folks could just add their files with less steps - and we would have a sort of index.

5 Likes

Have also seen that one

3 Likes

The CLI doesn’t support all of the register API and it isn’t clear that MaidSafe will implement that as it is extra work and they may prefer to support other scripting languages directly using WASM bindings.

You can view the rust docs online here: Register in sn_registers - Rust

It doesn’t explain how it all fits together but I notice you can enquire how many entries a register has but the API includes low level CRDT operations which makes it hard for me to understand what you can do as a client. I’m not sure if clients would use those or if nodes handle that.

Probably worth also looking at the examples in sn_node/examples/registers.rs. That shows how to get the number of entries and how to iterate over the entries. A previous API had versioning of the data but I’m not sure if that remains or if it is done differently now.

4 Likes

have i just written over your waterfall entry with beg blag?

Successfully retrieved Register at 4a5bcbbec187b7d154187eee8751871a4e78abc8353bd703dd10f05c3986979c8394fc07181bceef649351a86c66c4efb1e408a106f1b74f08a4a4eb33c99c95d65b5a86cd077e095cf33dd8dc561b05
Register entries:
1635dc..: BegBlag.mp3*3509bad03dc869dec883c7b44662c3503d2517fa9e828bb64f4dbe719d3837bf

3 Likes

We are at that very exciting but we can’t quite do stuff for various reasons so it’s also very frustrating stage with CLI and indeed API. It is a good time to start looking at the safe_network docs at https://docs.rs and the examples at sn_node/examples though (links in this reply).

7 Likes

30 nodes have chewed through 500gb in less than 24 hours

4 Likes

here is my NTracking

I would say we must implement the whole API here to allow folk to link to docs at points in history and also to see conflicts and resolve those. A conflict is a branch in the tree and is mergable by the end user.

It’s quite powerful and will alllow many apps such as file browser with history and websites with history too. So it really has to happen.

12 Likes

Good morning from down under.
Nice bug hunting overnight!
I can report my previously failed uploads are now working! I’ll check downloads on another machine.

Also, my memory hungry node 12D3KooWLpxH1m5UnmAwAkJU65ZmwsPVeGs25CFSnMQYSXQeeiAK eventually died.

8 Likes

not very clean (… just thrown together with chatgpt and some manual coding … and commented in german xD (sorry - my chatgpt default xD) … but it works (at least at my laptop) :smiley: … here we go:

obviously you need python (3) … and i used the library fire for easier command line stuff … Aaaand it’s Linux only as of now (probably just because of the file path of the index file but didn’t check in detail)

pip install fire

after that there are just 2 possible commands:

python safe.py get-file-list

and

python safe.py upload [file-to-upload]

python script can be downloaded with:

safe files download safe.py bfc9042ceeaf8e827246736b59eed7e630a81c00e4c5638fa95160d6dd683650

…i will say the network seemed more performant when i started writing the script than it is now … and sometimes it seems to need more than 1 attempt :smiley:

6 Likes

I have also had a node whose RAM usage went up to 1258MB and then crashed. I’ll get the logs and post them.

2 Likes

I think that’s best but wasn’t sure it was seen that way given the time it will take.

I’ve had a little look at the register API but don’t yet understand much of it. It seems to offer different capabilities to what we had before although I’m not clear on exactly what they are, or the relevance of the parts related to CRDT broadcast etc. I imagine some parts are for client and some for sn_node, but I don’t see any distinction so I’m not sure about that either.

I’d like to have a think about filesystem representation before things get set in stone.

Any chance someone could write up an explanation of capabilities and how to use them from the client perspective? Ideally with an example in each case, but even without that.

I’m thinking that Syncer could be modified to use the upcoming Safe FoldersAPI if it is made capable enough.

5 Likes

I did have enough tokens as the next attempt went well with some tries hardly cost 1 token to upload 1/3 of the original attempt.


safe files upload ‘/media/testnet/TEST FILES/Upload 25%’
Logging to directory: “/home/testnet/.local/share/safe/client/logs/log_2024-01-31_09-17-14”
Built with git version: 76a03f6 / main / 76a03f6
Instantiating a SAFE client…
Trying to fetch the bootstrap peers from https://sn-testnet.s3.eu-west-2.amazonaws.com/network-contacts
Connecting to the network with 43 peers
:link: Connected to the Network Starting to chunk “/media/testnet/TEST FILES/Upload 25%” now.
Chunking 119 files…
Uploading 22918 chunks
⠒ [02:33:10] [#####################################>–] 21532/22918 Retrying failed chunks 1386 …
⠒ [02:56:02] [#######################################>] 22397/22918 Retrying failed chunks 521 …
⠲ [03:06:38] [#######################################>] 22617/22918 Retrying failed chunks 300 …
⠴ [03:14:08] [#######################################>] 22690/22918 Retrying failed chunks 228 …
⠤ [03:21:42] [#######################################>] 22729/22918 Retrying failed chunks 189 …
⠒ [03:26:54] [#######################################>] 22742/22918 Retrying failed chunks 176 …
⠈ [03:32:54] [#######################################>] 22757/22918 Retrying failed chunks 161 …
⠤ [03:39:17] [#######################################>] 22773/22918 Retrying failed chunks 145 …

“Aphex Twin - Radiator 2.mp3” 4d792283550fbe928b0ed0ff62a02d2b26929f65c8f9df069777d8960730939a
“Aphex Twin - Radiator.mp3” 4d792283550fbe928b0ed0ff62a02d2b26929f65c8f9df069777d8960730939a
“Alexander’s Dark Band - Baka Monkey Doll.mp3” 017174af5b1b281738dd599667e625324860b9ffcc94ec0dbcd3eedb9fe639ad
“Alessandro Cortini - Acmn1.mp3” c9086293c984089f39f52b8848e41c090047d631dc0296e2c5906cbb7800d9f7
“03 Farbwerke II.mp3” b5246b7e2ba4ee9000e023d8577d3feec8d259601bd087a78f5c42e1ab53abfe
“02 Farbwerke I.mp3” b4d8a979550c4399165be472e254a022a9e08564a0dd310d8b6b375d9e063a71
“04 Farbwerke III.mp3” 7e11ac9013767d289a7d2c3e3e8af45362f2496e07a6ea175b5e87c04b03e862
“01 City Ring.mp3” f00722c869544ad549b4c6741440d7d901828d4a47921cbfb8a81c1688c51f4d
“Air - Alone in Kyoto.mp3” dde5b74191c7f82ea57ab4372c8e2bb0a6a5ea35d955ded372357899dd77ea9e
“Alex Lustig - Otherside.mp3” 6c07d7adb7279cb0c1685b2594000af6d87b3f615265d1da8a782ebc8091beb7
“architecturacivi00cara_orig_0820.tif” 9cedc0f929e70e2736f145f3ccb835d388c4d8145479b888021fd9648221cd16
“Aphex Twin - aisatsana [102].mp3” 6713ae19dc87e2ba83d516f70069d1fafa27c9e92ad3834d8ce061dd7b13e8d7
“Afterlife - Shikasta.mp3” d058bad454badfb61fc32ddbfd7a179ca36dde0b302e9f6889a4bdefa6a07ac3
“architecturacivi00cara_orig_0765.tif” 214c434fa5b1d90d01614ca4af748fcd6121ae0d8a17255f0d38e5aec259f551
“architecturacivi00cara_orig_0775.tif” 4c950857d0703893900f8adc7e18fff049e45097f0d0a6f8c6e281f3bed06c89
“05 Construction Site I.mp3” 1fe3feafada7e7bdfa0a666bc9809bdc6892459d8e635f03a423f8f0df6c80b7
“architecturacivi00cara_orig_0754.tif” 3118604d4d2311f53d48e470fec8aee53019744891ddc013c14d4d6158161d60
“architecturacivi00cara_orig_0828.tif” b88741a4a023ef14aae3f882a9d9a44decfd2a1f3a9df5068325572790684b6a
“architecturacivi00cara_orig_0829.tif” 4d462cad8a4e8a1c1ad14b700cc7022c5181d4b02f49a37e89e426966bc8c15a
“architecturacivi00cara_orig_0842.tif” 95ffe341521d6af8823c51c7613eba6c9678cd5c7c154906d8feecbc329d0ecd
“After The Thought - With Eyes Closed.mp3” 711c91d2521722a486988eab69e87dd62f473231c37a0c713074008407b9c8ef
“architecturacivi00cara_orig_0753.tif” 85d4f9963d570be16b4ed3daa06b8878200103717ef32fb2fb32469436075bfe
“architecturacivi00cara_orig_0779.tif” 120586608592f8425d09cf911f58ce7a8fd2afad1601f162720c433a3440bd57
“architecturacivi00cara_orig_0795.tif” 175669b4a22a62f8794948ae806d119775386cef9d20dd2ddba0266f687ee770
“architecturacivi00cara_orig_0768.tif” d4743b91cc525fd3049c900083ec8909fc477b936b938bdfd95cbd98feebba87
“architecturacivi00cara_orig_0819.tif” d5cce8400a6ea0744fd58e952893472bf750507610aff602f980c096de182034
“architecturacivi00cara_orig_0838.tif” 4f6b532630b3362093b7d4a43f20423fa771c017fe4dbfe9aee360ff93251034
“architecturacivi00cara_orig_0822.tif” b0912b5f4c08451972491fa75e4b4d99290acaff77746bc19f75e3968bb2ed37
“architecturacivi00cara_orig_0774.tif” 1e856383b5c5884569dad94157fb054e8aa96b4560f89932d9364c6bd09192b6
“architecturacivi00cara_orig_0826.tif” 2553e63e4945509ccdb2b85a684f9239ba73c4639dc78dd5e7c14c93a8998f40
“architecturacivi00cara_orig_0746.tif” 23ceac0d146be54fb2621ed95d85ba9f9be1cb05aafd8830810f99ea6ff1d198
“architecturacivi00cara_orig_0832.tif” 84f65228f9cd0718f812f2470ae96043a176de2961eaf24caf489ba092eeb132
“architecturacivi00cara_orig_0778.tif” afac59f67381fe4d45cc404b21a3b86670541e866b8619bef0123c3a5fbd0e6a
“architecturacivi00cara_orig_0804.tif” f38c319a97f32bcfaea56cfb822eac43288a57694b018e3aa0e44bf13f25bfb4
“architecturacivi00cara_orig_0809.tif” cabac4b3d4703a75636e579699533eaa3d0d69a9549db6d86d0e2ea2d8df48e1
“architecturacivi00cara_orig_0767.tif” cac521adb032993d737e94d3449ffe6516b0f3a8cc877f44bffada2a84c4d2db
“architecturacivi00cara_orig_0831.tif” 5587341cb6bf05beb45138c744a722b407c7f1b635cfa79e2c07164398ed1384
“architecturacivi00cara_orig_0805.tif” a098df150d7570ad29430a2079b094e825b16b21e164a63f41d53b24a19cc1b6
“architecturacivi00cara_orig_0835.tif” 6642b14d434b3d877cc54d0efe1092d3059242c93574867f0f01ac3f9208fada
Among 22918 chunks, found 13735 already existed in network, uploaded the leftover 9183 chunks in 223 minutes 57 seconds


  •      Payment Details           *
    

Made payment of 0.011840169 for 9183 chunks
Made payment of 0.002083692 for royalties fees
New wallet balance: 999.950112851


If anyone wants to try a download. Here are the rest of the details on the second attempt.

2 Likes

I think Mark, this is the API you want? safe_network/sn_registers/src/reg_crdt.rs at main · maidsafe/safe_network · GitHub

[ EDIT - get entries will give you back a possible tree of hashes/entries and these can be merged or not]
If you take a look there and think like this.

  • Each register Entry will be limited to 32bytes (an XOR address)
  • An entry can point to anything, but for filesystem
    • A chunk that is the data_map and metadata (encrypted or otherwise)
    • Another register (so a directory basically)
      [ Note Entries can be encrypted to further hide the location of the data map, easy to encrypt with owners key etc.]
      Then we have a very simple filesystem and that metadata above can be FUSE compatible.

Of course devs can do anything, so perhaps not only FUSE compatible, but some other scheme and their client can read it differently, capability based, SOLID based, Labeled and so on. Or even a mix of these things.

Getting the API is critical then the account packet and then we can do loads here.

e.g.

  • Each register has a owner, if it’s open and in the above form then browsers/websites can be created where the owner is known. A client might recognise the owner’s value and make a payment (it might be automatic). so a kinda PtP, right there.
  • You have your filesystem and it has a dir you want to be public, so, don’t encrypt the data_map or Entry and folk can read that data.
  • Entries can point to other registers and form a TLD, they can then point to a mapping of name or petname to register address (website or dir if files etc.)

There is a lot we can do here at the client level and exhausting much of that before looking for anything else in core would be wonderful IMO.

8 Likes