From 92b9edf0dae08f878f9f70477e0e6f5c212ef102 Mon Sep 17 00:00:00 2001 From: serinko <97586125+serinko@users.noreply.github.com> Date: Tue, 4 Jul 2023 14:52:05 +0000 Subject: [PATCH 01/15] edited NC-Matrix user manual - changed setup for Mac - fixed typo --- .../dev-portal/src/tutorials/matrix.md | 42 +++++++++++++++++-- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/documentation/dev-portal/src/tutorials/matrix.md b/documentation/dev-portal/src/tutorials/matrix.md index 39852fed05..7351ce85ee 100644 --- a/documentation/dev-portal/src/tutorials/matrix.md +++ b/documentation/dev-portal/src/tutorials/matrix.md @@ -3,7 +3,7 @@ Chat applications became an essential part of human communication. Matrix chat has end to end encryption on protocol level and Element app users can sort their communication into spaces and rooms. Now the Matrix communities can rely on network privacy as NymConnect supports Matrix chat protocol. -Currently there is no option in Matrix's Element client to set a socks5 proxy. In order to use Element via NymConnect users have to start it from the command-line. The setup is simple, for convenience a a keyboard shortcut setting can be easily done. +Currently there is no option in Matrix's Element client to set a Socks5 proxy. In order to use Element via NymConnect users have to start it from the command-line. The setup is simple, for convenience a keyboard shortcut setting or terminal alias can be easily done. ## Setup & Run @@ -35,10 +35,46 @@ Alternatively you can add a keybinding via the CLI, using whatever config files ### Create an alias If you prefer to simply shorten the length of the command (or all your keybindings are already taken) then you can simply create an alias for this long-winded command (this example aliases that command to the single word `element`, but you can replace it with whatever you like): +**Linux** + ```sh alias element="element-desktop --proxy-server=socks5://127.0.0.1:1080" ``` -To make this alias persist, then add this to your `.bashrc` or `.zshrc` file (usually located in your `$HOME` directory) and `source` that file. +To make this alias persist, then add this to your `.bashrc` or `.zshrc` file (usually located in your `$HOME` directory) and `source` that file. This can be done by appending the alias command directly to the shell config file with one command. -Now you can run Element throught the mixnet with a single-word command. +For `bash` enter: + +```sh +alias element="element-desktop --proxy-server=socks5://127.0.0.1:1080" >> ~/.bashrc +``` + +For `zsh` enter: + +```sh +alias element="element-desktop --proxy-server=socks5://127.0.0.1:1080" >> ~/.zshrc +``` + +You can add the alias manually by opening your `$HOME` directory, enable hidden files (press `ctrl` + `h`) and open `.bashrc` or `.zshrc` file (based on your terminal setup) in a text editor, paste the string `alias element="element-desktop --proxy-server=socks5://127.0.0.1:1080"` to the the end, save and exit. Start a new terminal and run `element`. + +**Mac** + +```sh +alias element="open -a Element --args --proxy-server=socks5://127.0.0.1:1080" + +``` + +To make this alias persist, then add this to your `.zshrc` (or `.bashrc`/`.profile`) file (usually located in your `$HOME` directory) and `source` that file. This can be done by appending the alias command directly to the shell config file with one command. + +For `zsh` enter: + +```sh +alias element="open -a Element --args --proxy-server=socks5://127.0.0.1:1080" >> ~/.zshrc +``` + +For `.bashrc` or `.profile` just change the end of the command. + +You can add the alias manually by opening your `$HOME` directory, enable hidden files (in Finder press `Shift` + `Command` + `.`) and open `.zshrc` file (or `.bashrc`/`.profile`) in a text editor, paste the string `alias element="open -a Element --args --proxy-server=socks5://127.0.0.1:1080"` to the the end, save and exit. Start a new terminal and run `element`. + + +**Now you can run Element through the Nym Mixnet with a single-word command.** From 6e2eaf29e74b557ce81c90ac5db0229d91d5bbcc Mon Sep 17 00:00:00 2001 From: serinko <97586125+serinko@users.noreply.github.com> Date: Tue, 4 Jul 2023 14:52:05 +0000 Subject: [PATCH 02/15] edited NC-Matrix user manual - changed setup for Mac - fixed typo --- .../dev-portal/src/tutorials/matrix.md | 42 +++++++++++++++++-- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/documentation/dev-portal/src/tutorials/matrix.md b/documentation/dev-portal/src/tutorials/matrix.md index 39852fed05..7351ce85ee 100644 --- a/documentation/dev-portal/src/tutorials/matrix.md +++ b/documentation/dev-portal/src/tutorials/matrix.md @@ -3,7 +3,7 @@ Chat applications became an essential part of human communication. Matrix chat has end to end encryption on protocol level and Element app users can sort their communication into spaces and rooms. Now the Matrix communities can rely on network privacy as NymConnect supports Matrix chat protocol. -Currently there is no option in Matrix's Element client to set a socks5 proxy. In order to use Element via NymConnect users have to start it from the command-line. The setup is simple, for convenience a a keyboard shortcut setting can be easily done. +Currently there is no option in Matrix's Element client to set a Socks5 proxy. In order to use Element via NymConnect users have to start it from the command-line. The setup is simple, for convenience a keyboard shortcut setting or terminal alias can be easily done. ## Setup & Run @@ -35,10 +35,46 @@ Alternatively you can add a keybinding via the CLI, using whatever config files ### Create an alias If you prefer to simply shorten the length of the command (or all your keybindings are already taken) then you can simply create an alias for this long-winded command (this example aliases that command to the single word `element`, but you can replace it with whatever you like): +**Linux** + ```sh alias element="element-desktop --proxy-server=socks5://127.0.0.1:1080" ``` -To make this alias persist, then add this to your `.bashrc` or `.zshrc` file (usually located in your `$HOME` directory) and `source` that file. +To make this alias persist, then add this to your `.bashrc` or `.zshrc` file (usually located in your `$HOME` directory) and `source` that file. This can be done by appending the alias command directly to the shell config file with one command. -Now you can run Element throught the mixnet with a single-word command. +For `bash` enter: + +```sh +alias element="element-desktop --proxy-server=socks5://127.0.0.1:1080" >> ~/.bashrc +``` + +For `zsh` enter: + +```sh +alias element="element-desktop --proxy-server=socks5://127.0.0.1:1080" >> ~/.zshrc +``` + +You can add the alias manually by opening your `$HOME` directory, enable hidden files (press `ctrl` + `h`) and open `.bashrc` or `.zshrc` file (based on your terminal setup) in a text editor, paste the string `alias element="element-desktop --proxy-server=socks5://127.0.0.1:1080"` to the the end, save and exit. Start a new terminal and run `element`. + +**Mac** + +```sh +alias element="open -a Element --args --proxy-server=socks5://127.0.0.1:1080" + +``` + +To make this alias persist, then add this to your `.zshrc` (or `.bashrc`/`.profile`) file (usually located in your `$HOME` directory) and `source` that file. This can be done by appending the alias command directly to the shell config file with one command. + +For `zsh` enter: + +```sh +alias element="open -a Element --args --proxy-server=socks5://127.0.0.1:1080" >> ~/.zshrc +``` + +For `.bashrc` or `.profile` just change the end of the command. + +You can add the alias manually by opening your `$HOME` directory, enable hidden files (in Finder press `Shift` + `Command` + `.`) and open `.zshrc` file (or `.bashrc`/`.profile`) in a text editor, paste the string `alias element="open -a Element --args --proxy-server=socks5://127.0.0.1:1080"` to the the end, save and exit. Start a new terminal and run `element`. + + +**Now you can run Element through the Nym Mixnet with a single-word command.** From 34de42fe7a1f08a8ab56c0c12b56ce5d66cae20c Mon Sep 17 00:00:00 2001 From: mfahampshire Date: Tue, 11 Jul 2023 15:51:02 +0200 Subject: [PATCH 03/15] updated validator docs: upgrade to 0.32.0 instructions --- documentation/docs/src/nodes/validator-setup.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/documentation/docs/src/nodes/validator-setup.md b/documentation/docs/src/nodes/validator-setup.md index 153622740b..053a19253d 100644 --- a/documentation/docs/src/nodes/validator-setup.md +++ b/documentation/docs/src/nodes/validator-setup.md @@ -593,18 +593,19 @@ nyxd tx slashing unjail ### Upgrading your validator -Upgrading from `v0.26.0` -> `v0.31.1` process is fairly simple. Grab the v0.31.1 release tarball from the [`nyxd` releases page](https://github.com/nymtech/nyxd/releases), and untar it. Inside are two files: +Upgrading from `v0.31.1` -> `v0.32.0` process is fairly simple. Grab the `v0.32.0` release tarball from the [`nyxd` releases page](https://github.com/nymtech/nyxd/releases), and untar it. Inside are two files: -- the new validator (`nyxd`) v0.31.1 +- the new validator (`nyxd`) v0.32.0 - the new wasmvm (it depends on your platform, but most common filename is `libwasmvm.x86_64.so`) -Before the upgrade height, copy `libwasmvm.x86_64.so` to the default LD_LIBRARY_PATH on your system (on Ubuntu 20.04 this is `/lib/x86_64-linux-gnu/`): +Wait for the upgrade height to be reached and the chain to halt awaiting upgrade, then: -Then just swap in your new `nyxd` binary and restart once the halt height is reached. +* copy `libwasmvm.x86_64.so` to the default LD_LIBRARY_PATH on your system (on Ubuntu 20.04 this is `/lib/x86_64-linux-gnu/`) replacing your existing file with the same name. +* swap in your new `nyxd` binary and restart. -You can also use something like [Cosmovisor](https://github.com/cosmos/cosmos-sdk/tree/main/tools/cosmovisor) - grab the relevant information from the current upgrade proposal [here](https://nym.explorers.guru/proposal/8). +You can also use something like [Cosmovisor](https://github.com/cosmos/cosmos-sdk/tree/main/tools/cosmovisor) - grab the relevant information from the current upgrade proposal [here](https://nym.explorers.guru/proposal/9). -Note: Cosmovisor will swap the `nyxd` binary, but you'll need to already have the `libwasmvm.x86_64.so` in place. Luckily, the name of the wasmvm in v0.26.1 was `libwasmvm.so`, and the new name is `libwasmvm.x86_64.so`, so you can have it already sitting there without disrupting service. +Note: Cosmovisor will swap the `nyxd` binary, but you'll need to already have the `libwasmvm.x86_64.so` in place. #### Common reasons for your validator being jailed From a98613d83c38c31e90c5c618f9b57c7287e568c1 Mon Sep 17 00:00:00 2001 From: Lorexia Date: Tue, 11 Jul 2023 19:57:21 +0200 Subject: [PATCH 04/15] Update community application list, merge community and guides pages, update SUMMARY file, update overview file --- documentation/dev-portal/src/SUMMARY.md | 3 +- ...d => community-applications-and-guides.md} | 45 ++++++++++++++ .../community-resources/community-guides.md | 17 ------ .../profile_picture/darkfi_over_nym_pp.webp | Bin 0 -> 1736 bytes .../profile_picture/nym_dashboard_pp.svg | 57 ++++++++++++++++++ .../dev-portal/src/quickstart/overview.md | 3 +- 6 files changed, 104 insertions(+), 21 deletions(-) rename documentation/dev-portal/src/community-resources/{community-applications.md => community-applications-and-guides.md} (50%) create mode 100644 documentation/dev-portal/src/images/profile_picture/darkfi_over_nym_pp.webp create mode 100644 documentation/dev-portal/src/images/profile_picture/nym_dashboard_pp.svg diff --git a/documentation/dev-portal/src/SUMMARY.md b/documentation/dev-portal/src/SUMMARY.md index be35e9c30a..aeae804662 100644 --- a/documentation/dev-portal/src/SUMMARY.md +++ b/documentation/dev-portal/src/SUMMARY.md @@ -40,8 +40,7 @@ # Community Resources - [Nym DevRel AMAs](community-resources/ama.md) -- [Community Applications](community-resources/community-applications.md) -- [Community Guides](community-resources/community-guides.md) +- [Community Applications and Guides](community-resources/community-applications-and-guides.md) - [Change Service Grantee Information](info-request.md) - [Rewards FAQ](community-resources/rewards-faq.md) --- diff --git a/documentation/dev-portal/src/community-resources/community-applications.md b/documentation/dev-portal/src/community-resources/community-applications-and-guides.md similarity index 50% rename from documentation/dev-portal/src/community-resources/community-applications.md rename to documentation/dev-portal/src/community-resources/community-applications-and-guides.md index 9eada01337..ceff0e2291 100644 --- a/documentation/dev-portal/src/community-resources/community-applications.md +++ b/documentation/dev-portal/src/community-resources/community-applications-and-guides.md @@ -55,7 +55,52 @@ We love seeing our developer community create applications using Nym. If you wou + +## Nym Dashboard + +> Developed by No Trust Verify, this dashboard is a great tool to get information about the mixnet, gateways and mixnodes. +* [Deployed Website App](https://status.notrustverify.ch/d/CW3L7dVVk/nym-mixnet?orgId=1) + + + + + +## IsNymUp + +> A tool that helps check the heath of the Nym network as well as some mixnet related statistics. +* [Deployed Website App](https://isnymup.com/) + + + + + + +## DarkFi over Nym + +> In this example, DarkFi used Nym's Mixnet to allow users to anonymously connect to other peers in the Darkfi network. +* [Github](https://github.com/darkrenaissance/darkfi) +* [Documentation](https://darkrenaissance.github.io/darkfi/clients/nym_outbound.html) + + +# Community Guides + +We aren't the only ones writing documentation: the Nym developer community is also a great source of guides and resources, some of which we've included here. + +## No Trust Verify + +>No Trust Verify is a project that aims to build open-source, privacy-enhancing technologies that make it easier to use the Internet securely and anonymously. Their focus is on providing tools and services that make it simple for developers to create decentralized applications (dApps) that respect users' privacy. + +* [Awesome Nym list](https://notrustverify.github.io/awesome-nym/) ([GitHub](https://github.com/notrustverify/awesome-nym)) +* A lot of guides can be found on the [NTV Blog](https://blog.notrustverify.ch/) + +## The Way of the NYMJA + +by Pineapple Proxy🍍 + +>Born out of a study group from Nym's Shipyard Academy, Pineapple Proxy has emerged as a cluster of motivated and skilled individuals who see the new internet taking shape. With vibecare at the heart of their approach, this zesty collective is on a mission to make privacy convenient for everyone via content, new tools, events, and novel experiences. They believe in collective intelligence, empathy, and collaboration as the means by which privacy will become a meaningful reality. +* [Website](https://pnproxy.org/welcome.html) ([GitHub](https://github.com/Pineapple-Proxy-DAO/web)) + diff --git a/documentation/dev-portal/src/community-resources/community-guides.md b/documentation/dev-portal/src/community-resources/community-guides.md index 7a5973f6f2..e69de29bb2 100644 --- a/documentation/dev-portal/src/community-resources/community-guides.md +++ b/documentation/dev-portal/src/community-resources/community-guides.md @@ -1,17 +0,0 @@ -# Community Guides - -We aren't the only ones writing documentation: the Nym developer community is also a great source of guides and resources, some of which we've included here. - -## No Trust Verify - ->No Trust Verify is a project that aims to build open-source, privacy-enhancing technologies that make it easier to use the Internet securely and anonymously. Their focus is on providing tools and services that make it simple for developers to create decentralized applications (dApps) that respect users' privacy. - -* [Awesome Nym list](https://notrustverify.github.io/awesome-nym/) ([GitHub](https://github.com/notrustverify/awesome-nym)) -* A lot of guides can be found on the [NTV Blog](https://blog.notrustverify.ch/) - -## The Way of the NYMJA - -by Pineapple Proxy🍍 - ->Born out of a study group from Nym's Shipyard Academy, Pineapple Proxy has emerged as a cluster of motivated and skilled individuals who see the new internet taking shape. With vibecare at the heart of their approach, this zesty collective is on a mission to make privacy convenient for everyone via content, new tools, events, and novel experiences. They believe in collective intelligence, empathy, and collaboration as the means by which privacy will become a meaningful reality. -* [Website](https://pnproxy.org/welcome.html) ([GitHub](https://github.com/Pineapple-Proxy-DAO/web)) diff --git a/documentation/dev-portal/src/images/profile_picture/darkfi_over_nym_pp.webp b/documentation/dev-portal/src/images/profile_picture/darkfi_over_nym_pp.webp new file mode 100644 index 0000000000000000000000000000000000000000..e181cf922da0149696d5d6d7ca4efce140aa676c GIT binary patch literal 1736 zcmbu7dpML?9LJAwDMM5!7Q5OJ%ThGCk7V30p~;9rm|;vBOf!UHTMAQ+8kbqosxU(g zEpiDxOA!%WFih=(E~KP(lUx?fp5b}&NBitQd*1h)^LfAL_dDnOzR!zuadd2z0pOqm z*2~As+!qM|(1N{e<#n;M^I{|5CqS^Nq)3L85de`amFLAw_r}@5+T!CK!Ldi zP>lr)5C&&5)WhIIg%Pl=dB5fIf}_9tA4}1#ruQeAppEj0N~yWKwdroI`BNj0Qjf6Bc%Y?S+-Xn9K3opL)#?w zHMnAHtL_pp`AA~VsT9+!fq_CqV%mZtm>0$U*)V53;Vqa-svWEw%u~ZlTQq#q$r|e@ z*qFPkgk?-*siHcVg=WOpU0a$fosyd+s+3? zSj3Ii&$#-fch$6e=w+WP!R)YE3X!G$7Jnz_kVW?Ww4OTs5lr;GC*QnLs4*k);u zev1G2z~k>9yg!VvOgOS3GS!35?e~Y@Mx92Et3x&#(kwb*O@MZ5ix39KVUTm?6=(3)-diBQa znp=7!FQ)UFk(z+Vr##eXzE$ebTxFo9!p%coPfsh@*CI~|TJ9FKmm6jT_6@lSYZoIg z?MAp&Ap3Yd>?|wk2RZUR64m-{r1W;HY4QvOPZqe}LpMe%`f)rR!}Mk-c0V_e&SR2P z!}vaaY`Ui<>EdF&L2s2qvU+miMfOn>n})XMQv;dC+}eV_at_{fywJvWTXvYOzU(-H zdQ0pm*VYU>WZl@anMOCLsQk!kDAa4h1@y|W=EG6rvPOIzGjyjF&h?1w=z$aua_Fpy zpOcI#MggI8I!=$LaL$TejPm!hycR;=Uo+{-+wtIArfjuiZrk)U=8Rs!IB5f6x>Tj2 zTs9$)(yp<|P_Afn;Hh?T`R=n@!{ieCwuxqsJtA-7m*>=^bxO*Iw`Cen$H#lVIf8ak zs};uFHeWJ5->TC-#>7@M;c|2YW4@M>QEu6rnF4#)prr%r+fGdhw)hx}NEdd>ybxMz zG~!#l^!g@IFF`LlxQo)N*hrYu#bUXoG86l6)%)ZYCCW6smqTE*=elgz`y7W)b6b5Z z>*F*>ohRO*?e_q~?&v+on;SFH9xmMqKOS~9qTJUsOKGn#oqE=aI!;1KtA*a^u-9L* zY!g~w*|`MuvKVOwy-7u9Xf!Y?|9e6P7u&CND`B}VA$4yxegPpXu~GkeB`0?{ADi{q z8ELYpe`HFSY_gHhsZFsp8gr6vkI?DWoT%Kv?MmfbH}oZ3*-(Npq`S>>{R;;Qk#E2GA0$A)tnl#_j}UGfBKqb~bQr2}2I^LLh&;7{}~1k*bE lTPkKdEu|u2b(54erY}bg&S%eJb}cliV15~X9>m-X{sFG3cJKfI literal 0 HcmV?d00001 diff --git a/documentation/dev-portal/src/images/profile_picture/nym_dashboard_pp.svg b/documentation/dev-portal/src/images/profile_picture/nym_dashboard_pp.svg new file mode 100644 index 0000000000..e91f3abdb4 --- /dev/null +++ b/documentation/dev-portal/src/images/profile_picture/nym_dashboard_pp.svg @@ -0,0 +1,57 @@ + + + + + + + + + + + + diff --git a/documentation/dev-portal/src/quickstart/overview.md b/documentation/dev-portal/src/quickstart/overview.md index a9586172ed..50a6d4187b 100644 --- a/documentation/dev-portal/src/quickstart/overview.md +++ b/documentation/dev-portal/src/quickstart/overview.md @@ -4,8 +4,7 @@ There are multiple options to quickly connect to Nym and see the network in acti Demo application: * a browser-based 'hello world' [chat application](https://chat-demo.nymtech.net). Either open in two browser windows and send messages to yourself, or share with a friend and send messages to each other through the mixnet! - -Proxy traffic with the Nym Socks5 client: +* a Coconut-scheme based [Credential Library](https://coco-demo.nymtech.net/). This is a WASM implementation of our Coconut libraries which generate raw Coconut credentials. Test it to create and re-randomize your own credentials! * set up a plug-and-play connection with the [NymConnect](./nymconnect-gui.md) GUI for proxying Telegram, Electrum, Keybase or Blockstream Green traffic through the mixnet (~2 minutes). * [Download and run](./socks-proxy.md) the Nym Socks5 client via the CLI, for other desktop applications with SOCKS5 connection options (~30 minutes). From d9b4d8fde603a60501729c2688dbd4bdcf0db205 Mon Sep 17 00:00:00 2001 From: Lorexia Date: Wed, 12 Jul 2023 11:05:42 +0200 Subject: [PATCH 05/15] Add preprocessors for build, update NIsNymUp issue, update DarkFi picture --- .../community-applications-and-guides.md | 11 ++++++----- .../src/community-resources/community-guides.md | 0 .../profile_picture/darkfi_over_nym_pp.png | Bin 0 -> 14843 bytes .../profile_picture/darkfi_over_nym_pp.webp | Bin 1736 -> 0 bytes .../src/integrations/mixnet-integration.md | 2 +- .../simple-service-provider/sending-message.md | 2 +- 6 files changed, 8 insertions(+), 7 deletions(-) delete mode 100644 documentation/dev-portal/src/community-resources/community-guides.md create mode 100644 documentation/dev-portal/src/images/profile_picture/darkfi_over_nym_pp.png delete mode 100644 documentation/dev-portal/src/images/profile_picture/darkfi_over_nym_pp.webp diff --git a/documentation/dev-portal/src/community-resources/community-applications-and-guides.md b/documentation/dev-portal/src/community-resources/community-applications-and-guides.md index ceff0e2291..89248dd8ab 100644 --- a/documentation/dev-portal/src/community-resources/community-applications-and-guides.md +++ b/documentation/dev-portal/src/community-resources/community-applications-and-guides.md @@ -57,7 +57,7 @@ We love seeing our developer community create applications using Nym. If you wou -## Nym Dashboard +## Nym Dashboard > Developed by No Trust Verify, this dashboard is a great tool to get information about the mixnet, gateways and mixnodes. * [Deployed Website App](https://status.notrustverify.ch/d/CW3L7dVVk/nym-mixnet?orgId=1) @@ -65,9 +65,9 @@ We love seeing our developer community create applications using Nym. If you wou - -## IsNymUp - + +## Is Nym Up + > A tool that helps check the heath of the Nym network as well as some mixnet related statistics. * [Deployed Website App](https://isnymup.com/) @@ -76,7 +76,7 @@ We love seeing our developer community create applications using Nym. If you wou -## DarkFi over Nym +## DarkFi over Nym > In this example, DarkFi used Nym's Mixnet to allow users to anonymously connect to other peers in the Darkfi network. * [Github](https://github.com/darkrenaissance/darkfi) @@ -85,6 +85,7 @@ We love seeing our developer community create applications using Nym. If you wou +

