operators guide: add src/binaries/ files, fix links
This commit is contained in:
@@ -3,9 +3,9 @@
|
||||
- [Introduction](introduction.md)
|
||||
|
||||
# Binaries
|
||||
- [Pre-built Binaries](../../docs/src/binaries/pre-built-binaries.md)
|
||||
- [Building from Source](../../docs/src/binaries/building-nym.md)
|
||||
- [Binary Initialisation and Configuration](../../docs/src/binaries/init-and-config.md)
|
||||
- [Pre-built Binaries](./binaries/pre-built-binaries.md)
|
||||
- [Building from Source](./binaries/building-nym.md)
|
||||
- [Binary Initialisation and Configuration](./binaries/init-and-config.md)
|
||||
<!-- - [Version Compatibility Table](binaries/version-compatiblity.md) -->
|
||||
|
||||
# Operators Guides
|
||||
|
||||
@@ -0,0 +1,350 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="en" class="sidebar-visible no-js coal">
|
||||
<head>
|
||||
<!-- Book generated using mdBook -->
|
||||
<meta charset="UTF-8">
|
||||
<title>Building from Source - Nym Operators Guides</title>
|
||||
|
||||
|
||||
<!-- Custom HTML head -->
|
||||
|
||||
<meta name="description" content="Guides to setup Nym infrastructure">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="theme-color" content="#ffffff" />
|
||||
|
||||
<link rel="icon" href="../../../favicon.svg">
|
||||
<link rel="shortcut icon" href="../../../favicon.png">
|
||||
<link rel="stylesheet" href="../../../css/variables.css">
|
||||
<link rel="stylesheet" href="../../../css/general.css">
|
||||
<link rel="stylesheet" href="../../../css/chrome.css">
|
||||
<link rel="stylesheet" href="../../../css/print.css" media="print">
|
||||
|
||||
<!-- Fonts -->
|
||||
<link rel="stylesheet" href="../../../FontAwesome/css/font-awesome.css">
|
||||
<link rel="stylesheet" href="../../../fonts/fonts.css">
|
||||
|
||||
<!-- Highlight.js Stylesheets -->
|
||||
<link rel="stylesheet" href="../../../highlight.css">
|
||||
<link rel="stylesheet" href="../../../tomorrow-night.css">
|
||||
<link rel="stylesheet" href="../../../ayu-highlight.css">
|
||||
|
||||
<!-- Custom theme stylesheets -->
|
||||
<link rel="stylesheet" href="../../../theme/pagetoc.css">
|
||||
<link rel="stylesheet" href="../../../././mdbook-admonish.css">
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div id="body-container">
|
||||
<!-- Provide site root to javascript -->
|
||||
<script>
|
||||
var path_to_root = "../../../";
|
||||
var default_theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "coal" : "coal";
|
||||
</script>
|
||||
|
||||
<!-- Work around some values being stored in localStorage wrapped in quotes -->
|
||||
<script>
|
||||
try {
|
||||
var theme = localStorage.getItem('mdbook-theme');
|
||||
var sidebar = localStorage.getItem('mdbook-sidebar');
|
||||
|
||||
if (theme.startsWith('"') && theme.endsWith('"')) {
|
||||
localStorage.setItem('mdbook-theme', theme.slice(1, theme.length - 1));
|
||||
}
|
||||
|
||||
if (sidebar.startsWith('"') && sidebar.endsWith('"')) {
|
||||
localStorage.setItem('mdbook-sidebar', sidebar.slice(1, sidebar.length - 1));
|
||||
}
|
||||
} catch (e) { }
|
||||
</script>
|
||||
|
||||
<!-- Set the theme before any content is loaded, prevents flash -->
|
||||
<script>
|
||||
var theme;
|
||||
try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { }
|
||||
if (theme === null || theme === undefined) { theme = default_theme; }
|
||||
var html = document.querySelector('html');
|
||||
html.classList.remove('no-js')
|
||||
html.classList.remove('coal')
|
||||
html.classList.add(theme);
|
||||
html.classList.add('js');
|
||||
</script>
|
||||
|
||||
<!-- Hide / unhide sidebar before it is displayed -->
|
||||
<script>
|
||||
var html = document.querySelector('html');
|
||||
var sidebar = null;
|
||||
if (document.body.clientWidth >= 1080) {
|
||||
try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }
|
||||
sidebar = sidebar || 'visible';
|
||||
} else {
|
||||
sidebar = 'hidden';
|
||||
}
|
||||
html.classList.remove('sidebar-visible');
|
||||
html.classList.add("sidebar-" + sidebar);
|
||||
</script>
|
||||
|
||||
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
|
||||
<div class="sidebar-scrollbox">
|
||||
<ol class="chapter"><li class="chapter-item "><a href="../../../introduction.html"><strong aria-hidden="true">1.</strong> Introduction</a></li><li class="chapter-item affix "><li class="part-title">Binaries</li><li class="chapter-item "><a href="../../../../../docs/src/binaries/pre-built-binaries.html"><strong aria-hidden="true">2.</strong> Pre-built Binaries</a></li><li class="chapter-item expanded "><a href="../../../../../docs/src/binaries/building-nym.html" class="active"><strong aria-hidden="true">3.</strong> Building from Source</a></li><li class="chapter-item "><a href="../../../../../docs/src/binaries/init-and-config.html"><strong aria-hidden="true">4.</strong> Binary Initialisation and Configuration</a></li><li class="chapter-item affix "><li class="part-title">Operators Guides</li><li class="chapter-item "><a href="../../../nodes/setup-guides.html"><strong aria-hidden="true">5.</strong> Mixnet Nodes Setup</a><a class="toggle"><div>❱</div></a></li><li><ol class="section"><li class="chapter-item "><a href="../../../preliminary-steps.html"><strong aria-hidden="true">5.1.</strong> Preliminary Steps</a></li><li class="chapter-item "><a href="../../../nodes/mix-node-setup.html"><strong aria-hidden="true">5.2.</strong> Mix Node</a></li><li class="chapter-item "><a href="../../../nodes/gateway-setup.html"><strong aria-hidden="true">5.3.</strong> Gateway</a></li><li class="chapter-item "><a href="../../../nodes/network-requester-setup.html"><strong aria-hidden="true">5.4.</strong> Network Requester</a></li></ol></li><li class="chapter-item "><a href="../../../nodes/validator-setup.html"><strong aria-hidden="true">6.</strong> Nyx Validator Setup</a></li><li class="chapter-item "><a href="../../../nodes/maintenance.html"><strong aria-hidden="true">7.</strong> Maintenance</a></li><li class="chapter-item "><a href="../../../nodes/troubleshooting.html"><strong aria-hidden="true">8.</strong> Troubleshooting</a></li><li class="chapter-item "><a href="../../../faq.html"><strong aria-hidden="true">9.</strong> FAQ</a></li></ol>
|
||||
</div>
|
||||
<div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>
|
||||
</nav>
|
||||
|
||||
<div id="page-wrapper" class="page-wrapper">
|
||||
|
||||
<div class="page">
|
||||
<div id="menu-bar-hover-placeholder"></div>
|
||||
<div id="menu-bar" class="menu-bar sticky bordered">
|
||||
<div class="left-buttons">
|
||||
<button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
|
||||
<i class="fa fa-bars"></i>
|
||||
</button>
|
||||
<button id="theme-toggle" class="icon-button" type="button" title="Change theme" aria-label="Change theme" aria-haspopup="true" aria-expanded="false" aria-controls="theme-list">
|
||||
<i class="fa fa-paint-brush"></i>
|
||||
</button>
|
||||
<ul id="theme-list" class="theme-popup" aria-label="Themes" role="menu">
|
||||
<li role="none"><button role="menuitem" class="theme" id="light">Light</button></li>
|
||||
<li role="none"><button role="menuitem" class="theme" id="rust">Rust</button></li>
|
||||
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
|
||||
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
|
||||
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
|
||||
</ul>
|
||||
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
|
||||
<i class="fa fa-search"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<h1 class="menu-title">Nym Operators Guides</h1>
|
||||
|
||||
<div class="right-buttons">
|
||||
<a href="../../../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/nymtech/nym" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="search-wrapper" class="hidden">
|
||||
<form id="searchbar-outer" class="searchbar-outer">
|
||||
<input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
|
||||
</form>
|
||||
<div id="searchresults-outer" class="searchresults-outer hidden">
|
||||
<div id="searchresults-header" class="searchresults-header"></div>
|
||||
<ul id="searchresults">
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
|
||||
<script>
|
||||
document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
|
||||
document.getElementById('sidebar').setAttribute('aria-hidden', sidebar !== 'visible');
|
||||
Array.from(document.querySelectorAll('#sidebar a')).forEach(function(link) {
|
||||
link.setAttribute('tabIndex', sidebar === 'visible' ? 0 : -1);
|
||||
});
|
||||
</script>
|
||||
|
||||
<div id="content" class="content">
|
||||
<main>
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
<h1 id="building-from-source"><a class="header" href="#building-from-source">Building from Source</a></h1>
|
||||
<blockquote>
|
||||
<p>Nym runs on Mac OS X, Linux, and Windows. All nodes <strong>except the Desktop Wallet and NymConnect</strong> on Windows should be considered experimental - it works fine if you’re an app developer but isn’t recommended for running nodes.</p>
|
||||
</blockquote>
|
||||
<h2 id="building-nym"><a class="header" href="#building-nym">Building Nym</a></h2>
|
||||
<p>Nym has two main codebases:</p>
|
||||
<ul>
|
||||
<li>the <a href="https://github.com/nymtech/nym">Nym platform</a>, written in Rust. This contains all of our code <em>except</em> for the validators.</li>
|
||||
<li>the <a href="https://github.com/nymtech/nyxd">Nym validators</a>, written in Go.</li>
|
||||
</ul>
|
||||
<blockquote>
|
||||
<p>This page details how to build the main Nym platform code. <strong>If you want to build and run a validator, <a href="../nodes/validator-setup.html">go here</a> instead.</strong></p>
|
||||
</blockquote>
|
||||
<h2 id="prerequisites"><a class="header" href="#prerequisites">Prerequisites</a></h2>
|
||||
<ul>
|
||||
<li>Debian/Ubuntu: <code>pkg-config</code>, <code>build-essential</code>, <code>libssl-dev</code>, <code>curl</code>, <code>jq</code>, <code>git</code></li>
|
||||
</ul>
|
||||
<pre><code>apt install pkg-config build-essential libssl-dev curl jq git
|
||||
</code></pre>
|
||||
<ul>
|
||||
<li>Arch/Manjaro: <code>base-devel</code></li>
|
||||
</ul>
|
||||
<pre><code>pacman -S base-devel
|
||||
</code></pre>
|
||||
<ul>
|
||||
<li>Mac OS X: <code>pkg-config</code> , <code>brew</code>, <code>openss1</code>, <code>protobuf</code>, <code>curl</code>, <code>git</code>
|
||||
Running the following the script installs Homebrew and the above dependencies:</li>
|
||||
</ul>
|
||||
<pre><code>/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||
</code></pre>
|
||||
<ul>
|
||||
<li><code>Rust & cargo >= 1.66</code></li>
|
||||
</ul>
|
||||
<p>We recommend using the <a href="https://www.rust-lang.org/tools/install">Rust shell script installer</a>. Installing cargo from your package manager (e.g. <code>apt</code>) is not recommended as the packaged versions are usually too old.</p>
|
||||
<p>If you really don’t want to use the shell script installer, the <a href="https://forge.rust-lang.org/infra/other-installation-methods.html">Rust installation docs</a> contain instructions for many platforms.</p>
|
||||
<h2 id="download-and-build-nym-binaries"><a class="header" href="#download-and-build-nym-binaries">Download and build Nym binaries</a></h2>
|
||||
<p>The following commands will compile binaries into the <code>nym/target/release</code> directory:</p>
|
||||
<pre><code>rustup update
|
||||
git clone https://github.com/nymtech/nym.git
|
||||
cd nym
|
||||
|
||||
git reset --hard # in case you made any changes on your branch
|
||||
git pull # in case you've checked it out before
|
||||
|
||||
git checkout release/v1.1.22 # checkout to the latest release branch: `develop` will most likely be incompatible with deployed public networks
|
||||
|
||||
cargo build --release # build your binaries with **mainnet** configuration
|
||||
NETWORK=sandbox cargo build --release # build your binaries with **sandbox** configuration
|
||||
</code></pre>
|
||||
<p>Quite a bit of stuff gets built. The key working parts are:</p>
|
||||
<ul>
|
||||
<li><a href="../nodes/mix-node-setup.html">mix node</a>: <code>nym-mixnode</code></li>
|
||||
<li><a href="../nodes/gateway-setup.html">gateway node</a>: <code>nym-gateway</code></li>
|
||||
<li><a href="../clients/websocket-client.html">websocket client</a>: <code>nym-client</code></li>
|
||||
<li><a href="../clients/socks5-client.html">socks5 client</a>: <code>nym-socks5-client</code></li>
|
||||
<li><a href="../nodes/network-requester-setup.html">network requester</a>: <code>nym-network-requester</code></li>
|
||||
<li><a href="../tools/nym-cli.html">nym-cli tool</a>: <code>nym-cli</code></li>
|
||||
</ul>
|
||||
<p>The repository also contains Typescript applications which aren’t built in this process. These can be built by following the instructions on their respective docs pages.</p>
|
||||
<ul>
|
||||
<li><a href="../wallet/desktop-wallet.html">Nym Wallet</a></li>
|
||||
<li><a href="https://nymtech.net/developers/quickstart/nymconnect-gui.html">Nym Connect</a></li>
|
||||
<li><a href="../explorers/mixnet-explorer.html">Network Explorer UI</a></li>
|
||||
</ul>
|
||||
<blockquote>
|
||||
<p>You cannot build from GitHub’s .zip or .tar.gz archive files on the releases page - the Nym build scripts automatically include the current git commit hash in the built binary during compilation, so the build will fail if you use the archive code (which isn’t a Git repository). Check the code out from github using <code>git clone</code> instead.</p>
|
||||
</blockquote>
|
||||
|
||||
</main>
|
||||
|
||||
<nav class="nav-wrapper" aria-label="Page navigation">
|
||||
<!-- Mobile navigation buttons -->
|
||||
<a rel="prev" href="../../../../../docs/src/binaries/pre-built-binaries.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
|
||||
<i class="fa fa-angle-left"></i>
|
||||
</a>
|
||||
|
||||
<a rel="next" href="../../../../../docs/src/binaries/init-and-config.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
|
||||
<i class="fa fa-angle-right"></i>
|
||||
</a>
|
||||
|
||||
<div style="clear: both"></div>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<nav class="nav-wide-wrapper" aria-label="Page navigation">
|
||||
<a rel="prev" href="../../../../../docs/src/binaries/pre-built-binaries.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
|
||||
<i class="fa fa-angle-left"></i>
|
||||
</a>
|
||||
|
||||
<a rel="next" href="../../../../../docs/src/binaries/init-and-config.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
|
||||
<i class="fa fa-angle-right"></i>
|
||||
</a>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Livereload script (if served using the cli tool) -->
|
||||
<script>
|
||||
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
|
||||
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
|
||||
const socket = new WebSocket(wsAddress);
|
||||
socket.onmessage = function (event) {
|
||||
if (event.data === "reload") {
|
||||
socket.close();
|
||||
location.reload();
|
||||
}
|
||||
};
|
||||
|
||||
window.onbeforeunload = function() {
|
||||
socket.close();
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
window.playground_copyable = true;
|
||||
</script>
|
||||
|
||||
|
||||
<script src="../../../elasticlunr.min.js"></script>
|
||||
<script src="../../../mark.min.js"></script>
|
||||
<script src="../../../searcher.js"></script>
|
||||
|
||||
<script src="../../../clipboard.min.js"></script>
|
||||
<script src="../../../highlight.js"></script>
|
||||
<script src="../../../book.js"></script>
|
||||
|
||||
<!-- Custom JS scripts -->
|
||||
<script src="../../../theme/pagetoc.js"></script>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,71 @@
|
||||
# Building from Source
|
||||
|
||||
> Nym runs on Mac OS X, Linux, and Windows. All nodes **except the Desktop Wallet and NymConnect** on Windows should be considered experimental - it works fine if you're an app developer but isn't recommended for running nodes.
|
||||
|
||||
## Building Nym
|
||||
Nym has two main codebases:
|
||||
|
||||
- the [Nym platform](https://github.com/nymtech/nym), written in Rust. This contains all of our code _except_ for the validators.
|
||||
- the [Nym validators](https://github.com/nymtech/nyxd), written in Go.
|
||||
|
||||
> This page details how to build the main Nym platform code. **If you want to build and run a validator, [go here](../nodes/validator-setup.md) instead.**
|
||||
|
||||
## Prerequisites
|
||||
- Debian/Ubuntu: `pkg-config`, `build-essential`, `libssl-dev`, `curl`, `jq`, `git`
|
||||
|
||||
```
|
||||
apt install pkg-config build-essential libssl-dev curl jq git
|
||||
```
|
||||
|
||||
- Arch/Manjaro: `base-devel`
|
||||
|
||||
```
|
||||
pacman -S base-devel
|
||||
```
|
||||
|
||||
- Mac OS X: `pkg-config` , `brew`, `openss1`, `protobuf`, `curl`, `git`
|
||||
Running the following the script installs Homebrew and the above dependencies:
|
||||
|
||||
```
|
||||
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||
```
|
||||
|
||||
- `Rust & cargo >= {{minimum_rust_version}}`
|
||||
|
||||
We recommend using the [Rust shell script installer](https://www.rust-lang.org/tools/install). Installing cargo from your package manager (e.g. `apt`) is not recommended as the packaged versions are usually too old.
|
||||
|
||||
If you really don't want to use the shell script installer, the [Rust installation docs](https://forge.rust-lang.org/infra/other-installation-methods.html) contain instructions for many platforms.
|
||||
|
||||
## Download and build Nym binaries
|
||||
The following commands will compile binaries into the `nym/target/release` directory:
|
||||
|
||||
```
|
||||
rustup update
|
||||
git clone https://github.com/nymtech/nym.git
|
||||
cd nym
|
||||
|
||||
git reset --hard # in case you made any changes on your branch
|
||||
git pull # in case you've checked it out before
|
||||
|
||||
git checkout release/{{platform_release_version}} # checkout to the latest release branch: `develop` will most likely be incompatible with deployed public networks
|
||||
|
||||
cargo build --release # build your binaries with **mainnet** configuration
|
||||
NETWORK=sandbox cargo build --release # build your binaries with **sandbox** configuration
|
||||
```
|
||||
|
||||
Quite a bit of stuff gets built. The key working parts are:
|
||||
|
||||
* [mix node](../nodes/mix-node-setup.md): `nym-mixnode`
|
||||
* [gateway node](../nodes/gateway-setup.md): `nym-gateway`
|
||||
* [websocket client](https://nymtech.net/docs/clients/websocket-client.html): `nym-client`
|
||||
* [socks5 client](https://nymtech.net/docs/clients/socks5-client.html): `nym-socks5-client`
|
||||
* [webassembly client](https://nymtech.net/docs/clients/webassembly-client.html): `webassembly-client`
|
||||
* [network requester](../nodes/network-requester-setup.md): `nym-network-requester`
|
||||
* [nym-cli tool](https://nymtech.net/docs/tools/nym-cli.html): `nym-cli`
|
||||
|
||||
The repository also contains Typescript applications which aren't built in this process. These can be built by following the instructions on their respective docs pages.
|
||||
* [Nym Wallet](https://nymtech.net/docs/wallet/desktop-wallet.html)
|
||||
* [Nym Connect](https://nymtech.net/developers/quickstart/nymconnect-gui.html)
|
||||
* [Network Explorer UI](https://nymtech.net/docs/explorers/mixnet-explorer.html)
|
||||
|
||||
> You cannot build from GitHub's .zip or .tar.gz archive files on the releases page - the Nym build scripts automatically include the current git commit hash in the built binary during compilation, so the build will fail if you use the archive code (which isn't a Git repository). Check the code out from github using `git clone` instead.
|
||||
@@ -0,0 +1,290 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="en" class="sidebar-visible no-js coal">
|
||||
<head>
|
||||
<!-- Book generated using mdBook -->
|
||||
<meta charset="UTF-8">
|
||||
<title>Binary Initialisation and Configuration - Nym Operators Guides</title>
|
||||
|
||||
|
||||
<!-- Custom HTML head -->
|
||||
|
||||
<meta name="description" content="Guides to setup Nym infrastructure">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="theme-color" content="#ffffff" />
|
||||
|
||||
<link rel="icon" href="../../../favicon.svg">
|
||||
<link rel="shortcut icon" href="../../../favicon.png">
|
||||
<link rel="stylesheet" href="../../../css/variables.css">
|
||||
<link rel="stylesheet" href="../../../css/general.css">
|
||||
<link rel="stylesheet" href="../../../css/chrome.css">
|
||||
<link rel="stylesheet" href="../../../css/print.css" media="print">
|
||||
|
||||
<!-- Fonts -->
|
||||
<link rel="stylesheet" href="../../../FontAwesome/css/font-awesome.css">
|
||||
<link rel="stylesheet" href="../../../fonts/fonts.css">
|
||||
|
||||
<!-- Highlight.js Stylesheets -->
|
||||
<link rel="stylesheet" href="../../../highlight.css">
|
||||
<link rel="stylesheet" href="../../../tomorrow-night.css">
|
||||
<link rel="stylesheet" href="../../../ayu-highlight.css">
|
||||
|
||||
<!-- Custom theme stylesheets -->
|
||||
<link rel="stylesheet" href="../../../theme/pagetoc.css">
|
||||
<link rel="stylesheet" href="../../../././mdbook-admonish.css">
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div id="body-container">
|
||||
<!-- Provide site root to javascript -->
|
||||
<script>
|
||||
var path_to_root = "../../../";
|
||||
var default_theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "coal" : "coal";
|
||||
</script>
|
||||
|
||||
<!-- Work around some values being stored in localStorage wrapped in quotes -->
|
||||
<script>
|
||||
try {
|
||||
var theme = localStorage.getItem('mdbook-theme');
|
||||
var sidebar = localStorage.getItem('mdbook-sidebar');
|
||||
|
||||
if (theme.startsWith('"') && theme.endsWith('"')) {
|
||||
localStorage.setItem('mdbook-theme', theme.slice(1, theme.length - 1));
|
||||
}
|
||||
|
||||
if (sidebar.startsWith('"') && sidebar.endsWith('"')) {
|
||||
localStorage.setItem('mdbook-sidebar', sidebar.slice(1, sidebar.length - 1));
|
||||
}
|
||||
} catch (e) { }
|
||||
</script>
|
||||
|
||||
<!-- Set the theme before any content is loaded, prevents flash -->
|
||||
<script>
|
||||
var theme;
|
||||
try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { }
|
||||
if (theme === null || theme === undefined) { theme = default_theme; }
|
||||
var html = document.querySelector('html');
|
||||
html.classList.remove('no-js')
|
||||
html.classList.remove('coal')
|
||||
html.classList.add(theme);
|
||||
html.classList.add('js');
|
||||
</script>
|
||||
|
||||
<!-- Hide / unhide sidebar before it is displayed -->
|
||||
<script>
|
||||
var html = document.querySelector('html');
|
||||
var sidebar = null;
|
||||
if (document.body.clientWidth >= 1080) {
|
||||
try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }
|
||||
sidebar = sidebar || 'visible';
|
||||
} else {
|
||||
sidebar = 'hidden';
|
||||
}
|
||||
html.classList.remove('sidebar-visible');
|
||||
html.classList.add("sidebar-" + sidebar);
|
||||
</script>
|
||||
|
||||
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
|
||||
<div class="sidebar-scrollbox">
|
||||
<ol class="chapter"><li class="chapter-item "><a href="../../../introduction.html"><strong aria-hidden="true">1.</strong> Introduction</a></li><li class="chapter-item affix "><li class="part-title">Binaries</li><li class="chapter-item "><a href="../../../../../docs/src/binaries/pre-built-binaries.html"><strong aria-hidden="true">2.</strong> Pre-built Binaries</a></li><li class="chapter-item "><a href="../../../../../docs/src/binaries/building-nym.html"><strong aria-hidden="true">3.</strong> Building from Source</a></li><li class="chapter-item expanded "><a href="../../../../../docs/src/binaries/init-and-config.html" class="active"><strong aria-hidden="true">4.</strong> Binary Initialisation and Configuration</a></li><li class="chapter-item affix "><li class="part-title">Operators Guides</li><li class="chapter-item "><a href="../../../nodes/setup-guides.html"><strong aria-hidden="true">5.</strong> Mixnet Nodes Setup</a><a class="toggle"><div>❱</div></a></li><li><ol class="section"><li class="chapter-item "><a href="../../../preliminary-steps.html"><strong aria-hidden="true">5.1.</strong> Preliminary Steps</a></li><li class="chapter-item "><a href="../../../nodes/mix-node-setup.html"><strong aria-hidden="true">5.2.</strong> Mix Node</a></li><li class="chapter-item "><a href="../../../nodes/gateway-setup.html"><strong aria-hidden="true">5.3.</strong> Gateway</a></li><li class="chapter-item "><a href="../../../nodes/network-requester-setup.html"><strong aria-hidden="true">5.4.</strong> Network Requester</a></li></ol></li><li class="chapter-item "><a href="../../../nodes/validator-setup.html"><strong aria-hidden="true">6.</strong> Nyx Validator Setup</a></li><li class="chapter-item "><a href="../../../nodes/maintenance.html"><strong aria-hidden="true">7.</strong> Maintenance</a></li><li class="chapter-item "><a href="../../../nodes/troubleshooting.html"><strong aria-hidden="true">8.</strong> Troubleshooting</a></li><li class="chapter-item "><a href="../../../faq.html"><strong aria-hidden="true">9.</strong> FAQ</a></li></ol>
|
||||
</div>
|
||||
<div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>
|
||||
</nav>
|
||||
|
||||
<div id="page-wrapper" class="page-wrapper">
|
||||
|
||||
<div class="page">
|
||||
<div id="menu-bar-hover-placeholder"></div>
|
||||
<div id="menu-bar" class="menu-bar sticky bordered">
|
||||
<div class="left-buttons">
|
||||
<button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
|
||||
<i class="fa fa-bars"></i>
|
||||
</button>
|
||||
<button id="theme-toggle" class="icon-button" type="button" title="Change theme" aria-label="Change theme" aria-haspopup="true" aria-expanded="false" aria-controls="theme-list">
|
||||
<i class="fa fa-paint-brush"></i>
|
||||
</button>
|
||||
<ul id="theme-list" class="theme-popup" aria-label="Themes" role="menu">
|
||||
<li role="none"><button role="menuitem" class="theme" id="light">Light</button></li>
|
||||
<li role="none"><button role="menuitem" class="theme" id="rust">Rust</button></li>
|
||||
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
|
||||
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
|
||||
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
|
||||
</ul>
|
||||
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
|
||||
<i class="fa fa-search"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<h1 class="menu-title">Nym Operators Guides</h1>
|
||||
|
||||
<div class="right-buttons">
|
||||
<a href="../../../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/nymtech/nym" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="search-wrapper" class="hidden">
|
||||
<form id="searchbar-outer" class="searchbar-outer">
|
||||
<input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
|
||||
</form>
|
||||
<div id="searchresults-outer" class="searchresults-outer hidden">
|
||||
<div id="searchresults-header" class="searchresults-header"></div>
|
||||
<ul id="searchresults">
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
|
||||
<script>
|
||||
document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
|
||||
document.getElementById('sidebar').setAttribute('aria-hidden', sidebar !== 'visible');
|
||||
Array.from(document.querySelectorAll('#sidebar a')).forEach(function(link) {
|
||||
link.setAttribute('tabIndex', sidebar === 'visible' ? 0 : -1);
|
||||
});
|
||||
</script>
|
||||
|
||||
<div id="content" class="content">
|
||||
<main>
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
<h1 id="binary-initialisation-and-configuration"><a class="header" href="#binary-initialisation-and-configuration">Binary Initialisation and Configuration</a></h1>
|
||||
<p>All Nym binaries must first be initialised with <code>init</code> before being <code>run</code>. </p>
|
||||
<p>The <code>init</code> command is usually where you pass flags specifying configuration arguments such as the gateway you wish to communicate with, the ports you wish your binary to listen on, etc. </p>
|
||||
<p>The <code>init</code> command will also create the necessary keypairs and configuration files at <code>~/.nym/<BINARY_TYPE>/<BINARY_ID>/</code> if these files do not already exist. <strong>It will not overwrite existing keypairs if they are present.</strong> </p>
|
||||
<p>You can reconfigure your binaries at any time by editing the config file located at <code>~/.nym/<BINARY_TYPE>/<BINARY_ID>/config/config.toml</code> and restarting the binary process. </p>
|
||||
<p>Once you have run <code>init</code>, you can start your binary with the <code>run</code> command, usually only accompanied by the <code>id</code> of the binary that you specified. </p>
|
||||
<p>This <code>id</code> is <strong>never</strong> transmitted over the network, and is used to select which local config and key files to use for startup. </p>
|
||||
|
||||
</main>
|
||||
|
||||
<nav class="nav-wrapper" aria-label="Page navigation">
|
||||
<!-- Mobile navigation buttons -->
|
||||
<a rel="prev" href="../../../../../docs/src/binaries/building-nym.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
|
||||
<i class="fa fa-angle-left"></i>
|
||||
</a>
|
||||
|
||||
<a rel="next" href="../../../nodes/setup-guides.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
|
||||
<i class="fa fa-angle-right"></i>
|
||||
</a>
|
||||
|
||||
<div style="clear: both"></div>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<nav class="nav-wide-wrapper" aria-label="Page navigation">
|
||||
<a rel="prev" href="../../../../../docs/src/binaries/building-nym.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
|
||||
<i class="fa fa-angle-left"></i>
|
||||
</a>
|
||||
|
||||
<a rel="next" href="../../../nodes/setup-guides.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
|
||||
<i class="fa fa-angle-right"></i>
|
||||
</a>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Livereload script (if served using the cli tool) -->
|
||||
<script>
|
||||
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
|
||||
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
|
||||
const socket = new WebSocket(wsAddress);
|
||||
socket.onmessage = function (event) {
|
||||
if (event.data === "reload") {
|
||||
socket.close();
|
||||
location.reload();
|
||||
}
|
||||
};
|
||||
|
||||
window.onbeforeunload = function() {
|
||||
socket.close();
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
window.playground_copyable = true;
|
||||
</script>
|
||||
|
||||
|
||||
<script src="../../../elasticlunr.min.js"></script>
|
||||
<script src="../../../mark.min.js"></script>
|
||||
<script src="../../../searcher.js"></script>
|
||||
|
||||
<script src="../../../clipboard.min.js"></script>
|
||||
<script src="../../../highlight.js"></script>
|
||||
<script src="../../../book.js"></script>
|
||||
|
||||
<!-- Custom JS scripts -->
|
||||
<script src="../../../theme/pagetoc.js"></script>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,13 @@
|
||||
# Binary Initialisation and Configuration
|
||||
|
||||
All Nym binaries must first be initialised with `init` before being `run`.
|
||||
|
||||
The `init` command is usually where you pass flags specifying configuration arguments such as the gateway you wish to communicate with, the ports you wish your binary to listen on, etc.
|
||||
|
||||
The `init` command will also create the necessary keypairs and configuration files at `~/.nym/<BINARY_TYPE>/<BINARY_ID>/` if these files do not already exist. **It will not overwrite existing keypairs if they are present.**
|
||||
|
||||
You can reconfigure your binaries at any time by editing the config file located at `~/.nym/<BINARY_TYPE>/<BINARY_ID>/config/config.toml` and restarting the binary process.
|
||||
|
||||
Once you have run `init`, you can start your binary with the `run` command, usually only accompanied by the `id` of the binary that you specified.
|
||||
|
||||
This `id` is **never** transmitted over the network, and is used to select which local config and key files to use for startup.
|
||||
@@ -0,0 +1,286 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="en" class="sidebar-visible no-js coal">
|
||||
<head>
|
||||
<!-- Book generated using mdBook -->
|
||||
<meta charset="UTF-8">
|
||||
<title>Pre-built Binaries - Nym Operators Guides</title>
|
||||
|
||||
|
||||
<!-- Custom HTML head -->
|
||||
|
||||
<meta name="description" content="Guides to setup Nym infrastructure">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="theme-color" content="#ffffff" />
|
||||
|
||||
<link rel="icon" href="../../../favicon.svg">
|
||||
<link rel="shortcut icon" href="../../../favicon.png">
|
||||
<link rel="stylesheet" href="../../../css/variables.css">
|
||||
<link rel="stylesheet" href="../../../css/general.css">
|
||||
<link rel="stylesheet" href="../../../css/chrome.css">
|
||||
<link rel="stylesheet" href="../../../css/print.css" media="print">
|
||||
|
||||
<!-- Fonts -->
|
||||
<link rel="stylesheet" href="../../../FontAwesome/css/font-awesome.css">
|
||||
<link rel="stylesheet" href="../../../fonts/fonts.css">
|
||||
|
||||
<!-- Highlight.js Stylesheets -->
|
||||
<link rel="stylesheet" href="../../../highlight.css">
|
||||
<link rel="stylesheet" href="../../../tomorrow-night.css">
|
||||
<link rel="stylesheet" href="../../../ayu-highlight.css">
|
||||
|
||||
<!-- Custom theme stylesheets -->
|
||||
<link rel="stylesheet" href="../../../theme/pagetoc.css">
|
||||
<link rel="stylesheet" href="../../../././mdbook-admonish.css">
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div id="body-container">
|
||||
<!-- Provide site root to javascript -->
|
||||
<script>
|
||||
var path_to_root = "../../../";
|
||||
var default_theme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "coal" : "coal";
|
||||
</script>
|
||||
|
||||
<!-- Work around some values being stored in localStorage wrapped in quotes -->
|
||||
<script>
|
||||
try {
|
||||
var theme = localStorage.getItem('mdbook-theme');
|
||||
var sidebar = localStorage.getItem('mdbook-sidebar');
|
||||
|
||||
if (theme.startsWith('"') && theme.endsWith('"')) {
|
||||
localStorage.setItem('mdbook-theme', theme.slice(1, theme.length - 1));
|
||||
}
|
||||
|
||||
if (sidebar.startsWith('"') && sidebar.endsWith('"')) {
|
||||
localStorage.setItem('mdbook-sidebar', sidebar.slice(1, sidebar.length - 1));
|
||||
}
|
||||
} catch (e) { }
|
||||
</script>
|
||||
|
||||
<!-- Set the theme before any content is loaded, prevents flash -->
|
||||
<script>
|
||||
var theme;
|
||||
try { theme = localStorage.getItem('mdbook-theme'); } catch(e) { }
|
||||
if (theme === null || theme === undefined) { theme = default_theme; }
|
||||
var html = document.querySelector('html');
|
||||
html.classList.remove('no-js')
|
||||
html.classList.remove('coal')
|
||||
html.classList.add(theme);
|
||||
html.classList.add('js');
|
||||
</script>
|
||||
|
||||
<!-- Hide / unhide sidebar before it is displayed -->
|
||||
<script>
|
||||
var html = document.querySelector('html');
|
||||
var sidebar = null;
|
||||
if (document.body.clientWidth >= 1080) {
|
||||
try { sidebar = localStorage.getItem('mdbook-sidebar'); } catch(e) { }
|
||||
sidebar = sidebar || 'visible';
|
||||
} else {
|
||||
sidebar = 'hidden';
|
||||
}
|
||||
html.classList.remove('sidebar-visible');
|
||||
html.classList.add("sidebar-" + sidebar);
|
||||
</script>
|
||||
|
||||
<nav id="sidebar" class="sidebar" aria-label="Table of contents">
|
||||
<div class="sidebar-scrollbox">
|
||||
<ol class="chapter"><li class="chapter-item "><a href="../../../introduction.html"><strong aria-hidden="true">1.</strong> Introduction</a></li><li class="chapter-item affix "><li class="part-title">Binaries</li><li class="chapter-item expanded "><a href="../../../../../docs/src/binaries/pre-built-binaries.html" class="active"><strong aria-hidden="true">2.</strong> Pre-built Binaries</a></li><li class="chapter-item "><a href="../../../../../docs/src/binaries/building-nym.html"><strong aria-hidden="true">3.</strong> Building from Source</a></li><li class="chapter-item "><a href="../../../../../docs/src/binaries/init-and-config.html"><strong aria-hidden="true">4.</strong> Binary Initialisation and Configuration</a></li><li class="chapter-item affix "><li class="part-title">Operators Guides</li><li class="chapter-item "><a href="../../../nodes/setup-guides.html"><strong aria-hidden="true">5.</strong> Mixnet Nodes Setup</a><a class="toggle"><div>❱</div></a></li><li><ol class="section"><li class="chapter-item "><a href="../../../preliminary-steps.html"><strong aria-hidden="true">5.1.</strong> Preliminary Steps</a></li><li class="chapter-item "><a href="../../../nodes/mix-node-setup.html"><strong aria-hidden="true">5.2.</strong> Mix Node</a></li><li class="chapter-item "><a href="../../../nodes/gateway-setup.html"><strong aria-hidden="true">5.3.</strong> Gateway</a></li><li class="chapter-item "><a href="../../../nodes/network-requester-setup.html"><strong aria-hidden="true">5.4.</strong> Network Requester</a></li></ol></li><li class="chapter-item "><a href="../../../nodes/validator-setup.html"><strong aria-hidden="true">6.</strong> Nyx Validator Setup</a></li><li class="chapter-item "><a href="../../../nodes/maintenance.html"><strong aria-hidden="true">7.</strong> Maintenance</a></li><li class="chapter-item "><a href="../../../nodes/troubleshooting.html"><strong aria-hidden="true">8.</strong> Troubleshooting</a></li><li class="chapter-item "><a href="../../../faq.html"><strong aria-hidden="true">9.</strong> FAQ</a></li></ol>
|
||||
</div>
|
||||
<div id="sidebar-resize-handle" class="sidebar-resize-handle"></div>
|
||||
</nav>
|
||||
|
||||
<div id="page-wrapper" class="page-wrapper">
|
||||
|
||||
<div class="page">
|
||||
<div id="menu-bar-hover-placeholder"></div>
|
||||
<div id="menu-bar" class="menu-bar sticky bordered">
|
||||
<div class="left-buttons">
|
||||
<button id="sidebar-toggle" class="icon-button" type="button" title="Toggle Table of Contents" aria-label="Toggle Table of Contents" aria-controls="sidebar">
|
||||
<i class="fa fa-bars"></i>
|
||||
</button>
|
||||
<button id="theme-toggle" class="icon-button" type="button" title="Change theme" aria-label="Change theme" aria-haspopup="true" aria-expanded="false" aria-controls="theme-list">
|
||||
<i class="fa fa-paint-brush"></i>
|
||||
</button>
|
||||
<ul id="theme-list" class="theme-popup" aria-label="Themes" role="menu">
|
||||
<li role="none"><button role="menuitem" class="theme" id="light">Light</button></li>
|
||||
<li role="none"><button role="menuitem" class="theme" id="rust">Rust</button></li>
|
||||
<li role="none"><button role="menuitem" class="theme" id="coal">Coal</button></li>
|
||||
<li role="none"><button role="menuitem" class="theme" id="navy">Navy</button></li>
|
||||
<li role="none"><button role="menuitem" class="theme" id="ayu">Ayu</button></li>
|
||||
</ul>
|
||||
<button id="search-toggle" class="icon-button" type="button" title="Search. (Shortkey: s)" aria-label="Toggle Searchbar" aria-expanded="false" aria-keyshortcuts="S" aria-controls="searchbar">
|
||||
<i class="fa fa-search"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<h1 class="menu-title">Nym Operators Guides</h1>
|
||||
|
||||
<div class="right-buttons">
|
||||
<a href="../../../print.html" title="Print this book" aria-label="Print this book">
|
||||
<i id="print-button" class="fa fa-print"></i>
|
||||
</a>
|
||||
<a href="https://github.com/nymtech/nym" title="Git repository" aria-label="Git repository">
|
||||
<i id="git-repository-button" class="fa fa-github"></i>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="search-wrapper" class="hidden">
|
||||
<form id="searchbar-outer" class="searchbar-outer">
|
||||
<input type="search" id="searchbar" name="searchbar" placeholder="Search this book ..." aria-controls="searchresults-outer" aria-describedby="searchresults-header">
|
||||
</form>
|
||||
<div id="searchresults-outer" class="searchresults-outer hidden">
|
||||
<div id="searchresults-header" class="searchresults-header"></div>
|
||||
<ul id="searchresults">
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Apply ARIA attributes after the sidebar and the sidebar toggle button are added to the DOM -->
|
||||
<script>
|
||||
document.getElementById('sidebar-toggle').setAttribute('aria-expanded', sidebar === 'visible');
|
||||
document.getElementById('sidebar').setAttribute('aria-hidden', sidebar !== 'visible');
|
||||
Array.from(document.querySelectorAll('#sidebar a')).forEach(function(link) {
|
||||
link.setAttribute('tabIndex', sidebar === 'visible' ? 0 : -1);
|
||||
});
|
||||
</script>
|
||||
|
||||
<div id="content" class="content">
|
||||
<main>
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
{comment}
|
||||
<div class="sidetoc"><nav class="pagetoc"></nav></div>
|
||||
|
||||
<h1 id="pre-built-binaries"><a class="header" href="#pre-built-binaries">Pre-built Binaries</a></h1>
|
||||
<p>The <a href="https://github.com/nymtech/nym/releases">Github releases page</a> has pre-built binaries which should work on Ubuntu 20.04 and other Debian-based systems, but at this stage cannot be guaranteed to work everywhere.</p>
|
||||
<p>If the pre-built binaries don’t work or are unavailable for your system, you will need to build the platform yourself.</p>
|
||||
|
||||
</main>
|
||||
|
||||
<nav class="nav-wrapper" aria-label="Page navigation">
|
||||
<!-- Mobile navigation buttons -->
|
||||
<a rel="prev" href="../../../introduction.html" class="mobile-nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
|
||||
<i class="fa fa-angle-left"></i>
|
||||
</a>
|
||||
|
||||
<a rel="next" href="../../../../../docs/src/binaries/building-nym.html" class="mobile-nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
|
||||
<i class="fa fa-angle-right"></i>
|
||||
</a>
|
||||
|
||||
<div style="clear: both"></div>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<nav class="nav-wide-wrapper" aria-label="Page navigation">
|
||||
<a rel="prev" href="../../../introduction.html" class="nav-chapters previous" title="Previous chapter" aria-label="Previous chapter" aria-keyshortcuts="Left">
|
||||
<i class="fa fa-angle-left"></i>
|
||||
</a>
|
||||
|
||||
<a rel="next" href="../../../../../docs/src/binaries/building-nym.html" class="nav-chapters next" title="Next chapter" aria-label="Next chapter" aria-keyshortcuts="Right">
|
||||
<i class="fa fa-angle-right"></i>
|
||||
</a>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Livereload script (if served using the cli tool) -->
|
||||
<script>
|
||||
const wsProtocol = location.protocol === 'https:' ? 'wss:' : 'ws:';
|
||||
const wsAddress = wsProtocol + "//" + location.host + "/" + "__livereload";
|
||||
const socket = new WebSocket(wsAddress);
|
||||
socket.onmessage = function (event) {
|
||||
if (event.data === "reload") {
|
||||
socket.close();
|
||||
location.reload();
|
||||
}
|
||||
};
|
||||
|
||||
window.onbeforeunload = function() {
|
||||
socket.close();
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
window.playground_copyable = true;
|
||||
</script>
|
||||
|
||||
|
||||
<script src="../../../elasticlunr.min.js"></script>
|
||||
<script src="../../../mark.min.js"></script>
|
||||
<script src="../../../searcher.js"></script>
|
||||
|
||||
<script src="../../../clipboard.min.js"></script>
|
||||
<script src="../../../highlight.js"></script>
|
||||
<script src="../../../book.js"></script>
|
||||
|
||||
<!-- Custom JS scripts -->
|
||||
<script src="../../../theme/pagetoc.js"></script>
|
||||
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,6 @@
|
||||
# Pre-built Binaries
|
||||
|
||||
The [Github releases page](https://github.com/nymtech/nym/releases) has pre-built binaries which should work on Ubuntu 20.04 and other Debian-based systems, but at this stage cannot be guaranteed to work everywhere.
|
||||
|
||||
If the pre-built binaries don't work or are unavailable for your system, you will need to build the platform yourself.
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
# Version Compatibility Table
|
||||
|
||||
There are numerous components to Nym which are released independently of one another aside from when breaking changes occur in the [core platform code](https://github.com/nymtech/nym/) - mix nodes, gateways, network requesters, and clients.
|
||||
|
||||
Whilst in general it recommended to be running the most recent version of any software, if you cannot do that for whatever reason this table will tell you which versions of different components are mutually compatible with which platform code releases.
|
||||
|
||||
|
||||
| Core Platform | SDK | Wallet | NymConnect | Network Explorer | Mixnet contract | Vesting contract |
|
||||
| ---------------- | ------------- | --------------- | --------------- | ---------------- | --------------- | ---------------- |
|
||||
| 1.1.13 - 1.1.14* | 1.1.7 | 1.1.12 - 1.1.13 | 1.1.12 - 1.1.13 | 1.1.2 | 1.2.0 - 1.3.0 | 1.2.0 - 1.3.0 |
|
||||
| 1.1.1 - 1.1.12 | 1.1.4 - 1.1.7 | 1.1.0 - 1.1.12 | 1.1.1 - 1.1.12 | 1.1.0 - 1.1.2 | 1.1.0 - 1.1.3 | 1.1.0 - 1.1.3 |
|
||||
| 1.1.0 - 1.1.1 | 1.1.4 | 1.1.0 | 1.1.0 - 1.1.1 | 1.1.0 | 1.1.0 | 1.1.0 |
|
||||
| 1.1.0 | x | 1.1.0 | 1.1.0 | 1.1.0 | 1.1.0 | 1.1.0 |
|
||||
|
||||
`*` the `nym-mixnode` binary is currently one point ahead of the main platform release version
|
||||
|
||||
> There are seperate changelogs for [`NymConnect`](https://github.com/nymtech/nym/blob/release/{{platform_release_version}}/nym-connect/CHANGELOG.md) and the [`Desktop Wallet`](https://github.com/nymtech/nym/blob/release/{{platform_release_version}}/nym-wallet/CHANGELOG.md). The changelog referenced below is for the core platform code.
|
||||
|
||||
| Platform release changelog |
|
||||
| ---------------------------------------------------------------------------------------- |
|
||||
| 1.1.14 ([CHANGELOG](https://github.com/nymtech/nym/blob/release/v1.1.14/CHANGELOG.md)) |
|
||||
| 1.1.13 ([CHANGELOG](https://github.com/nymtech/nym/blob/release/v1.1.13/CHANGELOG.md)) |
|
||||
| 1.1.12 ([CHANGELOG](https://github.com/nymtech/nym/blob/release/v1.1.12/CHANGELOG.md)) |
|
||||
| 1.1.11 ([CHANGELOG](https://github.com/nymtech/nym/blob/release/v1.1.11/CHANGELOG.md)) |
|
||||
| 1.1.10 ([CHANGELOG](https://github.com/nymtech/nym/blob/release/v1.1.10/CHANGELOG.md)) |
|
||||
| 1.1.9 ([CHANGELOG](https://github.com/nymtech/nym/blob/release/v1.1.9/CHANGELOG.md)) |
|
||||
| 1.1.8 ([CHANGELOG](https://github.com/nymtech/nym/blob/release/v1.1.8/CHANGELOG.md)) |
|
||||
| 1.1.7 ([CHANGELOG](https://github.com/nymtech/nym/blob/release/v1.1.7/CHANGELOG.md)) |
|
||||
| 1.1.6 ([CHANGELOG](https://github.com/nymtech/nym/blob/release/v1.1.6/CHANGELOG.md)) |
|
||||
| 1.1.5 ([CHANGELOG](https://github.com/nymtech/nym/blob/release/v1.1.5/CHANGELOG.md)) |
|
||||
| 1.1.4 ([CHANGELOG](https://github.com/nymtech/nym/blob/release/v1.1.4/CHANGELOG.md)) |
|
||||
| 1.1.3 ([CHANGELOG](https://github.com/nymtech/nym/blob/release/v1.1.3/CHANGELOG.md)) |
|
||||
| 1.1.2 ([CHANGELOG](https://github.com/nymtech/nym/blob/release/v1.1.2/CHANGELOG.md)) |
|
||||
| 1.1.1 ([CHANGELOG](https://github.com/nymtech/nym/blob/release/v1.1.1/CHANGELOG.md)) |
|
||||
| 1.1.0 ([CHANGELOG](https://github.com/nymtech/nym/blob/release/v1.1.0/CHANGELOG.md)) |
|
||||
| 1.0.2 ([CHANGELOG](https://github.com/nymtech/nym/blob/nym-binaries-1.0.2/CHANGELOG.md)) |
|
||||
| 1.0.1 ([CHANGELOG](https://github.com/nymtech/nym/blob/nym-binaries-1.0.1/CHANGELOG.md)) |
|
||||
| 1.0.0 ([CHANGELOG](https://github.com/nymtech/nym/blob/nym-binaries-1.0.0/CHANGELOG.md)) |
|
||||
@@ -4,7 +4,7 @@ TODO
|
||||
--->
|
||||
# Gateways
|
||||
|
||||
> The Nym gateway was built in the [building nym](https://nymtech.net/operators/binaries/building-nym.html) section. If you haven't yet built Nym and want to run the code, go there first.
|
||||
> The Nym gateway was built in the [building nym](../binaries/building-nym.md) section. If you haven't yet built Nym and want to run the code, go there first.
|
||||
|
||||
> Any syntax in `<>` brackets is a user's unique variable. Exchange with a corresponding name without the `<>` brackets.
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Mix Nodes
|
||||
|
||||
> The Nym mix node binary was built in the [building nym](https://nymtech.net/operators/binaries/building-nym.html) section. If you haven't yet built Nym and want to run the code, go there first.
|
||||
> The Nym mix node binary was built in the [building nym](../binaries/building-nym.md) section. If you haven't yet built Nym and want to run the code, go there first.
|
||||
|
||||
> Any syntax in `<>` brackets is a user's unique variable. Exchange with a corresponding name without the `<>` brackets.
|
||||
|
||||
@@ -17,7 +17,7 @@ Make sure you do the preparation listed in the [preliminary steps page](../preli
|
||||
|
||||
## Mix node setup
|
||||
|
||||
Now that you have built the [codebase](https://nymtech.net/docs/binaries/building-nym.html), set up your [wallet](https://nymtech.net/docs/wallet/desktop-wallet.html), and have a VPS with the `nym-mixnode` binary, you can set up your mix node with the instructions below.
|
||||
Now that you have built the [codebase](../binaries/building-nym.md), set up your [wallet](https://nymtech.net/docs/wallet/desktop-wallet.html), and have a VPS with the `nym-mixnode` binary, you can set up your mix node with the instructions below.
|
||||
|
||||
To begin, move to `/taget/release` directory from which you run the node commands:
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ TODO:
|
||||
--->
|
||||
# Network Requesters
|
||||
|
||||
> The Nym gateway was built in the [building nym](https://nymtech.net/operators/binaries/building-nym.html) section. If you haven't yet built Nym and want to run the code, go there first.
|
||||
> The Nym gateway was built in the [building nym](../binaries/building-nym.md) section. If you haven't yet built Nym and want to run the code, go there first.
|
||||
|
||||
> Any syntax in `<>` brackets is a user's unique variable. Exchange with a corresponding name without the `<>` brackets.
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
<!---
|
||||
TODO
|
||||
- [ ] Fix all the existing guides
|
||||
- [x] Fix all the existing guides
|
||||
- [ ] Get a new CSS theme for all the books
|
||||
- [ ] Add a FAQ page
|
||||
- [ ] Add automatization page: systemd, tmux, openRC, runinit etc
|
||||
- [x] Add a FAQ page
|
||||
- [x] Add automatization page: systemd, tmux, openRC, runinit etc
|
||||
--->
|
||||
# Node Setup Guides
|
||||
|
||||
To setup any type of Nym's node, start with building [Nym's platform](https://nymtech.net/docs/binaries/building-nym.html) on the machine (VPS) where you want to run the node. Nodes will need to be bond to Nym's wallet, setup one [here](https://nymtech.net/docs/wallet/desktop-wallet.html).
|
||||
To setup any type of Nym's node, start with building [Nym's platform](../binaries/building-nym.md) on the machine (VPS) where you want to run the node. Nodes will need to be bond to Nym's wallet, setup one [here](https://nymtech.net/docs/wallet/desktop-wallet.html).
|
||||
|
||||
This section contains setup guides for the following node types:
|
||||
* [Mix node](./mix-node-setup.md)
|
||||
|
||||
@@ -351,7 +351,7 @@ sudo ufw status
|
||||
|
||||
Ports `22`, `80`, and `443` are for ssh, http, and https connections respectively. The rest of the ports are documented [here](https://docs.cosmos.network/main/core/grpc_rest).
|
||||
|
||||
For more information about your validator's port configuration, check the [validator port reference table](https://nymtech.net/operators/binaries/maintenance.html#ports) below.
|
||||
For more information about your validator's port configuration, check the [validator port reference table](./maintenance.md#ports) below.
|
||||
|
||||
> If you are planning to use [Cockpit](https://cockpit-project.org/) on your validator server then you will have defined a different `grpc` port in your `config.toml` above: remember to open this port as well.
|
||||
|
||||
@@ -465,15 +465,15 @@ nyxd tx staking edit-validator
|
||||
With above command you can specify the `gpg` key last numbers (as used in `keybase`) as well as validator details and your email for security contact.
|
||||
|
||||
### Automating your validator with systemd
|
||||
You will most likely want to automate your validator restarting if your server reboots. Checkout the [maintenance page](https://nymtech.net/operators/binaries/maintenance.html#systemd) with a quick tutorial.
|
||||
You will most likely want to automate your validator restarting if your server reboots. Checkout the [maintenance page](./maintenance.md#systemd) with a quick tutorial.
|
||||
|
||||
### Installing and configuring nginx for HTTPS
|
||||
|
||||
If you want to set up a reverse proxying on the validator server to improve security and performance, using [nginx](https://www.nginx.com/resources/glossary/nginx/#:~:text=NGINX%20is%20open%20source%20software,%2C%20media%20streaming%2C%20and%20more.&text=In%20addition%20to%20its%20HTTP,%2C%20TCP%2C%20and%20UDP%20servers.), follow the manual on the [maintenance page](https://nymtech.net/operators/binaries/maintenance.html#setup).
|
||||
If you want to set up a reverse proxying on the validator server to improve security and performance, using [nginx](https://www.nginx.com/resources/glossary/nginx/#:~:text=NGINX%20is%20open%20source%20software,%2C%20media%20streaming%2C%20and%20more.&text=In%20addition%20to%20its%20HTTP,%2C%20TCP%2C%20and%20UDP%20servers.), follow the manual on the [maintenance page](./maintenance.md#setup).
|
||||
|
||||
### Setting the ulimit
|
||||
|
||||
Linux machines limit how many open files a user is allowed to have. This is called a `ulimit`. We need to set it to a higher value than the default 1024. Follow the instructions in the [maintenance page](https://nymtech.net/operators/binaries/maintenance.html#Setting-the-ulimit) to change the `ulimit` value for validators.
|
||||
Linux machines limit how many open files a user is allowed to have. This is called a `ulimit`. We need to set it to a higher value than the default 1024. Follow the instructions in the [maintenance page](./maintenance.md#Setting-the-ulimit) to change the `ulimit` value for validators.
|
||||
|
||||
## Using your validator
|
||||
### Unjailing your validator
|
||||
@@ -502,7 +502,7 @@ nyxd tx slashing unjail
|
||||
|
||||
### Upgrading your validator
|
||||
|
||||
To upgrade your validator, follow the steps on the [maintenance page](https://nymtech.net/operators/binaries/maintenance.html#Setting-the-ulimit).
|
||||
To upgrade your validator, follow the steps on the [maintenance page](./maintenance.md#setting-the-ulimit).
|
||||
|
||||
#### Common reasons for your validator being jailed
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Preliminary Steps
|
||||
|
||||
> The Nym mixnode, gateway and network requester binaries were built in the [building nym](https://nymtech.net/docs/binaries/building-nym.html) section. If you haven't yet built Nym and want to run the code, go there first.
|
||||
> The Nym mixnode, gateway and network requester binaries were built in the [building nym](../binaries/building-nym.md) section. If you haven't yet built Nym and want to run the code, go there first.
|
||||
|
||||
## Preliminary steps
|
||||
|
||||
|
||||
Reference in New Issue
Block a user