Github Actions for NoM repos

Found the culprit. The problem is indeed the name of the library, although I would swap the argon2 implementation with dargon2 library.

Also I would rewrite the znn-controller in Go using the Go SDK so we can properly cross-compile it in order to be able to setup nodes on more devices.

Less code to maintain, more time for other interesting ideas!

2 Likes

I’ll add those commands for the Linux workflow, thanks!

1 Like

Fixed znn-cli and znn-controller, now they are built on ubuntu-latest aka ubuntu-22.04, so the linux-kernel-headers error shouldn’t appear anymore.

Also renamed the argon2 library for Windows and Linux to match the ones present in the argon2_ffi_base library used by znn_sdk_dart.

2 Likes

Thanks for the update. I reviewed the changes and they look good. Please let us know when we should test anything.

I’ve found a potential solution for how Syrius can source these libs as opposed to relying on the prepackaged /blobs/ in Syrius and znn_sdk_dart (here and here).
I’ll have to update the three CMAKE files (example) in my repo soon.

Do you have concerns with building Syrius using Github Actions? I find create-dmg-action is lacking features, but maybe we can extend it.
Edit: updated link for ‘extend it’

1 Like

Happy to announce the Syrius wallet - both the MacOS Universal App packaged as DMG and the Windows x86_64 versions are live and ready for testing.

On MacOS you need to go to System Preferences -> Security & Privacy -> General tab -> Open anyway

I also fixed the paths for all blobs/ directories (including in the Dart SDK) to be automatically loaded from the .pub-cache.

Next I’ll try to build the Linux version of the wallet with some help from @sol and @0x3639

2 Likes

Congratulations! I’ll be testing them shortly.

The .icns files are in my repo.

Please consider building a newer version of the .dmg release.

awesome. I will test for sure

1 Like

I’ve tested the Windows release, here are my results:

  • libpow :white_check_mark:
    • able to generate plasma with pow
  • libargon2 :white_check_mark:
    • able to create and unlock a wallet
  • libznn :x:
    • this library is not included in the release
    • unable to start an embedded node
    • wallet is still compatible with community nodes
  • libExportWallet :negative_squared_cross_mark:
    • no longer able to swap a wallet since libExportWallet.dll is not included
    • we’ll need to deprecate this functionality in a future release

I’d expect similar results for the MacOS release.

2 Likes

Added libznn.dll for the Windows build. It was harder to pack it for MacOS and forgot to add it to Windows as well.

Bonus: added the graphics to the DMG.

:bangbang: Please note that for building MacOS the libpow_links.dylib and libargon2_ffi.dylib are required to be present in the macos/ directory.

Thank you for reporting the errors. Please check again the releases.

I believe libznn must also be renamed when you package it.
For the Windows release, it’s named libznn-windows-amd64.dll.

I haven’t tested this yet, but I think these Move required libraries steps (mac, win) might need an -f or -o flag for unzip in case the libs are already present in the Release dir.

2 Likes

You are right, fixed it. Hopefully Linux will be easier to pull off.

I’ve started to test Syrius on Mac w/ M1. Have a look at this image. Not sure if you used that DMG creation script we found, but this image seems to be out of place a little. The text does not line up with the green pill area.

I was messing w/ this script and I found you need to resize the image your self to 72dpi before uploading it. I also found I needed to use .png rather than TIFF or JPG. Even thought the script will handle them. Not sure if this is the issue or not.

I like this a lot. Make sure to contact @ZNNAYIID if you need help w/ these images. He created them.

Screenshot 2022-12-24 at 4.59.20 AM

1 Like

@aliencoder Everything is working great. I’ll do a test TX too.

I wonder if we can depreciate / disable this page in Syrius. The bridge ZNN > wZNN is depreciated and this page is confusing.

I wonder if the bottom two buttons should be removed or unable to click and add a note the bridge is disabled and will be replaced with a new bridge in 2023?

I was able to round trip (2) QSR transactions on the mac install. Do you want me to test plasma creation? Not sure that is necessary. Don’t think anything you did would impact that.

But can test if you want.

72dpi conversion wasn’t necessary for the final output, in either .sh script I uploaded.

@aliencoder since you’re using the new image, can you please update these params with the ones from the .sh script above? Keep the --format, though.

I’d recommend testing these scenarios, given alienc0der has updated the build process for all libs.

The Windows release is working as expected. Great work, @aliencoder!

The Linux build still needs a few things:

  1. The .zip extracts a long directory path. It would be better if the syrius executable and other files were available under one directory.
  2. Please include all three of these changes to avoid using WakeLock on Linux (1, 2, 3). Otherwise, users will see this screen.

Tests completed for Mac M1 & results

  • libpow :white_check_mark:
    • able to generate plasma with pow
  • libargon2 :white_check_mark:
    • able to create and unlock a wallet
  • libznn :x:
    • unable to start an embedded node
    • wallet was able to connect to community node
  • libExportWallet :negative_squared_cross_mark:
1 Like

Hello and thank you for the feedback. The problem was the Github workflow that loaded the old x86_64 libznn.dylib instead of the fat one.

Kudos to @ZNNAYIID for the nice looking graphics. Just a little suggestion: “Drag Syrius wallet to the Applications folder” + the space dedicated for the two icons should be a little bit larger.

Also kudos to @sol and @0x3639, awesome work. I’ll update the Github Actions workflows and fix the MacOS and Linux builds.

I wish you a Merry Christmas and Happy Holidays!

4 Likes

Happy to announce that we have a working syrius wallet. I’ve incremented the version to v0.0.6 (I need to update the version in the codebase, too) because I’ve added multi-address and dynamic-chainId. The embedded node is also present now.

Hopefully it works well on all operating systems.

5 Likes