# Community Guides diff --git a/documentation/dev-portal/src/community-resources/community-guides.md b/documentation/dev-portal/src/community-resources/community-guides.md deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/documentation/dev-portal/src/images/profile_picture/darkfi_over_nym_pp.png b/documentation/dev-portal/src/images/profile_picture/darkfi_over_nym_pp.png new file mode 100644 index 0000000000000000000000000000000000000000..9ae44d85c18872bf9e1789822ec81044e25507f8 GIT binary patch literal 14843 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 U5YAQwFXqsVt0amFLAw_r}@5+T!CK!Ldi zP>lr)5C&&5)WhIIg%Pl=dB5fIf}_9tA4}1#ruQeAppEj0N~yWKwdroI`BNj0Qjf6Bc%Y?S+-Xn9K3opL)#?w zHMnAHtL_pp`AA~VsT9+!fq_CqV%mZtm>0$U*)V53;Vqa-svWEw%u~ZlTQq#q$r|e@ z*qFPkgk?-*siHcVg=WOpU0a$fosyd+s+3? zSj3Ii&$#-fch$6e=w+WP!R)YE3X!G$7Jnz_kVW?Ww4OTs5lr;GC*QnLs4*k);u zev1G2z~k>9yg!VvOgOS3GS!35?e~Y@Mx92Et3x&#(kwb*O@MZ5ix39KVUTm?6=(3)-diBQa znp=7!FQ)UFk(z+Vr##eXzE$ebTxFo9!p%coPfsh@*CI~|TJ9FKmm6jT_6@lSYZoIg z?MAp&Ap3Yd>?|wk2RZUR64m-{r1W;HY4QvOPZqe}LpMe%`f)rR!}Mk-c0V_e&SR2P z!}vaaY`Ui<>EdF&L2s2qvU+miMfOn>n})XMQv;dC+}eV_at_{fywJvWTXvYOzU(-H zdQ0pm*VYU>WZl@anMOCLsQk!kDAa4h1@y|W=EG6rvPOIzGjyjF&h?1w=z$aua_Fpy zpOcI#MggI8I!=$LaL$TejPm!hycR;=Uo+{-+wtIArfjuiZrk)U=8Rs!IB5f6x>Tj2 zTs9$)(yp<|P_Afn;Hh?T`R=n@!{ieCwuxqsJtA-7m*>=^bxO*Iw`Cen$H#lVIf8ak zs};uFHeWJ5->TC-#>7@M;c|2YW4@M>QEu6rnF4#)prr%r+fGdhw)hx}NEdd>ybxMz zG~!#l^!g@IFF`LlxQo)N*hrYu#bUXoG86l6)%)ZYCCW6smqTE*=elgz`y7W)b6b5Z z>*F*>ohRO*?e_q~?&v+on;SFH9xmMqKOS~9qTJUsOKGn#oqE=aI!;1KtA*a^u-9L* zY!g~w*|`MuvKVOwy-7u9Xf!Y?|9e6P7u&CND`B}VA$4yxegPpXu~GkeB`0?{ADi{q z8ELYpe`HFSY_gHhsZFsp8gr6vkI?DWoT%Kv?MmfbH}oZ3*-(Npq`S>>{R;;Qk#E2GA0$A)tnl#_j}UGfBKqb~bQr2}2I^LLh&;7{}~1k*bE lTPkKdEu|u2b(54erY}bg&S%eJb}cliV15~X9>m-X{sFG3cJKfI diff --git a/documentation/dev-portal/src/integrations/mixnet-integration.md b/documentation/dev-portal/src/integrations/mixnet-integration.md index 43fea3e7e9..e4a328bf24 100644 --- a/documentation/dev-portal/src/integrations/mixnet-integration.md +++ b/documentation/dev-portal/src/integrations/mixnet-integration.md @@ -36,7 +36,7 @@ In order to ensure uptime and reliability, it is recommended that you run some p * If you're running a purely P2P application, then just integrating clients and having some method of sharing addresses should be enough to route your traffic through the mixnet. * If you're wanting to place the mixnet between your users' application instances and a server-based backend, you can use the [network requester](https://nymtech.net/docs/nodes/network-requester-setup.html) service provider binary to proxy these requests to your application backend, with the mixnet 'between' the user and your service, in order to prevent metadata leakage being broadcast to the internet. -* If you're wanting to route RPC requests through the mixnet to a blockchain, you will need to look into setting up some sort of service that does the transaction broadcasting for you. You can find examples of such projects on the [community applications](../community-resources/community-applications.md) page. +* If you're wanting to route RPC requests through the mixnet to a blockchain, you will need to look into setting up some sort of service that does the transaction broadcasting for you. You can find examples of such projects on the [community applications](../community-resources/community-applications-and-guides.md) page. ## Example application traffic flow ### Initialization diff --git a/documentation/dev-portal/src/tutorials/simple-service-provider/sending-message.md b/documentation/dev-portal/src/tutorials/simple-service-provider/sending-message.md index a1a5f67ae9..d0083f0a01 100644 --- a/documentation/dev-portal/src/tutorials/simple-service-provider/sending-message.md +++ b/documentation/dev-portal/src/tutorials/simple-service-provider/sending-message.md @@ -12,7 +12,7 @@ Simply fill in the fields in your browser and click `Send`. In your browser you -This small project can be used as a template to start conceptualizing and developing more complex PEApps. Stay tuned for more soon, and if you're searching for inspiration check out the [community apps](../../community-resources/community-applications.md) list! +This small project can be used as a template to start conceptualizing and developing more complex PEApps. Stay tuned for more soon, and if you're searching for inspiration check out the [community apps](../../community-resources/community-applications-and-guides.md) list! From 825f25800a17e101ef73f37c21c45cf2ac8ebcb5 Mon Sep 17 00:00:00 2001 From: Lorexia Date: Wed, 12 Jul 2023 14:44:51 +0200 Subject: [PATCH 06/15] Add Nymster email info, update Nostr-Nym link, update deployed apps text --- .../community-applications-and-guides.md | 26 ++++++++++++------ .../profile_picture/nymstr_email_pp.png | Bin 0 -> 8577 bytes 2 files changed, 18 insertions(+), 8 deletions(-) create mode 100644 documentation/dev-portal/src/images/profile_picture/nymstr_email_pp.png diff --git a/documentation/dev-portal/src/community-resources/community-applications-and-guides.md b/documentation/dev-portal/src/community-resources/community-applications-and-guides.md index 89248dd8ab..3c817f6541 100644 --- a/documentation/dev-portal/src/community-resources/community-applications-and-guides.md +++ b/documentation/dev-portal/src/community-resources/community-applications-and-guides.md @@ -9,7 +9,7 @@ We love seeing our developer community create applications using Nym. If you wou >A [pastebin](https://pastebin.com) inspired project, offer a solution for sharing text with Nym products to offer full anonymity, even on metadata level. * [Github](https://github.com/notrustverify/pastenym) -* [Deployed Website App](https://pastenym.ch) +* [Deployed App](https://pastenym.ch) @@ -17,10 +17,11 @@ We love seeing our developer community create applications using Nym. If you wou ## Nostr-Nym -> [Nostr-nym](https://github.com/notrustverify/nostr-nym) offer a solution to use [Nostr](https://nostr.how/) protocol by giving the possibility to run a relay on mixnet. By using a nostr client compatible with the mixnet, users can protect their privacy to be able to use Nostr has the want, without being observed. +> [Nostr-nym](https://github.com/notrustverify/nostr-nym) offer a solution to use [Nostr](https://nostr.how/en/what-is-nostr) protocol by giving the possibility to run a relay on mixnet. By using a nostr client compatible with the mixnet, users can protect their privacy to be able to use Nostr has the want, without being observed. * [Github](https://github.com/notrustverify/nostr-nym) -* Deployed Website App coming soon +* [Deployed App](https://nostrnym.pnproxy.org/) +* [Documentation](https://blog.notrustverify.ch/nostr-relay-on-nym) @@ -60,30 +61,39 @@ We love seeing our developer community create applications using Nym. If you wou ## Nym Dashboard > Developed by No Trust Verify, this dashboard is a great tool to get information about the mixnet, gateways and mixnodes. -* [Deployed Website App](https://status.notrustverify.ch/d/CW3L7dVVk/nym-mixnet?orgId=1) +* [Deployed App](https://status.notrustverify.ch/d/CW3L7dVVk/nym-mixnet?orgId=1) + ## Is Nym Up -> A tool that helps check the heath of the Nym network as well as some mixnet related statistics. -* [Deployed Website App](https://isnymup.com/) +> Explore whether we're up through IsNymUp, a tool that helps check the heath of the Nym network as well as some mixnet related statistics! +* [Deployed App](https://isnymup.com/) - ## DarkFi over Nym -> In this example, DarkFi used Nym's Mixnet to allow users to anonymously connect to other peers in the Darkfi network. +> DarkFi leverages Nym's mixnet as a pluggable transport for IRCD, their p2p IRC variant. Users can anonymously connect to peers over the network, ensuring secure and private communication within the DarkFi ecosystem. * [Github](https://github.com/darkrenaissance/darkfi) * [Documentation](https://darkrenaissance.github.io/darkfi/clients/nym_outbound.html) + + +## Nymstr email + +> Experience secure and private email communication with ease using Nymstr email, which enables seamless transmission of emails over a SOCKS5 proxy and our NYM mixnet! +* [Github](https://github.com/dial0ut/nymstr-email) + + +

