diff --git a/documentation/docs/pages/developers/rust.md b/documentation/docs/pages/developers/rust.md deleted file mode 100644 index e396395bfa..0000000000 --- a/documentation/docs/pages/developers/rust.md +++ /dev/null @@ -1,4 +0,0 @@ -# Introduction -The Rust SDK allows developers building applications in Rust to import and interact with Nym clients as they would any other dependency, instead of running the client as a separate process on their machine. - -Check the [development status](./rust/development-status) page to see the various modules that make up the SDK, and the [FFI](./rust/ffi) page for Go/C++ developers. diff --git a/documentation/docs/pages/developers/rust.mdx b/documentation/docs/pages/developers/rust.mdx new file mode 100644 index 0000000000..db5aa11b61 --- /dev/null +++ b/documentation/docs/pages/developers/rust.mdx @@ -0,0 +1,16 @@ +# Introduction + + +import { Callout } from 'nextra/components'; + + + There will be a breaking SDK upgrade in the coming months. This upgrade will make the SDK a lot easier to build with. + +This upgrade will affect the interface of the SDK dramatically, and will be coupled with a protocol change - stay tuned for information on early access to the new protocol testnet. + +It will also be coupled with the documentation of the SDK on [crates.io](https://crates.io/). + + +The Rust SDK allows developers building applications in Rust to import and interact with Nym clients as they would any other dependency, instead of running the client as a separate process on their machine. + +Check the [development status](./rust/development-status) page to see the various modules that make up the SDK, and the [FFI](./rust/ffi) page for Go/C++ developers. diff --git a/documentation/docs/pages/developers/rust/_meta.json b/documentation/docs/pages/developers/rust/_meta.json index d193319720..dda7e68e20 100644 --- a/documentation/docs/pages/developers/rust/_meta.json +++ b/documentation/docs/pages/developers/rust/_meta.json @@ -4,6 +4,5 @@ "mixnet": "Mixnet Module", "tcpproxy": "TcpProxy Module", "client-pool": "Client Pool", - "ffi": "FFI", - "tutorials": "Tutorials (Coming Soon)" + "ffi": "FFI" } diff --git a/documentation/docs/pages/developers/rust/client-pool.mdx b/documentation/docs/pages/developers/rust/client-pool.mdx index 584b642f71..6c444ad9e8 100644 --- a/documentation/docs/pages/developers/rust/client-pool.mdx +++ b/documentation/docs/pages/developers/rust/client-pool.mdx @@ -1,5 +1,16 @@ # Client Pool +import { Callout } from 'nextra/components'; + + + There will be a breaking SDK upgrade in the coming months. This upgrade will make the SDK a lot easier to build with. + +This upgrade will affect the interface of the SDK dramatically, and will be coupled with a protocol change - stay tuned for information on early access to the new protocol testnet. + + +It will also be coupled with the documentation of the SDK on [crates.io](https://crates.io/). + + We have a configurable-size Client Pool for processes that require multiple clients in quick succession (this is used by default by the [`TcpProxyClient`](./tcpproxy) for instance) This will be useful for developers looking to build connection logic, or just are using raw SDK clients in a sitatuation where there are multiple connections with a lot of churn. diff --git a/documentation/docs/pages/developers/rust/client-pool/architecture.mdx b/documentation/docs/pages/developers/rust/client-pool/architecture.mdx index 4159796c1e..415ad51ce1 100644 --- a/documentation/docs/pages/developers/rust/client-pool/architecture.mdx +++ b/documentation/docs/pages/developers/rust/client-pool/architecture.mdx @@ -1,5 +1,17 @@ # Client Pool Architecture + +import { Callout } from 'nextra/components'; + + + There will be a breaking SDK upgrade in the coming months. This upgrade will make the SDK a lot easier to build with. + +This upgrade will affect the interface of the SDK dramatically, and will be coupled with a protocol change - stay tuned for information on early access to the new protocol testnet. + +It will also be coupled with the documentation of the SDK on [crates.io](https://crates.io/). + + + ## Motivations In situations where multiple connections are expected, and the number of connections can vary greatly, the Client Pool reduces time spent waiting for the creation of a Mixnet Client blocking your code sending traffic through the Mixnet. Instead, a configurable number of Clients can be generated and run in the background which can be very quickly grabbed, used, and disconnected. diff --git a/documentation/docs/pages/developers/rust/client-pool/example.md b/documentation/docs/pages/developers/rust/client-pool/example.mdx similarity index 88% rename from documentation/docs/pages/developers/rust/client-pool/example.md rename to documentation/docs/pages/developers/rust/client-pool/example.mdx index 1125865895..90c2e5f331 100644 --- a/documentation/docs/pages/developers/rust/client-pool/example.md +++ b/documentation/docs/pages/developers/rust/client-pool/example.mdx @@ -1,5 +1,15 @@ # Client Pool Example +import { Callout } from 'nextra/components'; + + + There will be a breaking SDK upgrade in the coming months. This upgrade will make the SDK a lot easier to build with. + +This upgrade will affect the interface of the SDK dramatically, and will be coupled with a protocol change - stay tuned for information on early access to the new protocol testnet. + +It will also be coupled with the documentation of the SDK on [crates.io](https://crates.io/). + + > You can find this code [here](https://github.com/nymtech/nym/blob/develop/sdk/rust/nym-sdk/examples/client_pool.rs) ```rust diff --git a/documentation/docs/pages/developers/rust/development-status.md b/documentation/docs/pages/developers/rust/development-status.mdx similarity index 75% rename from documentation/docs/pages/developers/rust/development-status.md rename to documentation/docs/pages/developers/rust/development-status.mdx index cde8d04d72..bc19997015 100644 --- a/documentation/docs/pages/developers/rust/development-status.md +++ b/documentation/docs/pages/developers/rust/development-status.mdx @@ -1,4 +1,16 @@ # Development status + + +import { Callout } from 'nextra/components'; + + + There will be a breaking SDK upgrade in the coming months. This upgrade will make the SDK a lot easier to build with. + +This upgrade will affect the interface of the SDK dramatically, and will be coupled with a protocol change - stay tuned for information on early access to the new protocol testnet. + +It will also be coupled with the documentation of the SDK on [crates.io](https://crates.io/). + + The SDK is still somewhat a work in progress: interfaces are fairly stable but still may change in subsequent releases. In the future the SDK will be made up of several modules, each of which will allow developers to interact with different parts of Nym infrastructure. diff --git a/documentation/docs/pages/developers/rust/ffi.mdx b/documentation/docs/pages/developers/rust/ffi.mdx index 848ca1755e..69ccfe3b75 100644 --- a/documentation/docs/pages/developers/rust/ffi.mdx +++ b/documentation/docs/pages/developers/rust/ffi.mdx @@ -1,7 +1,14 @@ -import { Callout } from 'nextra/components' # FFI Bindings +import { Callout } from 'nextra/components'; + + There will be a breaking SDK upgrade in the coming months. This upgrade will make the SDK a lot easier to build with. + +This upgrade will affect the interface of the SDK dramatically, and will be coupled with a protocol change - stay tuned for information on early access to the new protocol testnet. + +It will also be coupled with the documentation of the SDK on [crates.io](https://crates.io/). + We are working on the intitial versions of the FFI code to allow developers to experiment and get feedback. Please get in touch if you think the FFI bindings are lacking certain functionality. diff --git a/documentation/docs/pages/developers/rust/importing.md b/documentation/docs/pages/developers/rust/importing.mdx similarity index 62% rename from documentation/docs/pages/developers/rust/importing.md rename to documentation/docs/pages/developers/rust/importing.mdx index 7a4c9cf918..fb487d9048 100644 --- a/documentation/docs/pages/developers/rust/importing.md +++ b/documentation/docs/pages/developers/rust/importing.mdx @@ -1,4 +1,14 @@ # Installation +import { Callout } from 'nextra/components'; + + + There will be a breaking SDK upgrade in the coming months. This upgrade will make the SDK a lot easier to build with. + +This upgrade will affect the interface of the SDK dramatically, and will be coupled with a protocol change - stay tuned for information on early access to the new protocol testnet. + +It will also be coupled with the documentation of the SDK on [crates.io](https://crates.io/). + + The `nym-sdk` crate is **not yet available via [crates.io](https://crates.io)**. As such, in order to import the crate you must specify the Nym monorepo in your `Cargo.toml` file. Since the `HEAD` of `master` is always the most recent release, we recommend developers use that for their imports, unless they have a reason to pull in a specific historic version of the code. ```toml diff --git a/documentation/docs/pages/developers/rust/mixnet.mdx b/documentation/docs/pages/developers/rust/mixnet.mdx index a6e6621413..c6173329f1 100644 --- a/documentation/docs/pages/developers/rust/mixnet.mdx +++ b/documentation/docs/pages/developers/rust/mixnet.mdx @@ -1,4 +1,13 @@ # Mixnet Module +import { Callout } from 'nextra/components'; + + + There will be a breaking SDK upgrade in the coming months. This upgrade will make the SDK a lot easier to build with. + +This upgrade will affect the interface of the SDK dramatically, and will be coupled with a protocol change - stay tuned for information on early access to the new protocol testnet. + +It will also be coupled with the documentation of the SDK on [crates.io](https://crates.io/). + This module exposes the logic of creating and interacting with clients and Mixnet messages. This is recommended for those wanting to either start playing around with the Mixnet and how it works, or build connection logic. diff --git a/documentation/docs/pages/developers/rust/mixnet/examples.md b/documentation/docs/pages/developers/rust/mixnet/examples.mdx similarity index 51% rename from documentation/docs/pages/developers/rust/mixnet/examples.md rename to documentation/docs/pages/developers/rust/mixnet/examples.mdx index 9bac32f1b1..5e21e1883a 100644 --- a/documentation/docs/pages/developers/rust/mixnet/examples.md +++ b/documentation/docs/pages/developers/rust/mixnet/examples.mdx @@ -1,5 +1,15 @@ # Examples +import { Callout } from 'nextra/components'; + + + There will be a breaking SDK upgrade in the coming months. This upgrade will make the SDK a lot easier to build with. + +This upgrade will affect the interface of the SDK dramatically, and will be coupled with a protocol change - stay tuned for information on early access to the new protocol testnet. + +It will also be coupled with the documentation of the SDK on [crates.io](https://crates.io/). + + All the following examples can be found in the `nym-sdk` [examples directory](https://github.com/nymtech/nym/tree/master/sdk/rust/nym-sdk/examples) in the monorepo. Just navigate to `nym/sdk/rust/nym-sdk/examples/` and run the files from there with: ```sh diff --git a/documentation/docs/pages/developers/rust/mixnet/examples/builders.md b/documentation/docs/pages/developers/rust/mixnet/examples/builders.md deleted file mode 100644 index ff837d33f1..0000000000 --- a/documentation/docs/pages/developers/rust/mixnet/examples/builders.md +++ /dev/null @@ -1,3 +0,0 @@ -# Builder Patterns - -Since there are two ways of creating an SDK client - ephemeral and with-storage - then there are two ways of applying the Builder Pattern to client creation. diff --git a/documentation/docs/pages/developers/rust/mixnet/examples/builders.mdx b/documentation/docs/pages/developers/rust/mixnet/examples/builders.mdx new file mode 100644 index 0000000000..fed758990b --- /dev/null +++ b/documentation/docs/pages/developers/rust/mixnet/examples/builders.mdx @@ -0,0 +1,11 @@ +# Builder Patterns +import { Callout } from 'nextra/components'; + + + There will be a breaking SDK upgrade in the coming months. This upgrade will make the SDK a lot easier to build with. + +This upgrade will affect the interface of the SDK dramatically, and will be coupled with a protocol change - stay tuned for information on early access to the new protocol testnet. + +It will also be coupled with the documentation of the SDK on [crates.io](https://crates.io/). + +Since there are two ways of creating an SDK client - ephemeral and with-storage - then there are two ways of applying the Builder Pattern to client creation. diff --git a/documentation/docs/pages/developers/rust/mixnet/examples/builders/builder-with-storage.md b/documentation/docs/pages/developers/rust/mixnet/examples/builders/builder-with-storage.mdx similarity index 83% rename from documentation/docs/pages/developers/rust/mixnet/examples/builders/builder-with-storage.md rename to documentation/docs/pages/developers/rust/mixnet/examples/builders/builder-with-storage.mdx index 88ecf42085..0d86bea5dc 100644 --- a/documentation/docs/pages/developers/rust/mixnet/examples/builders/builder-with-storage.md +++ b/documentation/docs/pages/developers/rust/mixnet/examples/builders/builder-with-storage.mdx @@ -1,5 +1,13 @@ # Mixnet Client Builder with Storage +import { Callout } from 'nextra/components'; + + There will be a breaking SDK upgrade in the coming months. This upgrade will make the SDK a lot easier to build with. + +This upgrade will affect the interface of the SDK dramatically, and will be coupled with a protocol change - stay tuned for information on early access to the new protocol testnet. + +It will also be coupled with the documentation of the SDK on [crates.io](https://crates.io/). + The previous example involves ephemeral keys - if we want to create and then maintain a client identity over time, our code becomes a little more complex as we need to create, store, and conditionally load these keys. > You can find this code [here](https://github.com/nymtech/nym/blob/master/sdk/rust/nym-sdk/examples/builder_with_storage.rs). diff --git a/documentation/docs/pages/developers/rust/mixnet/examples/builders/builder.md b/documentation/docs/pages/developers/rust/mixnet/examples/builders/builder.mdx similarity index 76% rename from documentation/docs/pages/developers/rust/mixnet/examples/builders/builder.md rename to documentation/docs/pages/developers/rust/mixnet/examples/builders/builder.mdx index 1dc8da6701..d94dfae86a 100644 --- a/documentation/docs/pages/developers/rust/mixnet/examples/builders/builder.md +++ b/documentation/docs/pages/developers/rust/mixnet/examples/builders/builder.mdx @@ -1,5 +1,13 @@ # Mixnet Client Builder +import { Callout } from 'nextra/components'; + + There will be a breaking SDK upgrade in the coming months. This upgrade will make the SDK a lot easier to build with. + +This upgrade will affect the interface of the SDK dramatically, and will be coupled with a protocol change - stay tuned for information on early access to the new protocol testnet. + +It will also be coupled with the documentation of the SDK on [crates.io](https://crates.io/). + You can spin up an ephemeral client like so. This client will not have a persistent identity and its keys will be dropped on restart. Since there is currently no way of reconnecting a client that has been disconnected after use, then treat disconnecting a client the same as dropping its keys entirely. > You can find this code [here](https://github.com/nymtech/nym/blob/master/sdk/rust/nym-sdk/examples/builder.rs). diff --git a/documentation/docs/pages/developers/rust/mixnet/examples/custom-topology.mdx b/documentation/docs/pages/developers/rust/mixnet/examples/custom-topology.mdx index 1985900b06..e26b346976 100644 --- a/documentation/docs/pages/developers/rust/mixnet/examples/custom-topology.mdx +++ b/documentation/docs/pages/developers/rust/mixnet/examples/custom-topology.mdx @@ -2,6 +2,14 @@ import { Callout } from 'nextra/components' + + There will be a breaking SDK upgrade in the coming months. This upgrade will make the SDK a lot easier to build with. + +This upgrade will affect the interface of the SDK dramatically, and will be coupled with a protocol change - stay tuned for information on early access to the new protocol testnet. + +It will also be coupled with the documentation of the SDK on [crates.io](https://crates.io/). + + These examples are **not** the same as using a configurable network: these functions define a subset of nodes to use on a given network, whereas the [testnet](./testnet) example is an example of switching to use a different network entirely. The two can be combined, but if you are looking for how to connect your client to a testnet, see the `testnet` file. diff --git a/documentation/docs/pages/developers/rust/mixnet/examples/custom-topology/custom-provider.md b/documentation/docs/pages/developers/rust/mixnet/examples/custom-topology/custom-provider.mdx similarity index 86% rename from documentation/docs/pages/developers/rust/mixnet/examples/custom-topology/custom-provider.md rename to documentation/docs/pages/developers/rust/mixnet/examples/custom-topology/custom-provider.mdx index 40b4a87f91..3f833616be 100644 --- a/documentation/docs/pages/developers/rust/mixnet/examples/custom-topology/custom-provider.md +++ b/documentation/docs/pages/developers/rust/mixnet/examples/custom-topology/custom-provider.mdx @@ -1,5 +1,13 @@ # Custom Topology Provider +import { Callout } from 'nextra/components'; + + There will be a breaking SDK upgrade in the coming months. This upgrade will make the SDK a lot easier to build with. + +This upgrade will affect the interface of the SDK dramatically, and will be coupled with a protocol change - stay tuned for information on early access to the new protocol testnet. + +It will also be coupled with the documentation of the SDK on [crates.io](https://crates.io/). + If you are also running a Validator and Nym API for your network, you can specify that endpoint as such and interact with it as clients usually do (under the hood). > You can find this code [here](https://github.com/nymtech/nym/blob/master/sdk/rust/nym-sdk/examples/custom_topology_provider.rs) diff --git a/documentation/docs/pages/developers/rust/mixnet/examples/custom-topology/manually-overwrite-topology.md b/documentation/docs/pages/developers/rust/mixnet/examples/custom-topology/manually-overwrite-topology.mdx similarity index 88% rename from documentation/docs/pages/developers/rust/mixnet/examples/custom-topology/manually-overwrite-topology.md rename to documentation/docs/pages/developers/rust/mixnet/examples/custom-topology/manually-overwrite-topology.mdx index dd150ad35b..e3c6d1fec2 100644 --- a/documentation/docs/pages/developers/rust/mixnet/examples/custom-topology/manually-overwrite-topology.md +++ b/documentation/docs/pages/developers/rust/mixnet/examples/custom-topology/manually-overwrite-topology.mdx @@ -1,5 +1,13 @@ # Manually Overwrite Topology +import { Callout } from 'nextra/components'; + + There will be a breaking SDK upgrade in the coming months. This upgrade will make the SDK a lot easier to build with. + +This upgrade will affect the interface of the SDK dramatically, and will be coupled with a protocol change - stay tuned for information on early access to the new protocol testnet. + +It will also be coupled with the documentation of the SDK on [crates.io](https://crates.io/). + If you aren't running a Validator and Nym API, and just want to import a specific sub-set of mix nodes, you can simply overwrite the grabbed topology manually. > You can find this code [here](https://github.com/nymtech/nym/blob/master/sdk/rust/nym-sdk/examples/manually_overwrite_topology.rs) diff --git a/documentation/docs/pages/developers/rust/mixnet/examples/simple.md b/documentation/docs/pages/developers/rust/mixnet/examples/simple.mdx similarity index 70% rename from documentation/docs/pages/developers/rust/mixnet/examples/simple.md rename to documentation/docs/pages/developers/rust/mixnet/examples/simple.mdx index 9df473686f..c6065d6231 100644 --- a/documentation/docs/pages/developers/rust/mixnet/examples/simple.md +++ b/documentation/docs/pages/developers/rust/mixnet/examples/simple.mdx @@ -1,4 +1,14 @@ # Simple Send + +import { Callout } from 'nextra/components' + + + There will be a breaking SDK upgrade in the coming months. This upgrade will make the SDK a lot easier to build with. + +This upgrade will affect the interface of the SDK dramatically, and will be coupled with a protocol change - stay tuned for information on early access to the new protocol testnet. + +It will also be coupled with the documentation of the SDK on [crates.io](https://crates.io/). + Lets look at a very simple example of how you can import and use the websocket client in a piece of Rust code. Simply importing the `nym_sdk` crate into your project allows you to create a client and send traffic through the mixnet. diff --git a/documentation/docs/pages/developers/rust/mixnet/examples/socks.md b/documentation/docs/pages/developers/rust/mixnet/examples/socks.mdx similarity index 78% rename from documentation/docs/pages/developers/rust/mixnet/examples/socks.md rename to documentation/docs/pages/developers/rust/mixnet/examples/socks.mdx index 6daf6e5c07..03089679b7 100644 --- a/documentation/docs/pages/developers/rust/mixnet/examples/socks.md +++ b/documentation/docs/pages/developers/rust/mixnet/examples/socks.mdx @@ -1,5 +1,14 @@ # Socks Proxy +import { Callout } from 'nextra/components' + + + There will be a breaking SDK upgrade in the coming months. This upgrade will make the SDK a lot easier to build with. + +This upgrade will affect the interface of the SDK dramatically, and will be coupled with a protocol change - stay tuned for information on early access to the new protocol testnet. + +It will also be coupled with the documentation of the SDK on [crates.io](https://crates.io/). + If you are looking at implementing Nym as a transport layer for a crypto wallet or desktop app, this is probably the best place to start if they can speak SOCKS5, 4a, or 4. > You can find this code [here](https://github.com/nymtech/nym/blob/master/sdk/rust/nym-sdk/examples/socks5.rs) diff --git a/documentation/docs/pages/developers/rust/mixnet/examples/split-send.md b/documentation/docs/pages/developers/rust/mixnet/examples/split-send.mdx similarity index 78% rename from documentation/docs/pages/developers/rust/mixnet/examples/split-send.md rename to documentation/docs/pages/developers/rust/mixnet/examples/split-send.mdx index b01e3a133b..6648e1956f 100644 --- a/documentation/docs/pages/developers/rust/mixnet/examples/split-send.md +++ b/documentation/docs/pages/developers/rust/mixnet/examples/split-send.mdx @@ -1,4 +1,14 @@ # Send and Receive in Different Tasks + +import { Callout } from 'nextra/components' + + + There will be a breaking SDK upgrade in the coming months. This upgrade will make the SDK a lot easier to build with. + +This upgrade will affect the interface of the SDK dramatically, and will be coupled with a protocol change - stay tuned for information on early access to the new protocol testnet. + +It will also be coupled with the documentation of the SDK on [crates.io](https://crates.io/). + If you need to split the different actions of your client across different tasks, you can do so like this. You can think of this analogously to spliting a Tcp Stream into read/write. This functionality is also useful for embedding a sending and receiving client into different tasks. > You can find this code [here](https://github.com/nymtech/nym/blob/master/sdk/rust/nym-sdk/examples/parallel_sending_and_receiving.rs) diff --git a/documentation/docs/pages/developers/rust/mixnet/examples/storage.md b/documentation/docs/pages/developers/rust/mixnet/examples/storage.mdx similarity index 92% rename from documentation/docs/pages/developers/rust/mixnet/examples/storage.md rename to documentation/docs/pages/developers/rust/mixnet/examples/storage.mdx index 7d82ce2993..3a103c78f0 100644 --- a/documentation/docs/pages/developers/rust/mixnet/examples/storage.md +++ b/documentation/docs/pages/developers/rust/mixnet/examples/storage.mdx @@ -1,4 +1,14 @@ # Manually Handle Storage + +import { Callout } from 'nextra/components' + + + There will be a breaking SDK upgrade in the coming months. This upgrade will make the SDK a lot easier to build with. + +This upgrade will affect the interface of the SDK dramatically, and will be coupled with a protocol change - stay tuned for information on early access to the new protocol testnet. + +It will also be coupled with the documentation of the SDK on [crates.io](https://crates.io/). + If you're integrating mixnet functionality into an existing app and want to integrate saving client configs and keys into your existing storage logic, you can manually perform these actions. > You can find this code [here](https://github.com/nymtech/nym/blob/master/sdk/rust/nym-sdk/examples/manually_handle_storage.rs) diff --git a/documentation/docs/pages/developers/rust/mixnet/examples/surbs.md b/documentation/docs/pages/developers/rust/mixnet/examples/surbs.mdx similarity index 87% rename from documentation/docs/pages/developers/rust/mixnet/examples/surbs.md rename to documentation/docs/pages/developers/rust/mixnet/examples/surbs.mdx index ab8d9abb79..1543102a63 100644 --- a/documentation/docs/pages/developers/rust/mixnet/examples/surbs.md +++ b/documentation/docs/pages/developers/rust/mixnet/examples/surbs.mdx @@ -1,4 +1,14 @@ # Anonymous Replies with SURBs (Single Use Reply Blocks) + +import { Callout } from 'nextra/components' + + + There will be a breaking SDK upgrade in the coming months. This upgrade will make the SDK a lot easier to build with. + +This upgrade will affect the interface of the SDK dramatically, and will be coupled with a protocol change - stay tuned for information on early access to the new protocol testnet. + +It will also be coupled with the documentation of the SDK on [crates.io](https://crates.io/). + Both functions used to send messages through the mixnet (`send_message` and `send_plain_message`) send a pre-determined number of SURBs along with their messages by default. You can read more about how SURBs function under the hood [here](../../../../network/traffic/anonymous-replies). diff --git a/documentation/docs/pages/developers/rust/mixnet/examples/testnet.mdx b/documentation/docs/pages/developers/rust/mixnet/examples/testnet.mdx index 78112c7b54..606fcc8ead 100644 --- a/documentation/docs/pages/developers/rust/mixnet/examples/testnet.mdx +++ b/documentation/docs/pages/developers/rust/mixnet/examples/testnet.mdx @@ -1,5 +1,13 @@ # Configurable Network +import { Callout } from 'nextra/components' + + There will be a breaking SDK upgrade in the coming months. This upgrade will make the SDK a lot easier to build with. + +This upgrade will affect the interface of the SDK dramatically, and will be coupled with a protocol change - stay tuned for information on early access to the new protocol testnet. + +It will also be coupled with the documentation of the SDK on [crates.io](https://crates.io/). + If you want to connect your Mixnet client to a different network than Mainnet, simply pull in a file from [`nym/envs`](https://github.com/nymtech/nym/tree/master/envs) as such: ```rust diff --git a/documentation/docs/pages/developers/rust/mixnet/message-helpers.md b/documentation/docs/pages/developers/rust/mixnet/message-helpers.mdx similarity index 86% rename from documentation/docs/pages/developers/rust/mixnet/message-helpers.md rename to documentation/docs/pages/developers/rust/mixnet/message-helpers.mdx index 2d2b550f86..b398bdd554 100644 --- a/documentation/docs/pages/developers/rust/mixnet/message-helpers.md +++ b/documentation/docs/pages/developers/rust/mixnet/message-helpers.mdx @@ -1,5 +1,15 @@ # Message Helpers +import { Callout } from 'nextra/components'; + + + There will be a breaking SDK upgrade in the coming months. This upgrade will make the SDK a lot easier to build with. + +This upgrade will affect the interface of the SDK dramatically, and will be coupled with a protocol change - stay tuned for information on early access to the new protocol testnet. + +It will also be coupled with the documentation of the SDK on [crates.io](https://crates.io/). + + ## Handling incoming messages When listening out for a response to a sent message (e.g. if you have sent a request to a service, and are awaiting the response) you will want to await [non-empty messages (if you don't know why, read the info on this here)](./troubleshooting#client-receives-empty-messages-when-listening-for-response). This can be done with something like the helper functions here: diff --git a/documentation/docs/pages/developers/rust/mixnet/message-types.md b/documentation/docs/pages/developers/rust/mixnet/message-types.mdx similarity index 74% rename from documentation/docs/pages/developers/rust/mixnet/message-types.md rename to documentation/docs/pages/developers/rust/mixnet/message-types.mdx index 833b1cc3fc..80502b77e6 100644 --- a/documentation/docs/pages/developers/rust/mixnet/message-types.md +++ b/documentation/docs/pages/developers/rust/mixnet/message-types.mdx @@ -1,5 +1,15 @@ # Message Types +import { Callout } from 'nextra/components'; + + + There will be a breaking SDK upgrade in the coming months. This upgrade will make the SDK a lot easier to build with. + +This upgrade will affect the interface of the SDK dramatically, and will be coupled with a protocol change - stay tuned for information on early access to the new protocol testnet. + +It will also be coupled with the documentation of the SDK on [crates.io](https://crates.io/). + + There are several functions used to send outgoing messages through the Mixnet, each with a different level of customisation: - `send(&self, message: InputMessage) -> Result<()>` diff --git a/documentation/docs/pages/developers/rust/mixnet/troubleshooting.md b/documentation/docs/pages/developers/rust/mixnet/troubleshooting.mdx similarity index 94% rename from documentation/docs/pages/developers/rust/mixnet/troubleshooting.md rename to documentation/docs/pages/developers/rust/mixnet/troubleshooting.mdx index ff7b10577a..719cda58f3 100644 --- a/documentation/docs/pages/developers/rust/mixnet/troubleshooting.md +++ b/documentation/docs/pages/developers/rust/mixnet/troubleshooting.mdx @@ -1,4 +1,17 @@ # Troubleshooting + +import { Callout } from 'nextra/components'; + + + There will be a breaking SDK upgrade in the coming months. This upgrade will make the SDK a lot easier to build with. + +This upgrade will affect the interface of the SDK dramatically, and will be coupled with a protocol change - stay tuned for information on early access to the new protocol testnet. + + +It will also be coupled with the documentation of the SDK on [crates.io](https://crates.io/). + + + Below are several common issues or questions you may have. If you come across something that isn't explained here, [PRs are welcome](https://github.com/nymtech/nym/issues/new/choose). diff --git a/documentation/docs/pages/developers/rust/tcpproxy.mdx b/documentation/docs/pages/developers/rust/tcpproxy.mdx index e4bfac03b1..ee7836d175 100644 --- a/documentation/docs/pages/developers/rust/tcpproxy.mdx +++ b/documentation/docs/pages/developers/rust/tcpproxy.mdx @@ -1,5 +1,13 @@ # TcpProxy Module +import { Callout } from 'nextra/components'; + + There will be a breaking SDK upgrade in the coming months. This upgrade will make the SDK a lot easier to build with. + +This upgrade will affect the interface of the SDK dramatically, and will be coupled with a protocol change - stay tuned for information on early access to the new protocol testnet. + +It will also be coupled with the documentation of the SDK on [crates.io](https://crates.io/). + This module exposes the `TcpProxyClient` and the `TcpProxyServer` which can be used to proxy traffic through the Mixnet in a way that is more familiar to developers than the methods exposed by the [`Mixnet` module](./mixnet). Both `Client` and `Server` are intended to be initialised and then run in a background thread, exposing a configurable `localhost` socket which developers can read/write/stream to without having to worry about the [message-based](../concepts/messages) nature of sending and receiving traffic to/from the Mixnet. diff --git a/documentation/docs/pages/developers/rust/tcpproxy/architecture.mdx b/documentation/docs/pages/developers/rust/tcpproxy/architecture.mdx index 006cd1ce6a..b9be09ecdc 100644 --- a/documentation/docs/pages/developers/rust/tcpproxy/architecture.mdx +++ b/documentation/docs/pages/developers/rust/tcpproxy/architecture.mdx @@ -1,7 +1,16 @@ -import { Callout } from 'nextra/components' # Architecture +import { Callout } from 'nextra/components' + + + There will be a breaking SDK upgrade in the coming months. This upgrade will make the SDK a lot easier to build with. + + This upgrade will affect the interface of the SDK dramatically, and will be coupled with a protocol change - stay tuned for information on early access to the new protocol testnet. + + It will also be coupled with the documentation of the SDK on [crates.io](https://crates.io/). + + ## Motivations The motivation behind the creation of the `TcpProxy` module is to allow developers to interact with the Mixnet in a way that is far more familiar to them: simply setting up a connection with a transport, being returned a socket, and then being able to stream data to/from it, similar to something like the Tor [`arti`](https://gitlab.torproject.org/tpo/core/arti/-/tree/main/crates/arti-client) client. diff --git a/documentation/docs/pages/developers/rust/tcpproxy/examples/multiconn.mdx b/documentation/docs/pages/developers/rust/tcpproxy/examples/multiconn.mdx index a003b1bee8..6f3bcffd38 100644 --- a/documentation/docs/pages/developers/rust/tcpproxy/examples/multiconn.mdx +++ b/documentation/docs/pages/developers/rust/tcpproxy/examples/multiconn.mdx @@ -1,5 +1,13 @@ # Multi Connection Example +import { Callout } from 'nextra/components' + + There will be a breaking SDK upgrade in the coming months. This upgrade will make the SDK a lot easier to build with. + +This upgrade will affect the interface of the SDK dramatically, and will be coupled with a protocol change - stay tuned for information on early access to the new protocol testnet. + +It will also be coupled with the documentation of the SDK on [crates.io](https://crates.io/). + This example starts off several Tcp connections on a loop to a remote endpoint: in this case the `TcpListener` behind the `NymProxyServer` instance on the echo server found in [`nym/tools/echo-server/`](https://github.com/nymtech/nym/tree/develop/tools/echo-server). It pipes a few messages to it, logs the replies, and keeps track of the number of replies received per connection. diff --git a/documentation/docs/pages/developers/rust/tcpproxy/examples/singleconn.mdx b/documentation/docs/pages/developers/rust/tcpproxy/examples/singleconn.mdx index f5f1ce8c7f..a0c1a73cfe 100644 --- a/documentation/docs/pages/developers/rust/tcpproxy/examples/singleconn.mdx +++ b/documentation/docs/pages/developers/rust/tcpproxy/examples/singleconn.mdx @@ -1,5 +1,13 @@ # Single Connection Example +import { Callout } from 'nextra/components' + + There will be a breaking SDK upgrade in the coming months. This upgrade will make the SDK a lot easier to build with. + +This upgrade will affect the interface of the SDK dramatically, and will be coupled with a protocol change - stay tuned for information on early access to the new protocol testnet. + +It will also be coupled with the documentation of the SDK on [crates.io](https://crates.io/). + This is a basic example which opens a single TCP connection and writes a bunch of messages between a client and some 'echo server' logic, so only uses a single session under the hood and doesn't really show off the message ordering capabilities; this is mainly just a quick introductory illustration on how: - the mixnet does message ordering - the NymProxyClient and NymProxyServer can be hooked into and used to communicate between two otherwise pretty vanilla TcpStreams diff --git a/documentation/docs/pages/developers/rust/tcpproxy/troubleshooting.md b/documentation/docs/pages/developers/rust/tcpproxy/troubleshooting.md deleted file mode 100644 index 8a3d6d5c23..0000000000 --- a/documentation/docs/pages/developers/rust/tcpproxy/troubleshooting.md +++ /dev/null @@ -1,4 +0,0 @@ -# Troubleshooting - -## Lots of `duplicate fragment received` messages -You might see a lot of `WARN` level logs about duplicate fragments in your logs, depending on the log level you're using. This occurs when a packet is retransmitted somewhere in the Mixnet, but then the original makes it to the destination client as well. This is not something to do with your client logic, but instead the state of the Mixnet. diff --git a/documentation/docs/pages/developers/rust/tcpproxy/troubleshooting.mdx b/documentation/docs/pages/developers/rust/tcpproxy/troubleshooting.mdx new file mode 100644 index 0000000000..7634e94ac4 --- /dev/null +++ b/documentation/docs/pages/developers/rust/tcpproxy/troubleshooting.mdx @@ -0,0 +1,12 @@ +# Troubleshooting +import { Callout } from 'nextra/components' + + + There will be a breaking SDK upgrade in the coming months. This upgrade will make the SDK a lot easier to build with. + +This upgrade will affect the interface of the SDK dramatically, and will be coupled with a protocol change - stay tuned for information on early access to the new protocol testnet. + +It will also be coupled with the documentation of the SDK on [crates.io](https://crates.io/). + +## Lots of `duplicate fragment received` messages +You might see a lot of `WARN` level logs about duplicate fragments in your logs, depending on the log level you're using. This occurs when a packet is retransmitted somewhere in the Mixnet, but then the original makes it to the destination client as well. This is not something to do with your client logic, but instead the state of the Mixnet. diff --git a/documentation/docs/pages/developers/typescript.mdx b/documentation/docs/pages/developers/typescript.mdx index 913df2c189..93a95b4c6f 100644 --- a/documentation/docs/pages/developers/typescript.mdx +++ b/documentation/docs/pages/developers/typescript.mdx @@ -1,5 +1,16 @@ + # Introduction +import { Callout } from 'nextra/components'; + + + The TypeScript SDK is currently not avaliable to use: a network upgrade elsewhere has caused a problem which is not currently fixed. TS SDK Clients are not able to connect to the network. + + When the issue is resolved, this will be reflected in the documentation. + + Thanks for your patience! + + Welcome to the documentation for Nym's TypeScript SDK! -This comprehensive guide contains information about the various TypeScript SDK modules that facilitate interaction with different components of the Nym stack, including the Nym mixnet, the Nyx blockchain, and Coconut credentials. +This guide contains information about the various TypeScript SDK modules that facilitate interaction with different components of the Nym stack, including the Nym mixnet, the Nyx blockchain, and Coconut credentials. diff --git a/documentation/docs/pages/developers/typescript/FAQ.mdx b/documentation/docs/pages/developers/typescript/FAQ.mdx index 5998a1e0a8..f226a9466a 100644 --- a/documentation/docs/pages/developers/typescript/FAQ.mdx +++ b/documentation/docs/pages/developers/typescript/FAQ.mdx @@ -1,4 +1,13 @@ # TS SDK FAQ +import { Callout } from 'nextra/components' + + + The TypeScript SDK is currently not avaliable to use: a network upgrade elsewhere has caused a problem which is not currently fixed. TS SDK Clients are not able to connect to the network. + + When the issue is resolved, this will be reflected in the documentation. + + Thanks for your patience! + ## Why and when does the mixnet client complain about insufficient topology? diff --git a/documentation/docs/pages/developers/typescript/bundling/bundling.mdx b/documentation/docs/pages/developers/typescript/bundling/bundling.mdx index 667eea07ad..0bb48dc0e9 100644 --- a/documentation/docs/pages/developers/typescript/bundling/bundling.mdx +++ b/documentation/docs/pages/developers/typescript/bundling/bundling.mdx @@ -1,5 +1,15 @@ # Troubleshooting bundling +import { Callout } from 'nextra/components'; + + + The TypeScript SDK is currently not avaliable to use: a network upgrade elsewhere has caused a problem which is not currently fixed. TS SDK Clients are not able to connect to the network. + + When the issue is resolved, this will be reflected in the documentation. + + Thanks for your patience! + + You might need some help bundling packages from the Nym Typescript SDK into your package. Here are some things that could go wrong: diff --git a/documentation/docs/pages/developers/typescript/bundling/esbuild.mdx b/documentation/docs/pages/developers/typescript/bundling/esbuild.mdx index c794cf7ce6..9f225a512c 100644 --- a/documentation/docs/pages/developers/typescript/bundling/esbuild.mdx +++ b/documentation/docs/pages/developers/typescript/bundling/esbuild.mdx @@ -2,6 +2,14 @@ import { Callout } from 'nextra/components'; # Troubleshooting bundling with ESbuild + + The TypeScript SDK is currently not avaliable to use: a network upgrade elsewhere has caused a problem which is not currently fixed. TS SDK Clients are not able to connect to the network. + + When the issue is resolved, this will be reflected in the documentation. + + Thanks for your patience! + + If you've been following the steps outlined in the Examples section, your development environment should be configured as follows: #### Environment Setup @@ -14,7 +22,7 @@ npm create vite@latest During the environment setup, choose React and subsequently opt for Typescript if you want your application to function smoothly following this tutorial. Next, navigate to your application directory and run the following commands: ```bash cd < YOUR_APP > -npm i +npm i npm run dev ``` @@ -29,4 +37,3 @@ npm install @nymproject/< PACKAGE_NAME > By implementing the provided code for the various components in the step-by-step examples section, you should be able to set-up and run your application without encountering any bundling challenges! - diff --git a/documentation/docs/pages/developers/typescript/bundling/webpack.mdx b/documentation/docs/pages/developers/typescript/bundling/webpack.mdx index 12878675e9..80b688d44a 100644 --- a/documentation/docs/pages/developers/typescript/bundling/webpack.mdx +++ b/documentation/docs/pages/developers/typescript/bundling/webpack.mdx @@ -2,6 +2,15 @@ import { Callout } from 'nextra/components'; # Troubleshooting bundling with Webpack + + + The TypeScript SDK is currently not avaliable to use: a network upgrade elsewhere has caused a problem which is not currently fixed. TS SDK Clients are not able to connect to the network. + + When the issue is resolved, this will be reflected in the documentation. + + Thanks for your patience! + + ## Webpack > 5 ESM For any project using Webpack, you´ll need the following rule in your `webpack.config.js` above version 5: @@ -24,7 +33,7 @@ If you wish to use Webpack for your app with the code provided in the step-by-st npx create-react-app nymapp --template typescript cd nymapp ``` -You'll then need to install the needed dependencies, head to your app's `App.tsx` file and paste the code provided in the step-by-step section. +You'll then need to install the needed dependencies, head to your app's `App.tsx` file and paste the code provided in the step-by-step section. #### Contract client @@ -34,7 +43,7 @@ You'll then need to install the needed dependencies, head to your app's `App.tsx ##### Install contract-clients dependencies ```bash -npm install @nymproject/contract-clients @cosmjs/cosmwasm-stargate @cosmjs/proto-signing +npm install @nymproject/contract-clients @cosmjs/cosmwasm-stargate @cosmjs/proto-signing ``` Head to you app's `App.tsx` file and replace the code by the one provided in the step-by-step examples section. @@ -76,7 +85,7 @@ module.exports = function override(config) { } } ]) - return config; + return config; } EOF ``` @@ -90,4 +99,4 @@ EOF "test": "react-app-rewired test", "eject": "react-scripts eject" }, -``` \ No newline at end of file +``` diff --git a/documentation/docs/pages/developers/typescript/examples/cosmos-kit.mdx b/documentation/docs/pages/developers/typescript/examples/cosmos-kit.mdx index 1df3855ffa..5f220bbb0d 100644 --- a/documentation/docs/pages/developers/typescript/examples/cosmos-kit.mdx +++ b/documentation/docs/pages/developers/typescript/examples/cosmos-kit.mdx @@ -2,8 +2,12 @@ import { Callout } from 'nextra/components' # Cosmos Kit - -The Typescript SDK is currently undergoing maintenance: a network upgrade elsewhere has temporarily caused a problem. These docs are likely to change after we upgrade the SDK. + + The TypeScript SDK is currently not avaliable: a network upgrade elsewhere has caused a problem which is not currently fixed. TS SDK Clients are not able to connect to the network. + + When the issue is resolved, this will be reflected in the documentation. + + Thanks for your patience! The wonderful people of Cosmology have made some [fantastic components](https://cosmoskit.com/) that can be used with diff --git a/documentation/docs/pages/developers/typescript/examples/mix-fetch.mdx b/documentation/docs/pages/developers/typescript/examples/mix-fetch.mdx index 267f8d3788..0c49da6181 100644 --- a/documentation/docs/pages/developers/typescript/examples/mix-fetch.mdx +++ b/documentation/docs/pages/developers/typescript/examples/mix-fetch.mdx @@ -1,9 +1,14 @@ import { Callout } from 'nextra/components'; # `mixFetch` - -The Typescript SDK is currently undergoing maintenance: a network upgrade elsewhere has temporarily caused a problem. These docs are likely to change after we upgrade the SDK. + + The TypeScript SDK is currently not avaliable to use: a network upgrade elsewhere has caused a problem which is not currently fixed. TS SDK Clients are not able to connect to the network. + + When the issue is resolved, this will be reflected in the documentation. + + Thanks for your patience! + An easy way to secure parts or all of your web app is to replace calls to [`fetch`](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch) with `mixFetch`: MixFetch works the same as vanilla `fetch` as it's a proxied wrapper around the original function. diff --git a/documentation/docs/pages/developers/typescript/examples/mixnet.mdx b/documentation/docs/pages/developers/typescript/examples/mixnet.mdx index e5210a1780..db1ec6c59a 100644 --- a/documentation/docs/pages/developers/typescript/examples/mixnet.mdx +++ b/documentation/docs/pages/developers/typescript/examples/mixnet.mdx @@ -1,8 +1,12 @@ import { Callout } from 'nextra/components' # Mixnet Client - -The Typescript SDK is currently undergoing maintenance: a network upgrade elsewhere has temporarily caused a problem. These docs are likely to change after we upgrade the SDK. + + The TypeScript SDK is currently not avaliable to use: a network upgrade elsewhere has caused a problem which is not currently fixed. TS SDK Clients are not able to connect to the network. + + When the issue is resolved, this will be reflected in the documentation. + + Thanks for your patience! As you know by now, in order to send or receive messages over the mixnet, you'll need to use the [`SDK Client`](https://www.npmjs.com/package/@nymproject/sdk), which will allow you to create apps that can use the Nym mixnet and Coconut credentials. diff --git a/documentation/docs/pages/developers/typescript/examples/nym-smart-contracts.mdx b/documentation/docs/pages/developers/typescript/examples/nym-smart-contracts.mdx index d0e4ca7faf..0e982dd1e9 100644 --- a/documentation/docs/pages/developers/typescript/examples/nym-smart-contracts.mdx +++ b/documentation/docs/pages/developers/typescript/examples/nym-smart-contracts.mdx @@ -1,8 +1,12 @@ import { Callout } from 'nextra/components' # Nym Smart Contract Clients - -The Typescript SDK is currently undergoing maintenance: a network upgrade elsewhere has temporarily caused a problem. These docs are likely to change after we upgrade the SDK. + + The TypeScript SDK is currently not avaliable to use: a network upgrade elsewhere has caused a problem which is not currently fixed. TS SDK Clients are not able to connect to the network. + + When the issue is resolved, this will be reflected in the documentation. + + Thanks for your patience! As previously mentioned, to query or execute on any of the Nym contracts, you'll need to use one of the [`Contract Clients`](https://www.npmjs.com/package/@nymproject/contract-clients), which contains read-only query and signing clients for all of Nym's smart contracts. diff --git a/documentation/docs/pages/developers/typescript/installation.mdx b/documentation/docs/pages/developers/typescript/installation.mdx index 0596ef0828..cc8367d787 100644 --- a/documentation/docs/pages/developers/typescript/installation.mdx +++ b/documentation/docs/pages/developers/typescript/installation.mdx @@ -4,6 +4,14 @@ import { Callout } from 'nextra/components' The different modules in the Typescript SDK allow developers to start building browser-based applications quickly. Simply import the SDK module of your choice – depending on the component from the Nym architecture you want to use – into your code via NPM, as you would any other TypeScript library. + + The TypeScript SDK is currently not avaliable to use: a network upgrade elsewhere has caused a problem which is not currently fixed. TS SDK Clients are not able to connect to the network. + + When the issue is resolved, this will be reflected in the documentation. + + Thanks for your patience! + + Other than the `Contract Clients`, SDK modules come in four different flavours (ESM, CJS and full-fat for ESM and CJS). This documentation focuses on examples using the `full-fat` versions. diff --git a/documentation/docs/pages/developers/typescript/overview.mdx b/documentation/docs/pages/developers/typescript/overview.mdx index 1a163b232a..82bf983f28 100644 --- a/documentation/docs/pages/developers/typescript/overview.mdx +++ b/documentation/docs/pages/developers/typescript/overview.mdx @@ -3,6 +3,16 @@ import { TableContainer, Table, TableBody, TableCell, TableRow, Paper } from '@m import { NPMLink } from '../../../components/npm'; ## SDK overview + + + + The TypeScript SDK is currently not avaliable to use: a network upgrade elsewhere has caused a problem which is not currently fixed. TS SDK Clients are not able to connect to the network. + + When the issue is resolved, this will be reflected in the documentation. + + Thanks for your patience! + + The Typescript SDK allows developers to start building browser-based Nym-based applications quickly, by simply importing the SDK modules into their code via NPM as they would any other Typescript library. Currently developers can use different packages from the Typescript SDK to run the following entirely in browser: diff --git a/documentation/docs/pages/developers/typescript/playground/cosmos-kit.mdx b/documentation/docs/pages/developers/typescript/playground/cosmos-kit.mdx index f1dfb89ea3..5852480206 100644 --- a/documentation/docs/pages/developers/typescript/playground/cosmos-kit.mdx +++ b/documentation/docs/pages/developers/typescript/playground/cosmos-kit.mdx @@ -6,8 +6,12 @@ import FormattedCosmoskitExampleCode from '../../../../code-examples/sdk/typescr import { Callout } from 'nextra/components' - -The Typescript SDK is currently undergoing maintenance: a network upgrade elsewhere has temporarily caused a problem. These docs are likely to change after we upgrade the SDK. + + The TypeScript SDK is currently not avaliable to use: a network upgrade elsewhere has caused a problem which is not currently fixed. TS SDK Clients are not able to connect to the network. + + When the issue is resolved, this will be reflected in the documentation. + + Thanks for your patience! Below is an example that uses [CosmosKit](https://cosmoskit.com/) to connect and sign a fake transaction with your [Keplr wallet](https://www.keplr.app/) or diff --git a/documentation/docs/pages/developers/typescript/playground/mixfetch.mdx b/documentation/docs/pages/developers/typescript/playground/mixfetch.mdx index b1dccf5ae2..6f3612b1c5 100644 --- a/documentation/docs/pages/developers/typescript/playground/mixfetch.mdx +++ b/documentation/docs/pages/developers/typescript/playground/mixfetch.mdx @@ -5,23 +5,16 @@ import Box from '@mui/material/Box'; import FormattedMixFetchExampleCode from '../../../../code-examples/sdk/typescript/mixfetch-example-code.mdx'; import { Callout } from 'nextra/components' - -The Typescript SDK is currently undergoing maintenance: a network upgrade elsewhere has temporarily caused a problem. These docs are likely to change after we upgrade the SDK. + + + The TypeScript SDK is currently not avaliable to use: a network upgrade elsewhere has caused a problem which is not currently fixed. TS SDK Clients are not able to connect to the network. + + When the issue is resolved, this will be reflected in the documentation. + + Thanks for your patience! - - Right now Gateways are not required to run a Secure Websocket (WSS) listener, so only a subset of nodes running in Gateway mode have configured their nodes to do so. - For the moment you have to select a Gateway that has WSS enabled from [this list](https://harbourmaster.nymtech.net/v1/services?wss=true). - - You can also find WSS-enabled nodes by querying the `gateways/described` endpoint on the Nym API and filtering for `wss_port`, either via the [Swagger webpage](https://validator.nymtech.net/api/swagger/index.html) or with `curl`: - - ``` -curl -X 'GET' \ - 'https://validator.nymtech.net/api/v1/gateways/described' \ - -H 'accept: application/json' - ``` - diff --git a/documentation/docs/pages/developers/typescript/playground/mixnodes.mdx b/documentation/docs/pages/developers/typescript/playground/mixnodes.mdx index 4937051fb2..b5114ef3ee 100644 --- a/documentation/docs/pages/developers/typescript/playground/mixnodes.mdx +++ b/documentation/docs/pages/developers/typescript/playground/mixnodes.mdx @@ -5,8 +5,14 @@ import Box from '@mui/material/Box'; import FormattedExampleCode from '../../../../code-examples/sdk/typescript/mixnodes-example-code.mdx'; import { Callout } from 'nextra/components' - -The Typescript SDK is currently undergoing maintenance: a network upgrade elsewhere has temporarily caused a problem. These docs are likely to change after we upgrade the SDK. + + + + The TypeScript SDK is currently not avaliable to use: a network upgrade elsewhere has caused a problem which is not currently fixed. TS SDK Clients are not able to connect to the network. + + When the issue is resolved, this will be reflected in the documentation. + + Thanks for your patience! The Nym Mixnet contract keeps a directory of all mixnodes that can be used to mix traffic. diff --git a/documentation/docs/pages/developers/typescript/playground/traffic.mdx b/documentation/docs/pages/developers/typescript/playground/traffic.mdx index d1851b878b..6dcc16b335 100644 --- a/documentation/docs/pages/developers/typescript/playground/traffic.mdx +++ b/documentation/docs/pages/developers/typescript/playground/traffic.mdx @@ -4,10 +4,14 @@ import { Traffic } from '../../../../components/traffic'; import Box from '@mui/material/Box'; import FormattedTrafficExampleCode from '../../../../code-examples/sdk/typescript/traffic-example-code.mdx'; - -The Typescript SDK is currently undergoing maintenance: a network upgrade elsewhere has temporarily caused a problem. These docs are likely to change after we upgrade the SDK. - + + The TypeScript SDK is currently not avaliable to use: a network upgrade elsewhere has caused a problem which is not currently fixed. TS SDK Clients are not able to connect to the network. + + When the issue is resolved, this will be reflected in the documentation. + + Thanks for your patience! + Use this tool to experiment with the mixnet: send and receive messages! diff --git a/documentation/docs/pages/developers/typescript/playground/wallet.mdx b/documentation/docs/pages/developers/typescript/playground/wallet.mdx index 99f39816cc..20b97911b6 100644 --- a/documentation/docs/pages/developers/typescript/playground/wallet.mdx +++ b/documentation/docs/pages/developers/typescript/playground/wallet.mdx @@ -13,8 +13,12 @@ import FormattedWalletDelegationsCode from '../../../../code-examples/sdk/typesc import { Callout } from 'nextra/components' - -The Typescript SDK is currently undergoing maintenance: a network upgrade elsewhere has temporarily caused a problem. These docs are likely to change after we upgrade the SDK. + + The TypeScript SDK is currently not avaliable to use: a network upgrade elsewhere has caused a problem which is not currently fixed. TS SDK Clients are not able to connect to the network. + + When the issue is resolved, this will be reflected in the documentation. + + Thanks for your patience! Here's a small wallet example using testnet for you to test out! diff --git a/documentation/docs/pages/developers/typescript/start.mdx b/documentation/docs/pages/developers/typescript/start.mdx index 0d3c5b4c0f..59c636eb21 100644 --- a/documentation/docs/pages/developers/typescript/start.mdx +++ b/documentation/docs/pages/developers/typescript/start.mdx @@ -3,6 +3,14 @@ import { Callout } from 'nextra/components' ## MixFetch + + The TypeScript SDK is currently not avaliable to use: a network upgrade elsewhere has caused a problem which is not currently fixed. TS SDK Clients are not able to connect to the network. + + When the issue is resolved, this will be reflected in the documentation. + + Thanks for your patience! + + Use the [`mixFetch`](https://www.npmjs.com/package/@nymproject/mix-fetch) package as a drop-in replacement for `fetch`to send HTTP requests over the Nym mixnet: ```ts