Update Run Codex and other refactoring (#14)

This commit is contained in:
Slava 2024-09-27 22:31:39 +03:00 committed by GitHub
parent a92512370d
commit 38d58c1958
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,22 +1,22 @@
# Quick start # Quick start
To join the Codex testnet we would need to perform the following steps: To run Codex through this guide we would need to perform the following steps:
- [Review the disclaimer](/codex/disclaimer) - [Review the disclaimer](/codex/disclaimer)
- [Get Codex binary](#get-codex-binary) - [Get Codex binary](#get-codex-binary)
- [Run Codex](#run-codex) - [Run Codex](#run-codex)
- [Interact with Codex](#interact-with-codex) - [Interact with Codex](#interact-with-codex)
### Get Codex binary ## Get Codex binary
For quick start we will use precompiled binaries from [GitHub release page](https://github.com/codex-storage/nim-codex/releases). If you prefer to compile from the sources, please check [Build Codex](/learn/build). For quick start we will use precompiled binaries from [GitHub release page](https://github.com/codex-storage/nim-codex/releases). If you prefer to compile from the sources, please check [Build Codex](/learn/build).
Please follow the steps for your OS from the list: Please follow the steps for your OS from the list:
- [Linux/macOS](#linux-macos) - [Linux/macOS](#linux-macos)
- [Windows](#windows) - [Windows](#windows)
#### Linux/macOS ### Linux/macOS
1. Download binary and checksum for your platform/architecture 1. Download binary and checksum for your platform/architecture
```shell ```shell
version=v0.1.4 version=v0.1.4
platform=$(echo `uname -s` | awk '{print tolower($0)}') platform=$(echo `uname -s` | awk '{print tolower($0)}')
@ -29,7 +29,7 @@
curl -LO https://github.com/codex-storage/nim-codex/releases/download/${version}/codex-${version}-${platform}-${architecture}.tar.gz.sha256 curl -LO https://github.com/codex-storage/nim-codex/releases/download/${version}/codex-${version}-${platform}-${architecture}.tar.gz.sha256
``` ```
2. Verify checksum 2. Verify checksum
**Linux** **Linux**
```shell ```shell
@ -46,23 +46,23 @@
codex-v0.1.4-linux-amd64.tar.gz: OK codex-v0.1.4-linux-amd64.tar.gz: OK
``` ```
3. Extract binary 3. Extract binary
```shell ```shell
tar -zxvf codex-${version}-${platform}-${architecture}.tar.gz tar -zxvf codex-${version}-${platform}-${architecture}.tar.gz
``` ```
4. Copy binary to the appropriate folder 4. Copy binary to the appropriate folder
```shell ```shell
sudo install codex-${version}-${platform}-${architecture} /usr/local/bin/codex sudo install codex-${version}-${platform}-${architecture} /usr/local/bin/codex
``` ```
5. Install dependencies 5. Install dependencies
```shell ```shell
# Debian-based Linux # Debian-based Linux
sudo apt update && sudo apt install libgomp1 sudo apt update && sudo apt install libgomp1
``` ```
6. Check the result 6. Check the result
```shell ```shell
codex --version codex --version
``` ```
@ -72,7 +72,7 @@
Nim Compiler Version 1.6.14 [Linux: amd64] Nim Compiler Version 1.6.14 [Linux: amd64]
``` ```
7. Cleanup 7. Cleanup
```shell ```shell
rm -f \ rm -f \
codex-${version}-${platform}-${architecture} \ codex-${version}-${platform}-${architecture} \
@ -80,9 +80,9 @@
codex-${version}-${platform}-${architecture}.tar.gz.sha256 codex-${version}-${platform}-${architecture}.tar.gz.sha256
``` ```
#### Windows ### Windows
1. Download binary and checksum for your platform/architecture 1. Download binary and checksum for your platform/architecture
::: warning ::: warning
For Windows, only amd64 architecture is supported now. For Windows, only amd64 architecture is supported now.
::: :::
@ -98,7 +98,7 @@
curl -LO https://github.com/codex-storage/nim-codex/releases/download/%version%/codex-%version%-%platform%-%architecture%-libs.zip.sha256 curl -LO https://github.com/codex-storage/nim-codex/releases/download/%version%/codex-%version%-%platform%-%architecture%-libs.zip.sha256
``` ```
2. Verify checksum 2. Verify checksum
```batch ```batch
for /f "delims=" %a in ('certUtil -hashfile codex-%version%-%platform%-%architecture%-libs.zip SHA256 ^| findstr -vrc:"[^0123-9aAb-Cd-EfF ]"') do @set ACTUAL_HASH=%a for /f "delims=" %a in ('certUtil -hashfile codex-%version%-%platform%-%architecture%-libs.zip SHA256 ^| findstr -vrc:"[^0123-9aAb-Cd-EfF ]"') do @set ACTUAL_HASH=%a
for /f "tokens=1" %a in (codex-%version%-%platform%-%architecture%-libs.zip.sha256) do set EXPECTED_HASH=%a for /f "tokens=1" %a in (codex-%version%-%platform%-%architecture%-libs.zip.sha256) do set EXPECTED_HASH=%a
@ -110,12 +110,12 @@
codex-v0.1.4-windows-amd64-libs.zip: OK codex-v0.1.4-windows-amd64-libs.zip: OK
``` ```
3. Extract binary and libraries 3. Extract binary and libraries
```batch ```batch
if not exist %LOCALAPPDATA%\Codex mkdir %LOCALAPPDATA%\Codex if not exist %LOCALAPPDATA%\Codex mkdir %LOCALAPPDATA%\Codex
tar -xvf codex-%version%-%platform%-%architecture%-libs.zip -C %LOCALAPPDATA%\Codex tar -xvf codex-%version%-%platform%-%architecture%-libs.zip -C %LOCALAPPDATA%\Codex
4. Rename binary and update user `path` variable 4. Rename binary and update user `path` variable
```batch ```batch
:: Rename binary :: Rename binary
move /Y %LOCALAPPDATA%\Codex\codex-%version%-%platform%-%architecture%.exe %LOCALAPPDATA%\Codex\codex.exe move /Y %LOCALAPPDATA%\Codex\codex-%version%-%platform%-%architecture%.exe %LOCALAPPDATA%\Codex\codex.exe
@ -127,7 +127,7 @@
PATH %PATH%%LOCALAPPDATA%\Codex; PATH %PATH%%LOCALAPPDATA%\Codex;
``` ```
4. Check the result 4. Check the result
```shell ```shell
codex --version codex --version
``` ```
@ -141,24 +141,66 @@
active boot switches: -d:release active boot switches: -d:release
``` ```
5. Cleanup 5. Cleanup
```batch ```batch
del codex-%version%-%platform%-%architecture%-libs.zip ^ del codex-%version%-%platform%-%architecture%-libs.zip ^
codex-%version%-%platform%-%architecture%-libs.zip.sha256 codex-%version%-%platform%-%architecture%-libs.zip.sha256
``` ```
### Run Codex ## Run Codex
To run your Codex node and join the testnet, follow the steps in the [codex-testnet-starter](https://github.com/codex-storage/codex-testnet-starter/blob/master/SETUP_HOME.md). We may [run Codex in different modes](/learn/run#run), and for a quick start we will run [Codex node](/learn/run#codex-node), to be able to share files in the network.
If you want to run Codex locally without joining the testnet, consider trying the [two-client-test](https://github.com/codex-storage/nim-codex/blob/master/docs/TwoClientTest.md) or the [marketplace-test](https://github.com/codex-storage/nim-codex/blob/master/docs/Marketplace.md). 1. Run Codex
### Interact with Codex **Linux/macOS**
```shell
codex \
--data-dir=datadir \
--disc-port=8090 \
--listen-addrs=/ip4/0.0.0.0/tcp/8070 \
--nat=`curl -s https://ip.codex.storage` \
--api-cors-origin="*" \
--bootstrap-node=spr:CiUIAhIhAiJvIcA_ZwPZ9ugVKDbmqwhJZaig5zKyLiuaicRcCGqLEgIDARo8CicAJQgCEiECIm8hwD9nA9n26BUoNuarCEllqKDnMrIuK5qJxFwIaosQ3d6esAYaCwoJBJ_f8zKRAnU6KkYwRAIgM0MvWNJL296kJ9gWvfatfmVvT-A7O2s8Mxp8l9c8EW0CIC-h-H-jBVSgFjg3Eny2u33qF7BDnWFzo7fGfZ7_qc9P
```
When your Codex node is up and running you can interact with it using [Codex API](/developers/api). **Windows**
```batch
:: Get Public IP
for /f "delims=" %a in ('curl -s https://ip.codex.storage') do @set nat=%a
For a walk-through of the API, consider following the [using-codex](https://github.com/codex-storage/codex-testnet-starter/blob/master/USINGCODEX.md) guide. :: Run
codex ^
--data-dir=datadir ^
--disc-port=8090 ^
--listen-addrs=/ip4/0.0.0.0/tcp/8070 ^
--nat=%nat% ^
--api-cors-origin="*" ^
--bootstrap-node=spr:CiUIAhIhAiJvIcA_ZwPZ9ugVKDbmqwhJZaig5zKyLiuaicRcCGqLEgIDARo8CicAJQgCEiECIm8hwD9nA9n26BUoNuarCEllqKDnMrIuK5qJxFwIaosQ3d6esAYaCwoJBJ_f8zKRAnU6KkYwRAIgM0MvWNJL296kJ9gWvfatfmVvT-A7O2s8Mxp8l9c8EW0CIC-h-H-jBVSgFjg3Eny2u33qF7BDnWFzo7fGfZ7_qc9P
```
### Stay in touch ::: tip
In the example above we use [Codex Testnet](/networks/testnet#bootstrap-nodes) bootstrap nodes and thus we join Testnet. If you would like to join a different network, please use [appropriate value](/networks/networks).
:::
Want to stay up-date, or looking for further assistance? Try our [discord-server](https://discord.gg/codex-storage). 2. Configure port-forwarding for the TCP/UDP ports on your Internet router
| Protocol | Service | Port |
| -------- | --------- | ------ |
| UDP | Discovery | `8090` |
| TCP | Transport | `8070` |
If you would like to purchase or sell storage, please consider to run [Codex node with marketplace support](/learn/run#codex-node-with-marketplace-support) or [Codex storage node](/learn/run#codex-storage-node).
## Interact with Codex
When your Codex node is up and running you can interact with it using [Codex Marketplace UI](https://marketplace.codex.storage) for files sharing.
Also, you can interact with Codex using [Codex API](/developers/api) and for a walk-through of the API, consider following the [Using Codex](/learn/using) guide.
## Stay in touch
Want to stay up-date, or looking for further assistance? Try our [discord-server](https://discord.gg/codex-storage).
Ready to explore Codex functionality? Please [Join Codex Testnet](/networks/testnet).
If you want to run Codex locally without joining the Testnet, consider trying the [two-client-test](https://github.com/codex-storage/nim-codex/blob/master/docs/TwoClientTest.md) or the [marketplace-test](https://github.com/codex-storage/nim-codex/blob/master/docs/Marketplace.md).