Quick start
To run Codex through this guide we would need to perform the following steps:
Get Codex binary
For quick a start we will use precompiled binaries from GitHub release page. If you prefer to compile from the sources, please check Build Codex.
Please follow the steps for your OS from the list:
Linux/macOS
Download binary and checksum for your platform/architecture
shellversion=v0.1.4 platform=$(echo `uname -s` | awk '{print tolower($0)}') architecture=$([[ `uname -m` == 'x86_64' ]] && echo amd64 || echo arm64) # Binary curl -LO https://github.com/codex-storage/nim-codex/releases/download/${version}/codex-${version}-${platform}-${architecture}.tar.gz # Checksum curl -LO https://github.com/codex-storage/nim-codex/releases/download/${version}/codex-${version}-${platform}-${architecture}.tar.gz.sha256
Verify checksum
Linux
shellsha256sum -c codex-${version}-${platform}-${architecture}.tar.gz.sha256
macOS
shellshasum -a 256 -c codex-${version}-${platform}-${architecture}.tar.gz.sha256
Make sure you get
OK
in the resultcodex-v0.1.4-linux-amd64.tar.gz: OK
Extract binary
shelltar -zxvf codex-${version}-${platform}-${architecture}.tar.gz
Copy binary to the appropriate folder
shellsudo install codex-${version}-${platform}-${architecture} /usr/local/bin/codex
Install dependencies
shell# Debian-based Linux sudo apt update && sudo apt install libgomp1
Check the result
shellcodex --version
shellCodex version: v0.1.4 Codex revision: 484124d Nim Compiler Version 1.6.14 [Linux: amd64]
Cleanup
shellrm -f \ codex-${version}-${platform}-${architecture} \ codex-${version}-${platform}-${architecture}.tar.gz \ codex-${version}-${platform}-${architecture}.tar.gz.sha256
Windows
Download binary and checksum for your platform/architecture
WARNING
For Windows, only amd64 architecture is supported now.
batchset version=v0.1.4 set platform=windows if %PROCESSOR_ARCHITECTURE%==AMD64 (set architecture=amd64) else (set architecture=arm64) :: Binary curl -LO https://github.com/codex-storage/nim-codex/releases/download/%version%/codex-%version%-%platform%-%architecture%-libs.zip :: Checksum curl -LO https://github.com/codex-storage/nim-codex/releases/download/%version%/codex-%version%-%platform%-%architecture%-libs.zip.sha256
Verify checksum
batchfor /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 if %ACTUAL_HASH% == %EXPECTED_HASH% (echo. && echo codex-%version%-%platform%-%architecture%-libs.zip: OK) else (echo. && echo codex-%version%-%platform%-%architecture%-libs.zip: FAILED)
Make sure you get
OK
in the resultcodex-v0.1.4-windows-amd64-libs.zip: OK
Extract binary and libraries
batchif not exist %LOCALAPPDATA%\Codex mkdir %LOCALAPPDATA%\Codex tar -xvf codex-%version%-%platform%-%architecture%-libs.zip -C %LOCALAPPDATA%\Codex
Rename binary and update user
path
variablebatch:: Rename binary move /Y %LOCALAPPDATA%\Codex\codex-%version%-%platform%-%architecture%.exe %LOCALAPPDATA%\Codex\codex.exe :: Add folder to the path permanently setx PATH %PATH%%LOCALAPPDATA%\Codex; :: Add folder to the path for the current session PATH %PATH%%LOCALAPPDATA%\Codex;
Check the result
shellcodex --version
shellCodex version: v0.1.4 Codex revision: 484124d Nim Compiler Version 1.6.21 [Windows: amd64] Compiled at 2024-06-27 Copyright (c) 2006-2023 by Andreas Rumpf git hash: 38640664088251bbc88917b4bacfd86ec53014b8 active boot switches: -d:release
Cleanup
batchdel codex-%version%-%platform%-%architecture%-libs.zip ^ codex-%version%-%platform%-%architecture%-libs.zip.sha256
Run Codex
We may run Codex in different modes, and for a quick start we will run Codex node, to be able to share files in the network.
Run Codex
Linux/macOS
shellcodex \ --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
Windows
batch:: Get Public IP for /f "delims=" %a in ('curl -s https://ip.codex.storage') do @set nat=%a :: 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
TIP
In the example above we use Codex Testnet bootstrap nodes and thus we join Testnet. If you would like to join a different network, please use appropriate value.
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 or Codex storage node.
Interact with Codex
When your Codex node is up and running you can interact with it using Codex App UI for files sharing.
Also, you can interact with Codex using Codex API and for a walk-through of the API, consider following the Using Codex guide.
Stay in touch
Want to stay up-date, or looking for further assistance? Try our discord-server.
Ready to explore Codex functionality? Please Join Codex Testnet.
If you want to run Codex locally without joining the Testnet, consider trying the Codex Two-Client Test or the Running a Local Codex Network with Marketplace Support.