* chore: spelling * chore: update testnet geth enodes records * chore: set testnet codex spr records from url * chore: publish updated packges
Codex Dappnode packages
Description
Codex is a durable, decentralised storage protocol designed to safeguard the world's most valuable information.
Repository contains code to build Dappnode packages for Codex
CodexCodex local Geth
We should select Codex package in case we would like to run Codex and use a Public RPC endpoint.
If we would like to run in a full P2P manner, Codex local Geth package contains additionally local Geth node and Codex will use it instead of the Public RPC endpoint.
Installation
Note
This code is in a preview mode and can be installed only from local builds. Please check Development documentation for more details.
# Clone
git clone https://github.com/codex-storage/DAppNodePackage-codex
# Directory
cd DAppNodePackage-codex
# Build all packages (~ 10 minutes) - use your IPFS package Container IP
npx @dappnode/dappnodesdk build --all-variants --provider=http://172.33.0.6:5001
| Package | Link |
|---|---|
| Codex | /ipfs/QmZFLxyaJgiWojBP9Gvm491SHD9pjZsmW6iwt2nSsxZiBy |
| Codex with local Geth | /ipfs/QmeuvYaHVDQsgAz6BP7AdvCu6ZMxHE5vftQ1ivcwkzd9BH |
Todo
- Automate package publishing using GitHub Actions.
- Add metrics support based on the DAppNodePackage-DMS.
Known issues
-
Dappnode Setup Wizard and UI does not permit to update port mapping port for container. And in that case we are using a default value, which is set to
8090and appropriate Codex variableCODEX_DISC_PORT=8090- these values are hardcoded in the docker-compose.yml.This also is a Codex limitation, because for DHT peers connection, we are using
src-ip:src-portinformation and this can't be changed now. So, listener port must be equal with the forwarded one.A single way to bypass that is to update, after installation,
CODEX_DISC_PORTvariable to the new value and add a new port forwarding in the the package Network settings. -
Dappnode Setup Wizard is not supported for Multi-Config Package, so our main setup-wizard.yml does not contain any settings for Geth configuration and we are using all hardcoded values.