WIP
parent
670b265bdd
commit
feebee59f0
@ -1,12 +1,169 @@
|
||||
"use strict";
|
||||
|
||||
const veilid = require("./");
|
||||
const tmp = require("tmp-promise");
|
||||
|
||||
// let configJSON = JSON.stringify({
|
||||
// program_name: "node-veilid-test",
|
||||
// namespace: "",
|
||||
// capabilities: {
|
||||
// disable: []
|
||||
// },
|
||||
// core: {
|
||||
// protected_store: {
|
||||
// directory: "/tmp/node-veilid-test"
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
|
||||
let keypair = veilid.crypto_generateKeypair(veilid.CRYPTO_KIND_VLD0);
|
||||
let formatted = veilid.crypto_formatKeypair(keypair);
|
||||
console.log({formatted});
|
||||
|
||||
(async()=>{
|
||||
let basePath = (await tmp.dir({ unsafeCleanup: true })).path;
|
||||
// let path = veilid.makePath("/tmp/test");
|
||||
// let keypair = veilid.crypto_generateKeypair(veilid.CRYPTO_KIND_VLD0);
|
||||
let core = veilid.libraryCore_fromJSON();
|
||||
console.log("core", core);
|
||||
console.log("test", core.test());
|
||||
console.log("test2", core.test2());
|
||||
var configJSON = JSON.stringify({
|
||||
"program_name": "node-veilid-test",
|
||||
"namespace": "",
|
||||
"capabilities": {
|
||||
"disable": []
|
||||
},
|
||||
"protected_store": {
|
||||
"allow_insecure_fallback": true,
|
||||
"always_use_insecure_storage": true,
|
||||
"directory": `${basePath}/protected_store`,
|
||||
"delete": false,
|
||||
"device_encryption_key_password": "",
|
||||
"new_device_encryption_key_password": null
|
||||
},
|
||||
"table_store": {
|
||||
"directory": `${basePath}/table_store`,
|
||||
"delete": false
|
||||
},
|
||||
"block_store": {
|
||||
"directory": `${basePath}/block_store`,
|
||||
"delete": false
|
||||
},
|
||||
"network": {
|
||||
"connection_initial_timeout_ms": 2000,
|
||||
"connection_inactivity_timeout_ms": 60000,
|
||||
"max_connections_per_ip4": 32,
|
||||
"max_connections_per_ip6_prefix": 32,
|
||||
"max_connections_per_ip6_prefix_size": 56,
|
||||
"max_connection_frequency_per_min": 128,
|
||||
"client_whitelist_timeout_ms": 300000,
|
||||
"reverse_connection_receipt_time_ms": 5000,
|
||||
"hole_punch_receipt_time_ms": 5000,
|
||||
"network_key_password": null,
|
||||
"routing_table": {
|
||||
"node_id": [ formatted.key ],
|
||||
"node_id_secret": [ formatted.secret ],
|
||||
"bootstrap": [
|
||||
"bootstrap.veilid.net"
|
||||
],
|
||||
"limit_over_attached": 64,
|
||||
"limit_fully_attached": 32,
|
||||
"limit_attached_strong": 16,
|
||||
"limit_attached_good": 8,
|
||||
"limit_attached_weak": 4
|
||||
},
|
||||
"rpc": {
|
||||
"concurrency": 0,
|
||||
"queue_size": 1024,
|
||||
"max_timestamp_behind_ms": 10000,
|
||||
"max_timestamp_ahead_ms": 10000,
|
||||
"timeout_ms": 5000,
|
||||
"max_route_hop_count": 4,
|
||||
"default_route_hop_count": 1
|
||||
},
|
||||
"dht": {
|
||||
"max_find_node_count": 20,
|
||||
"resolve_node_timeout_ms": 10000,
|
||||
"resolve_node_count": 1,
|
||||
"resolve_node_fanout": 4,
|
||||
"get_value_timeout_ms": 10000,
|
||||
"get_value_count": 3,
|
||||
"get_value_fanout": 4,
|
||||
"set_value_timeout_ms": 10000,
|
||||
"set_value_count": 5,
|
||||
"set_value_fanout": 4,
|
||||
"min_peer_count": 20,
|
||||
"min_peer_refresh_time_ms": 60000,
|
||||
"validate_dial_info_receipt_time_ms": 2000,
|
||||
"local_subkey_cache_size": 128,
|
||||
"local_max_subkey_cache_memory_mb": 256,
|
||||
"remote_subkey_cache_size": 1024,
|
||||
"remote_max_records": 65536,
|
||||
"remote_max_subkey_cache_memory_mb": 478,
|
||||
"remote_max_storage_space_mb": 1000
|
||||
},
|
||||
"upnp": true,
|
||||
"detect_address_changes": true,
|
||||
"restricted_nat_retries": 0,
|
||||
"tls": {
|
||||
"certificate_path": `${basePath}/ssl/certs/server.crt`,
|
||||
"private_key_path": `${basePath}/ssl/keys/server.key`,
|
||||
"connection_initial_timeout_ms": 2000
|
||||
},
|
||||
"application": {
|
||||
"https": {
|
||||
"enabled": false,
|
||||
"listen_address": ":443",
|
||||
"path": "app",
|
||||
"url": null
|
||||
},
|
||||
"http": {
|
||||
"enabled": false,
|
||||
"listen_address": ":80",
|
||||
"path": "app",
|
||||
"url": null
|
||||
}
|
||||
},
|
||||
"protocol": {
|
||||
"udp": {
|
||||
"enabled": true,
|
||||
"socket_pool_size": 0,
|
||||
"listen_address": "",
|
||||
"public_address": null
|
||||
},
|
||||
"tcp": {
|
||||
"connect": true,
|
||||
"listen": true,
|
||||
"max_connections": 32,
|
||||
"listen_address": "",
|
||||
"public_address": null
|
||||
},
|
||||
"ws": {
|
||||
"connect": true,
|
||||
"listen": true,
|
||||
"max_connections": 32,
|
||||
"listen_address": "",
|
||||
"path": "ws",
|
||||
"url": null
|
||||
},
|
||||
"wss": {
|
||||
"connect": true,
|
||||
"listen": false,
|
||||
"max_connections": 32,
|
||||
"listen_address": "",
|
||||
"path": "ws",
|
||||
"url": null
|
||||
}
|
||||
}
|
||||
}
|
||||
}, null, 2);
|
||||
|
||||
console.log({configJSON});
|
||||
|
||||
let core = await veilid.libraryCore_fromJSON((update) => {
|
||||
console.log("update::", update);
|
||||
}, configJSON);
|
||||
|
||||
setInterval(() => {
|
||||
console.log("keepalive", core);
|
||||
}, 10000);
|
||||
|
||||
console.log({core});
|
||||
})();
|
||||
|
Loading…
Reference in New Issue