Updated js-example to get gateway from topology (#225)
This commit is contained in:
committed by
GitHub
parent
e2b9a9468a
commit
f47b7cfb13
Generated
+1
-1
@@ -1629,7 +1629,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "nym-client-wasm"
|
||||
version = "0.1.2"
|
||||
version = "0.1.3"
|
||||
dependencies = [
|
||||
"console_error_panic_hook",
|
||||
"crypto",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "nym-client-wasm"
|
||||
version = "0.1.2"
|
||||
version = "0.1.3"
|
||||
authors = ["Dave Hrycyszyn <futurechimp@users.noreply.github.com>", "Jedrzej Stuczynski <andrew@nymtech.net>"]
|
||||
edition = "2018"
|
||||
repository = "https://github.com/nymtech/nym"
|
||||
|
||||
@@ -8,6 +8,14 @@ export function makeAuthenticateRequest(address, token) {
|
||||
return JSON.stringify({ "type": "authenticate", "address": address, "token": token });
|
||||
}
|
||||
|
||||
export async function getInitialGatewayAddress(directoryUrl) {
|
||||
const topology = await getTopology(directoryUrl);
|
||||
if (topology.gatewayNodes.length > 0) {
|
||||
return topology.gatewayNodes[0].clientListener;
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
// NOTE: this currently does not implement chunking and too long messages will cause a panic
|
||||
export function makeSendablePacket(topology, message, recipient) {
|
||||
return wasm.create_gateway_sphinx_packet(topology, message, recipient);
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
// limitations under the License.
|
||||
|
||||
import * as wasm from "nym-client-wasm";
|
||||
import { makeRegisterRequest, makeAuthenticateRequest, makeSendablePacket, getTopology } from "nym-client-wasm/helpers"
|
||||
import { makeRegisterRequest, makeAuthenticateRequest, makeSendablePacket, getTopology, getInitialGatewayAddress } from "nym-client-wasm/helpers"
|
||||
|
||||
class GatewayConnection {
|
||||
constructor(gateway_url, ownAddress, registeredCallback) {
|
||||
@@ -121,10 +121,14 @@ function sleep(ms) {
|
||||
return new Promise(resolve => setTimeout(resolve, ms));
|
||||
}
|
||||
|
||||
function main() {
|
||||
var gatewayUrl = "ws://127.0.0.1:1977";
|
||||
async function main() {
|
||||
var directoryUrl = "http://127.0.0.1:8080/api/presence/topology";
|
||||
|
||||
const gatewayUrl = await getInitialGatewayAddress(directoryUrl);
|
||||
if (gatewayUrl == "") {
|
||||
alert("No gateways detected - cannot procede");
|
||||
return;
|
||||
}
|
||||
|
||||
// NOTE: in an actual application, you should save those keys somewhere and only generate them a single time
|
||||
// then reuse them in subsequent runs
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
},
|
||||
"homepage": "https://github.com/rustwasm/create-wasm-app#readme",
|
||||
"dependencies": {
|
||||
"nym-client-wasm": "^0.1.2"
|
||||
"nym-client-wasm": "^0.1.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"hello-wasm-pack": "^0.1.0",
|
||||
@@ -36,4 +36,4 @@
|
||||
"webpack-dev-server": "^3.1.5",
|
||||
"copy-webpack-plugin": "^5.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2484,10 +2484,10 @@ number-is-nan@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
|
||||
integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
|
||||
|
||||
nym-client-wasm@^0.1.2:
|
||||
version "0.1.2"
|
||||
resolved "https://registry.yarnpkg.com/nym-client-wasm/-/nym-client-wasm-0.1.2.tgz#1a89b28eafaff61de7d71b9045c2c6f76813d8e0"
|
||||
integrity sha512-G4Nsw+abk/UC5PbvxiEspMiq2EAXWOFvsXLGVkS2fzg2WxRlkf8hXoRK8mbgeqFlOB0LDf8ZSauI4eyqu0UPFw==
|
||||
nym-client-wasm@^0.1.3:
|
||||
version "0.1.3"
|
||||
resolved "https://registry.yarnpkg.com/nym-client-wasm/-/nym-client-wasm-0.1.3.tgz#49f93a6a6db0e26dfe94337625a69ea922b05cda"
|
||||
integrity sha512-ce8JojJ5sXIuY2hbFmgo2W1Nyy56uQ8GnsG6yBt3rzu6+seIRdxPd5ilN86L0Ps7uYLpAyydcwWLErjR6W9S+g==
|
||||
|
||||
object-assign@^4.0.1, object-assign@^4.1.1:
|
||||
version "4.1.1"
|
||||
|
||||
Reference in New Issue
Block a user