A work-in-progress sidechain UI.
$ cd packages/sidesail && flutter run -d macos
You need Windows Subsystem for Linux, with the following packages installed:
unzip
- Probably more...
To sign the MSIX installer produced at the end of the build you need a valid certificate. When this is deployed somewhere proper this needs to be a real certificate signed by a recognized authority. For our current, internal distribution needs we use a self signed certificate. The following instructions are based on this Medium article.
Run in WSL bash
:
# Generate a key
$ openssl genrsa -out mykeyname.key 2048
# Generate a CSR (certificate request)
$ openssl req -new -key mykeyname.key -out mycsrname.csr
# Generate the actual certificate
$ openssl x509 -in mycsrname.csr -out mycrtname.crt -req -signkey mykeyname.key -days 365
# Export the certificate to a usable format
$ openssl pkcs12 -export -out CERTIFICATE.pfx -inkey mykeyname.key -in mycrtname.crt
The final CERTIFICATE.pfx
file is what we're going to use as the signing
certificate for the installer.
Building the MSIX installer:
# replace testchain with whatever other chain you're building
$ bash ./scripts/build-app.sh windows testchain
This places a .msix
file in build/windows/runner/Release
. Before this can be
properly installed, we need to install the certificate used to sign the
installer.
- Open the folder containing the
.msix
file with your file explorer. - Right click on the
.msix
file. - Go to the "Digital Signatures" tab.
- Select the signature (should be only one entry in "Signature list").
- Click on "Details"
- Click on "View Certificate"
- Click on "Install Certificate..."
- Select "Local Machine"
- If prompted, accept the popup authorizing the certificate installation
- Select "Place all certificates in the following store", and then "Browse..."
- Select "Trust Root Certification Authorities"
- Click "Next"
- Click "Finish"
- You should see a popup saying "The import was successful".
Tme .msix
file can now be double clicked, which should prompt you to install
the application.
# Ubuntu, might need something else on other distros
# Basic Flutter stuff I think?
$ sudo apt-get install libgtk-3-dev
# path_provider_path stuff
$ sudo apt install libsecret-1-dev libsecret-tools libsecret-1-0
$ flutter clean # Sometimes strange stuff if you don't clean first
$ flutter build linux
# result is located in ./build/linux/x64/release/bundle:
# ./sidesail: actual binary
# ./lib: the required .so library files
# ./data: assets++
# Note that this isn't a launchable "application" in the same
# way that Windows and macOS has. To get that, we have to
# package it using for example `snap`.
# https://docs.flutter.dev/deployment/linux
Generate icons with CandyIcons. Gives the nice, rounded icon.
# replace testchain with whatever other chain you're building
$ bash ./scripts/build-app.sh macos testchain
# result is located in ./build/macos/Build/Products/Release