|
1 | | ---- |
2 | | -title: Oasis CLI |
3 | | -description: Powerful CLI for managing Oasis networks, nodes, tokens and dApps |
4 | | ---- |
5 | | - |
6 | | -# Oasis Command Line Interface |
7 | | - |
8 | | -The Oasis Command Line Interface (CLI) is a powerful, all-in-one tool for |
9 | | -interacting with the Oasis Network. [5] You can download the latest release |
10 | | -binaries from the [GitHub repository]. |
11 | | - |
12 | | -It boasts a number of handy features: |
13 | | - |
14 | | -- **Flexible setup**: |
15 | | - - Supports Mainnet, Testnet, Localnet, or any other deployment of the Oasis |
16 | | - network. [5] |
17 | | - - Consensus layer configuration with an arbitrary token. [5] |
18 | | - - Configuration of custom ParaTimes with an arbitrary token. [5] |
19 | | - - Connecting to a remote (via TCP/IP) or local (Unix socket) Oasis node |
20 | | - instance. [5] |
21 | | -- **Powerful wallet features**: |
22 | | - - Standard token operations (transfers, allowances, deposits, withdrawals, |
23 | | - and balance queries). [5] |
24 | | - - File-based wallet with password protection. [5] |
25 | | - - Full Ledger hardware wallet support. [5] |
26 | | - - Address book. [5] |
27 | | - - Generation, signing, and submitting transactions in non-interactive |
28 | | - (headless) mode. [5] |
29 | | - - Offline transaction generation for air-gapped machines. [5] |
30 | | - - Transaction encryption with X25519-Deoxys-II envelope. [5] |
31 | | - - Support for Ed25519, Ethereum-compatible Secp256k1, and Sr25519 signature |
32 | | - schemes. [5] |
33 | | - - Raw, BIP-44, ADR-8, and Ledger's legacy derivation paths. [5] |
34 | | -- **Node operator features**: |
35 | | - - Oasis node inspection and health checks. [5] |
36 | | - - Network governance transactions. [5] |
37 | | - - Staking reward schedule transactions. [5] |
38 | | -- **Developer features**: |
39 | | - - Built-in testing accounts compatible with the Oasis test runner, the Oasis |
40 | | - CI, and the official Sapphire and Emerald Localnet Docker images. [5] |
41 | | - - Oasis ROFL app compilation, deployment, and management. [5] |
42 | | - - Oasis Wasm smart contract code deployment, instantiation, management, and |
43 | | - calls. [5] |
44 | | - - Debugging tools for deployed Wasm contracts. [5] |
45 | | - - Inspection of blocks, transactions, results, and events. [5] |
| 1 | +# Setup |
46 | 2 |
|
47 | | -## Installation |
48 | | - |
49 | | -### macOS |
| 3 | +## Download and Run |
50 | 4 |
|
51 | | -This guide covers the installation or update process for the Oasis CLI on macOS |
52 | | -(compatible with Apple Silicon like M1/M2/M3). It assumes you have Terminal |
53 | | -access and basic command-line knowledge. |
| 5 | +Download the latest release from our [GitHub repository][cli-releases] and |
| 6 | +extract it to your favorite application folder. |
54 | 7 |
|
55 | | -#### Prerequisites |
| 8 | +:::info |
56 | 9 |
|
57 | | -- macOS (tested on Apple Silicon). |
58 | | -- To avoid modifying system directories, we'll install the binary in a |
59 | | - user-specific path (`~/.local/bin`). Ensure `~/.local/bin` is in your |
60 | | - `PATH`. If not, add it by editing your shell configuration file (e.g., |
61 | | - `~/.zshrc` for zsh): |
| 10 | +Oasis is currently providing official amd64 for Linux and ARM builds for MacOS. |
| 11 | +If you want to run it on another platform, you will have to |
| 12 | +[build it from source][cli-source]. |
62 | 13 |
|
63 | | - ``` |
64 | | - echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc |
65 | | - source ~/.zshrc |
66 | | - ``` |
| 14 | +::: |
67 | 15 |
|
68 | | -- Create the directory if it doesn't exist: `mkdir -p ~/.local/bin`. |
| 16 | +:::info |
69 | 17 |
|
70 | | -#### Installation Steps |
| 18 | +We suggest that you update your system path to include a directory containing |
| 19 | +the `oasis` binary or create a symbolic link to `oasis` in your |
| 20 | +system path, so you can access it globally. |
71 | 21 |
|
72 | | -1. **Download the Binary**: |
73 | | - - Visit the Oasis CLI GitHub releases page: |
74 | | - <https://github.com/oasisprotocol/cli/releases>. |
75 | | - - Download the latest macOS archive, e.g., |
76 | | - `oasis_cli_X.Y.Z_darwin_all.tar.gz` (replace X.Y.Z with the version, |
77 | | - like 0.14.1). |
| 22 | +::: |
78 | 23 |
|
79 | | -2. **Extract the Archive**: |
80 | | - - Open Terminal and navigate to your Downloads folder: |
| 24 | +Run the Oasis CLI by typing `oasis`. |
81 | 25 |
|
82 | | - ``` |
83 | | - cd ~/Downloads |
84 | | - ``` |
| 26 | + |
85 | 27 |
|
86 | | - - Extract the file (replace with your version): |
| 28 | +When running the Oasis CLI for the first time, it will generate a configuration |
| 29 | +file and populate it with the current Mainnet and Testnet networks. It will also |
| 30 | +configure all [ParaTimes supported by the Oasis Foundation][paratimes]. |
87 | 31 |
|
88 | | - ``` |
89 | | - tar -xzf oasis_cli_0.14.1_darwin_all.tar.gz |
90 | | - ``` |
| 32 | +## Configuration |
91 | 33 |
|
92 | | - - This creates a directory like `oasis_cli_0.14.1_darwin_all`. |
| 34 | +The configuration folder of Oasis CLI is located: |
93 | 35 |
|
94 | | -3. **Navigate to the Extracted Directory**: |
| 36 | +- on Windows: |
| 37 | + - `%USERPROFILE%\AppData\Local\oasis\` |
| 38 | +- on macOS: |
| 39 | + - `/Users/$USER/Library/Application Support/oasis/` |
| 40 | +- on Linux: |
| 41 | + - `$HOME/.config/oasis/` |
95 | 42 |
|
96 | | - ``` |
97 | | - cd oasis_cli_0.14.1_darwin_all |
98 | | - ``` |
| 43 | +There, you will find `cli.toml` which contains the configuration of the |
| 44 | +networks, ParaTimes and your wallet. Additionally, each file-based account in |
| 45 | +your wallet will have a separate, password-encrypted JSON file in the same |
| 46 | +folder named after the name of the account with the `.wallet` extension. |
99 | 47 |
|
100 | | -4. **Move the Binary to User Path**: |
| 48 | +## Multiple Profiles |
101 | 49 |
|
102 | | - ``` |
103 | | - mv oasis ~/.local/bin/ |
104 | | - ``` |
| 50 | +You can utilize multiple profiles of your Oasis CLI. To create a new profile, |
| 51 | +move your existing configuration folder to another place, for example: |
105 | 52 |
|
106 | | -5. **Bypass macOS Gatekeeper (if prompted with a security warning)**: |
| 53 | +```shell |
| 54 | +mv $HOME/.config/oasis $HOME/.config/oasis_dev |
| 55 | +``` |
107 | 56 |
|
108 | | - ``` |
109 | | - xattr -d com.apple.quarantine ~/.local/bin/oasis |
110 | | - ``` |
| 57 | +Then, invoke `oasis` with arbitrary command to set up a fresh configuration |
| 58 | +folder under `~/.config/oasis`. For example: |
111 | 59 |
|
112 | | - - If a dialog appears, go to System Settings > Privacy & Security > |
113 | | - Security, and click "Open Anyway". |
114 | | -
|
115 | | -6. **Verify Installation**: |
116 | | -
|
117 | | - ``` |
118 | | - oasis --version |
119 | | - ``` |
| 60 | + |
120 | 61 |
|
121 | | - - This should display the CLI version. If successful, the Oasis CLI is |
122 | | - installed and ready to use. |
| 62 | + |
123 | 63 |
|
124 | | -## Updating the Oasis CLI |
| 64 | +Now you can switch between the `oasis_dev` and the new profile by passing |
| 65 | +`--config` parameter pointing to `cli.toml` in the desired configuration folder. |
125 | 66 |
|
126 | | -To update the Oasis CLI to a newer version, simply overwrite the binary with |
127 | | -the latest version. This preserves your configurations (e.g., wallets and |
128 | | -settings). |
| 67 | + |
129 | 68 |
|
130 | | -1. **Check Current Version**: |
| 69 | + |
131 | 70 |
|
132 | | - ``` |
133 | | - oasis --version |
134 | | - ``` |
| 71 | +## Back Up Your Wallet |
135 | 72 |
|
136 | | - Compare with the latest on <https://github.com/oasisprotocol/cli/releases> |
137 | | - to see if an update is available. |
| 73 | +To back up your complete Oasis CLI configuration including your wallet, archive |
| 74 | +the configuration folder containing `cli.toml` and `.wallet` files. |
138 | 75 |
|
139 | | -2. **Update Process**: |
140 | | - Follow the same installation steps above with the new version. The key |
141 | | - difference is that you're overwriting the existing binary rather than |
142 | | - installing it fresh. Your configurations will be preserved. |
143 | | -
|
144 | | -## Notes |
145 | | -
|
146 | | -- Clean up: Optionally delete the downloaded .tar.gz and extracted directory |
147 | | - after installation/update. |
148 | | -- For major version updates, review the release notes on GitHub for any |
149 | | - breaking changes or additional steps. |
150 | | -
|
151 | | -[GitHub repository]: https://github.com/oasisprotocol/cli/release |
| 76 | +[cli-releases]: https://github.com/oasisprotocol/cli/releases |
| 77 | +[cli-source]: https://github.com/oasisprotocol/cli |
| 78 | +[paratimes]: https://github.com/oasisprotocol/docs/blob/main/docs/build/tools/other-paratimes/README.mdx |
0 commit comments