diff --git a/documentation/dev-portal/src/images/profile_picture/nymstr_email_pp.png b/documentation/dev-portal/src/images/profile_picture/nymstr_email_pp.png new file mode 100644 index 0000000000000000000000000000000000000000..404b9e25299e21018b47fb76642fadd8177e36af GIT binary patch literal 8577 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 Date: Wed, 12 Jul 2023 18:37:06 +0200 Subject: [PATCH 07/15] Add Minibolt to community projects list --- .../community-applications-and-guides.md | 10 ++++++++++ .../src/images/profile_picture/minibolt_pp.png | Bin 0 -> 13877 bytes documentation/dev-portal/theme/css/general.css | 3 ++- 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 documentation/dev-portal/src/images/profile_picture/minibolt_pp.png diff --git a/documentation/dev-portal/src/community-resources/community-applications-and-guides.md b/documentation/dev-portal/src/community-resources/community-applications-and-guides.md index 3c817f6541..78e0916d4f 100644 --- a/documentation/dev-portal/src/community-resources/community-applications-and-guides.md +++ b/documentation/dev-portal/src/community-resources/community-applications-and-guides.md @@ -94,6 +94,16 @@ We love seeing our developer community create applications using Nym. If you wou + + +## Minibolt + +> Anonymize your p2p inventory messages and mempool for your Bitcoin & Lightning full nodes on consumer PCs! +* [Github](https://github.com/minibolt-guide/minibolt) +* [Documentation](https://v2.minibolt.info/bonus-guides/system/nym-mixnet#proxying-bitcoin-core) + + +

diff --git a/documentation/dev-portal/src/images/profile_picture/minibolt_pp.png b/documentation/dev-portal/src/images/profile_picture/minibolt_pp.png new file mode 100644 index 0000000000000000000000000000000000000000..ed059e6055840dcd148f5760efc06b2eb5e331d9 GIT binary patch literal 13877 zcmV-5HpL{T8P z03<-{jo#49+uys(IcNU3_jNx24UhyHASv+_y889&#(npm@A>VUu-5Wpv-tYm={k2si~io&o;&+W=pG>U;=z7_;<7e;eS}xT+bTk6Z_~d%f174CpUpGW>0TFGH=L z%7CrBMfHMu2K4X0S*ZHW0Ps%WH-KN|$7_8id#*PWX!!=S;zxm#KZf9vJ=4kT8LK~O z06&tQ?7zp4|N48`vp({Zz@iUi^64&qGS{I@&v^F7k%E5%IQSC`F4?mm%=Y5PhJt_6 zsrC(}=Ic$tpCa}8ybbQg)ckn1M{h}h9|eBzEo{@?h*in<=+U
  • {J-bRK*gzt^>% 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 DYWw7D literal 0 HcmV?d00001 diff --git a/documentation/dev-portal/theme/css/general.css b/documentation/dev-portal/theme/css/general.css index a06db43965..84dbfa3371 100644 --- a/documentation/dev-portal/theme/css/general.css +++ b/documentation/dev-portal/theme/css/general.css @@ -62,7 +62,8 @@ h3:target::before, h4:target::before, h5:target::before, h6:target::before { - display: inline-block; + /* display "none" in order to avoid default artifacts on the community-applications-and-guides page */ + display: none; content: "»"; margin-left: -30px; width: 30px; From 4631c72c6b093c45dcf9b6e0c18e93b67194bba0 Mon Sep 17 00:00:00 2001 From: Lorexia Date: Thu, 13 Jul 2023 10:36:27 +0200 Subject: [PATCH 08/15] Update quickstart overview, delete project comments in community-applications-and-guides --- .../community-applications-and-guides.md | 31 ++++++------------- .../dev-portal/src/quickstart/overview.md | 4 ++- 2 files changed, 13 insertions(+), 22 deletions(-) diff --git a/documentation/dev-portal/src/community-resources/community-applications-and-guides.md b/documentation/dev-portal/src/community-resources/community-applications-and-guides.md index 78e0916d4f..ba00922658 100644 --- a/documentation/dev-portal/src/community-resources/community-applications-and-guides.md +++ b/documentation/dev-portal/src/community-resources/community-applications-and-guides.md @@ -2,7 +2,7 @@ We love seeing our developer community create applications using Nym. If you would like to share your application with the community, please submit a pull request to the `main` branch of the `nymtech/dev-portal` [repository](https://github.com/nymtech/dev-portal). - + ## Pastenym @@ -11,9 +11,8 @@ We love seeing our developer community create applications using Nym. If you wou * [Github](https://github.com/notrustverify/pastenym) * [Deployed App](https://pastenym.ch) - - + ## Nostr-Nym @@ -23,19 +22,16 @@ We love seeing our developer community create applications using Nym. If you wou * [Deployed App](https://nostrnym.pnproxy.org/) * [Documentation](https://blog.notrustverify.ch/nostr-relay-on-nym) - - ## Spook > Ethereum RPC request mixer uses the Nym network mixing service to anonymize RPC requests to the Ethereum network without revealing sensitive data and metadata. * [Github](https://github.com/EdenBlockVC/spook) - - + ## Ethereum Transaction Broadcaster @@ -43,9 +39,8 @@ We love seeing our developer community create applications using Nym. If you wou * [Github](https://github.com/noot/nym-ethtx) - - + ## NymDrive @@ -54,28 +49,24 @@ We love seeing our developer community create applications using Nym. If you wou * [Demo](https://www.youtube.com/watch?v=5Rx73nw8NYI) * [Presentation](https://docs.google.com/presentation/d/1MpvIK32Mx9VKLVfMTcvbeyrsKHHUsTvDQ-3n31dR0NE/edit#slide=id.p) - - + ## Nym Dashboard > Developed by No Trust Verify, this dashboard is a great tool to get information about the mixnet, gateways and mixnodes. * [Deployed App](https://status.notrustverify.ch/d/CW3L7dVVk/nym-mixnet?orgId=1) - - - + ## Is Nym Up > Explore whether we're up through IsNymUp, a tool that helps check the heath of the Nym network as well as some mixnet related statistics! * [Deployed App](https://isnymup.com/) - - + ## DarkFi over Nym @@ -83,18 +74,16 @@ We love seeing our developer community create applications using Nym. If you wou * [Github](https://github.com/darkrenaissance/darkfi) * [Documentation](https://darkrenaissance.github.io/darkfi/clients/nym_outbound.html) - - + ## Nymstr email > Experience secure and private email communication with ease using Nymstr email, which enables seamless transmission of emails over a SOCKS5 proxy and our NYM mixnet! * [Github](https://github.com/dial0ut/nymstr-email) - - + ## Minibolt @@ -102,7 +91,6 @@ We love seeing our developer community create applications using Nym. If you wou * [Github](https://github.com/minibolt-guide/minibolt) * [Documentation](https://v2.minibolt.info/bonus-guides/system/nym-mixnet#proxying-bitcoin-core) -

    @@ -118,6 +106,7 @@ We aren't the only ones writing documentation: the Nym developer community is al * [Awesome Nym list](https://notrustverify.github.io/awesome-nym/) ([GitHub](https://github.com/notrustverify/awesome-nym)) * A lot of guides can be found on the [NTV Blog](https://blog.notrustverify.ch/) + ## The Way of the NYMJA by Pineapple Proxy🍍 diff --git a/documentation/dev-portal/src/quickstart/overview.md b/documentation/dev-portal/src/quickstart/overview.md index 50a6d4187b..b2ac4199c9 100644 --- a/documentation/dev-portal/src/quickstart/overview.md +++ b/documentation/dev-portal/src/quickstart/overview.md @@ -2,9 +2,11 @@ There are multiple options to quickly connect to Nym and see the network in action without the need for any code changes to your application. At most, these involve running Nym as a second process alongside an existing application in order to send traffic through the mixnet. -Demo application: +Demo applications: * a browser-based 'hello world' [chat application](https://chat-demo.nymtech.net). Either open in two browser windows and send messages to yourself, or share with a friend and send messages to each other through the mixnet! * a Coconut-scheme based [Credential Library](https://coco-demo.nymtech.net/). This is a WASM implementation of our Coconut libraries which generate raw Coconut credentials. Test it to create and re-randomize your own credentials! +
    +Proxy traffic with the Nym Socks5 client: * set up a plug-and-play connection with the [NymConnect](./nymconnect-gui.md) GUI for proxying Telegram, Electrum, Keybase or Blockstream Green traffic through the mixnet (~2 minutes). * [Download and run](./socks-proxy.md) the Nym Socks5 client via the CLI, for other desktop applications with SOCKS5 connection options (~30 minutes). From 110b4d384e412bfc32b848214cfb33564560e162 Mon Sep 17 00:00:00 2001 From: wigy <1888808+wigy-opensource-developer@users.noreply.github.com> Date: Mon, 17 Jul 2023 11:29:28 +0200 Subject: [PATCH 09/15] fix: typo in Rust SDK docs (#3655) --- documentation/docs/src/sdk/rust.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/docs/src/sdk/rust.md b/documentation/docs/src/sdk/rust.md index ba1c079725..9e60d40efd 100644 --- a/documentation/docs/src/sdk/rust.md +++ b/documentation/docs/src/sdk/rust.md @@ -102,4 +102,4 @@ The following code shows how you can use the SDK to create and use a [credential {{#include ../../../../sdk/rust/nym-sdk/examples/bandwidth.rs}} ``` -You can read more about Coconut credentials (also referred to as `zk-Nym`) [here](../cococnut.md). +You can read more about Coconut credentials (also referred to as `zk-Nym`) [here](../coconut.md). From d7b53cba40d2dd7a8b68f8741c958a817cbb3ea7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C4=99drzej=20Stuczy=C5=84ski?= Date: Mon, 17 Jul 2023 10:19:53 +0100 Subject: [PATCH 10/15] don't send funds for pledge decrease simulation --- nym-wallet/src-tauri/src/operations/simulate/mixnet.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nym-wallet/src-tauri/src/operations/simulate/mixnet.rs b/nym-wallet/src-tauri/src/operations/simulate/mixnet.rs index 0f12ff80c4..19bfe80970 100644 --- a/nym-wallet/src-tauri/src/operations/simulate/mixnet.rs +++ b/nym-wallet/src-tauri/src/operations/simulate/mixnet.rs @@ -128,7 +128,7 @@ pub async fn simulate_update_pledge( .attempt_convert_to_base_coin(dec_delta.clone())? .into(), }, - Some(dec_delta), + None, &state, ) .await From f8943eebceba1561867df4257a9882f76e4aa9cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C4=99drzej=20Stuczy=C5=84ski?= Date: Mon, 17 Jul 2023 10:26:32 +0100 Subject: [PATCH 11/15] preemptively resolving future clippy issue --- nym-wallet/src-tauri/src/operations/simulate/mixnet.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/nym-wallet/src-tauri/src/operations/simulate/mixnet.rs b/nym-wallet/src-tauri/src/operations/simulate/mixnet.rs index 19bfe80970..332f0eeb43 100644 --- a/nym-wallet/src-tauri/src/operations/simulate/mixnet.rs +++ b/nym-wallet/src-tauri/src/operations/simulate/mixnet.rs @@ -124,9 +124,7 @@ pub async fn simulate_update_pledge( ); simulate_mixnet_operation( ExecuteMsg::DecreasePledge { - decrease_by: guard - .attempt_convert_to_base_coin(dec_delta.clone())? - .into(), + decrease_by: guard.attempt_convert_to_base_coin(dec_delta)?.into(), }, None, &state, From 9a51135d224e13aeafd196966d6c4cfbd83fee66 Mon Sep 17 00:00:00 2001 From: farbanas Date: Tue, 18 Jul 2023 10:43:27 +0200 Subject: [PATCH 12/15] debugging --- .github/workflows/nym-wallet-publish-ubuntu.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.github/workflows/nym-wallet-publish-ubuntu.yml b/.github/workflows/nym-wallet-publish-ubuntu.yml index 5cfe79df98..80607a2358 100644 --- a/.github/workflows/nym-wallet-publish-ubuntu.yml +++ b/.github/workflows/nym-wallet-publish-ubuntu.yml @@ -61,6 +61,13 @@ jobs: TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }} + - name: Upload Artifact + uses: actions/upload-artifact@v3 + with: + name: nym-wallet_1.0.0_amd64.AppImage.tar.gz + path: nym-wallet/target/release/bundle/appimage/nym-wallet*.AppImage.tar.gz + retention-days: 30 + - id: create-release name: Upload to release based on tag name uses: softprops/action-gh-release@v1 @@ -70,6 +77,15 @@ jobs: nym-wallet/target/release/bundle/appimage/*.AppImage nym-wallet/target/release/bundle/appimage/*.AppImage.tar.gz* + - name: Debug + run: | + semver="${${{ github.ref_name }}##nym-wallet-}" && semver="${semver##v}" + echo "${{ github.ref_name }}" + echo "${${{ github.ref_name }}##nym-wallet-}" + echo "version=$semver" + echo "filename=nym-wallet_$version_amd64.AppImage" + echo "file_hash=${{ hashFiles('nym-wallet/target/release/bundle/appimage/nym-wallet_*_amd64.AppImage') }}" + - id: release-info name: Prepare release info run: | From 1fafc126fbae6a06dcd74d2affdffc15299553a9 Mon Sep 17 00:00:00 2001 From: farbanas Date: Tue, 18 Jul 2023 11:06:45 +0200 Subject: [PATCH 13/15] debugging --- .github/workflows/nym-wallet-publish-ubuntu.yml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/nym-wallet-publish-ubuntu.yml b/.github/workflows/nym-wallet-publish-ubuntu.yml index 80607a2358..1dd673130c 100644 --- a/.github/workflows/nym-wallet-publish-ubuntu.yml +++ b/.github/workflows/nym-wallet-publish-ubuntu.yml @@ -79,12 +79,14 @@ jobs: - name: Debug run: | - semver="${${{ github.ref_name }}##nym-wallet-}" && semver="${semver##v}" - echo "${{ github.ref_name }}" - echo "${${{ github.ref_name }}##nym-wallet-}" - echo "version=$semver" - echo "filename=nym-wallet_$version_amd64.AppImage" - echo "file_hash=${{ hashFiles('nym-wallet/target/release/bundle/appimage/nym-wallet_*_amd64.AppImage') }}" + ref=${{ github.ref_name }} + semver="${ref##nym-wallet-}" && semver="${semver##v}" + echo "$ref" + echo "${ref##nym-wallet-}" + echo "${semver}" + version="${semver}" + echo "nym-wallet_${version}_amd64.AppImage" + echo "${{ hashFiles('nym-wallet/target/release/bundle/appimage/nym-wallet_*_amd64.AppImage') }}" - id: release-info name: Prepare release info From 407d2800196f52af2f2992b7b136fbc27c690b99 Mon Sep 17 00:00:00 2001 From: farbanas Date: Tue, 18 Jul 2023 11:23:15 +0200 Subject: [PATCH 14/15] fixes to GH action --- .github/workflows/nym-wallet-publish-macos.yml | 8 +++++--- .../workflows/nym-wallet-publish-ubuntu.yml | 18 ++++-------------- .../workflows/nym-wallet-publish-windows10.yml | 8 +++++--- 3 files changed, 14 insertions(+), 20 deletions(-) diff --git a/.github/workflows/nym-wallet-publish-macos.yml b/.github/workflows/nym-wallet-publish-macos.yml index c21e99493d..5a87e38d1c 100644 --- a/.github/workflows/nym-wallet-publish-macos.yml +++ b/.github/workflows/nym-wallet-publish-macos.yml @@ -99,12 +99,14 @@ jobs: files: | nym-wallet/target/release/bundle/dmg/*.dmg nym-wallet/target/release/bundle/macos/*.app.tar.gz* + - id: release-info name: Prepare release info run: | - semver="${${{ github.ref_name }}##nym-wallet-}" && semver="${semver##v}" - echo "version=$semver" >> "$GITHUB_OUTPUT" - echo "filename=nym-wallet_$version_x64.dmg" >> "$GITHUB_OUTPUT" + ref=${{ github.ref_name }} + semver="${ref##nym-wallet-}" && semver="${semver##v}" + echo "version=${semver}" >> "$GITHUB_OUTPUT" + echo "filename=nym-wallet_${version}_x64.dmg" >> "$GITHUB_OUTPUT" echo "file_hash=${{ hashFiles('nym-wallet/target/release/bundle/dmg/nym-wallet_*_x64.dmg') }}" >> "$GITHUB_OUTPUT" push-release-data: diff --git a/.github/workflows/nym-wallet-publish-ubuntu.yml b/.github/workflows/nym-wallet-publish-ubuntu.yml index 1dd673130c..027908e2f6 100644 --- a/.github/workflows/nym-wallet-publish-ubuntu.yml +++ b/.github/workflows/nym-wallet-publish-ubuntu.yml @@ -77,23 +77,13 @@ jobs: nym-wallet/target/release/bundle/appimage/*.AppImage nym-wallet/target/release/bundle/appimage/*.AppImage.tar.gz* - - name: Debug - run: | - ref=${{ github.ref_name }} - semver="${ref##nym-wallet-}" && semver="${semver##v}" - echo "$ref" - echo "${ref##nym-wallet-}" - echo "${semver}" - version="${semver}" - echo "nym-wallet_${version}_amd64.AppImage" - echo "${{ hashFiles('nym-wallet/target/release/bundle/appimage/nym-wallet_*_amd64.AppImage') }}" - - id: release-info name: Prepare release info run: | - semver="${${{ github.ref_name }}##nym-wallet-}" && semver="${semver##v}" - echo "version=$semver" >> "$GITHUB_OUTPUT" - echo "filename=nym-wallet_$version_amd64.AppImage" >> "$GITHUB_OUTPUT" + ref=${{ github.ref_name }} + semver="${ref##nym-wallet-}" && semver="${semver##v}" + echo "version=${semver}" >> "$GITHUB_OUTPUT" + echo "filename=nym-wallet_${version}_amd64.AppImage" >> "$GITHUB_OUTPUT" echo "file_hash=${{ hashFiles('nym-wallet/target/release/bundle/appimage/nym-wallet_*_amd64.AppImage') }}" >> "$GITHUB_OUTPUT" push-release-data: diff --git a/.github/workflows/nym-wallet-publish-windows10.yml b/.github/workflows/nym-wallet-publish-windows10.yml index 4ce6f38173..974de92435 100644 --- a/.github/workflows/nym-wallet-publish-windows10.yml +++ b/.github/workflows/nym-wallet-publish-windows10.yml @@ -96,12 +96,14 @@ jobs: files: | nym-wallet/target/release/bundle/msi/*.msi nym-wallet/target/release/bundle/msi/*.msi.zip* + - id: release-info name: Prepare release info run: | - semver="${${{ github.ref_name }}##nym-wallet-}" && semver="${semver##v}" - echo "version=$semver" >> "$GITHUB_OUTPUT" - echo "filename=nym-wallet_$version_x64_en-US.msi" >> "$GITHUB_OUTPUT" + ref=${{ github.ref_name }} + semver="${ref##nym-wallet-}" && semver="${semver##v}" + echo "version=${semver}" >> "$GITHUB_OUTPUT" + echo "filename=nym-wallet_${version}_x64_en-US.msi" >> "$GITHUB_OUTPUT" echo "file_hash=${{ hashFiles('nym-wallet/target/release/bundle/msi/nym-wallet_*_x64_en-US.msi') }}" >> "$GITHUB_OUTPUT" push-release-data: From 63254ecffe91cbf581ecc27e323532675696343a Mon Sep 17 00:00:00 2001 From: farbanas Date: Tue, 18 Jul 2023 13:43:30 +0200 Subject: [PATCH 15/15] update versions and changelogs for the release --- nym-wallet/CHANGELOG.md | 6 ++++++ nym-wallet/package.json | 4 ++-- nym-wallet/src-tauri/Cargo.toml | 2 +- nym-wallet/src-tauri/tauri.conf.json | 16 ++++++++++++---- 4 files changed, 21 insertions(+), 7 deletions(-) diff --git a/nym-wallet/CHANGELOG.md b/nym-wallet/CHANGELOG.md index 82a2dd9da7..f0d62aec2d 100644 --- a/nym-wallet/CHANGELOG.md +++ b/nym-wallet/CHANGELOG.md @@ -2,6 +2,12 @@ ## [Unreleased] +## [v1.2.6] (2023-07-18) + +- [wallet] bugfix: don't send funds for pledge decrease simulation ([#3676]) + +[#3676]: https://github.com/nymtech/nym/pull/3676 + ## [v1.2.5] (2023-07-04) - Wallet - add "Test my node" in the Node Settings and show its results ([#2314]) diff --git a/nym-wallet/package.json b/nym-wallet/package.json index f14d6dd227..e93b887fcf 100644 --- a/nym-wallet/package.json +++ b/nym-wallet/package.json @@ -1,6 +1,6 @@ { "name": "@nymproject/nym-wallet-app", - "version": "1.2.5", + "version": "1.2.6", "main": "index.js", "license": "MIT", "scripts": { @@ -123,4 +123,4 @@ "webpack-favicons": "^1.3.8", "webpack-merge": "^5.8.0" } -} +} \ No newline at end of file diff --git a/nym-wallet/src-tauri/Cargo.toml b/nym-wallet/src-tauri/Cargo.toml index 06757de614..a04ffabe0d 100644 --- a/nym-wallet/src-tauri/Cargo.toml +++ b/nym-wallet/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "nym_wallet" -version = "1.2.5" +version = "1.2.6" description = "Nym Native Wallet" authors = ["Nym Technologies SA"] license = "" diff --git a/nym-wallet/src-tauri/tauri.conf.json b/nym-wallet/src-tauri/tauri.conf.json index 45ba45f846..2986866ccb 100644 --- a/nym-wallet/src-tauri/tauri.conf.json +++ b/nym-wallet/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "package": { "productName": "nym-wallet", - "version": "1.2.5" + "version": "1.2.6" }, "build": { "distDir": "../dist", @@ -14,7 +14,13 @@ "active": true, "targets": "all", "identifier": "net.nymtech.wallet", - "icon": ["icons/32x32.png", "icons/128x128.png", "icons/128x128@2x.png", "icons/icon.icns", "icons/icon.ico"], + "icon": [ + "icons/32x32.png", + "icons/128x128.png", + "icons/128x128@2x.png", + "icons/icon.icns", + "icons/icon.ico" + ], "resources": [], "externalBin": [], "copyright": "Copyright © 2021-2023 Nym Technologies SA", @@ -39,7 +45,9 @@ }, "updater": { "active": true, - "endpoints": ["https://nymtech.net/.wellknown/wallet/updater.json"], + "endpoints": [ + "https://nymtech.net/.wellknown/wallet/updater.json" + ], "dialog": true, "pubkey": "dW50cnVzdGVkIGNvbW1lbnQ6IG1pbmlzaWduIHB1YmxpYyBrZXk6IENCNzQ2M0E5N0VFODE2NApSV1JrZ2U2WE9rYTNETTg1OTBKdE5uWUEra0hML2syOVUvQ2lxZmFZRzZ1T3NWbGM0eVRzUTVhVwo=" }, @@ -67,4 +75,4 @@ "csp": "default-src blob: data: filesystem: ws: wss: http: https: tauri: 'unsafe-eval' 'unsafe-inline' 'self' img-src: 'self'" } } -} +} \ No newline at end of file