Decentralized Storage
Go to file
Eric b5ee57afd7
feat(slot-reservations): Support reserving slots (#907)
* feat(slot-reservations): Support reserving slots

Closes #898.

Wire up reserveSlot and canReserveSlot contract calls, but don't call them

* Remove return value from `reserveSlot`

* convert EthersError to MarketError

* Move convertEthersError to reserveSlot

* bump codex-contracts-eth after rebase

* change `canReserveSlot` and `reserveSlot` parameters

Parameters for `canReserveSlot` and `reserveSlot` were changed from `SlotId` to `RequestId` and `UInt256 slotIndex`.

* bump codex-contracts-eth after rebase

* bump codex-contracts-eth to master after codex-contracts-eth/pull/177 merged
2024-10-04 03:21:51 +00:00
.github Use CLI args when passed for cirdl in Docker entrypoint (#927) 2024-10-01 13:05:22 +00:00
benchmarks Pr add prover benchmark tool (#790) 2024-05-23 09:28:17 -07:00
codex feat(slot-reservations): Support reserving slots (#907) 2024-10-04 03:21:51 +00:00
docker Use CLI args when passed for cirdl in Docker entrypoint (#927) 2024-10-01 13:05:22 +00:00
docs Remove moved docs (#930) 2024-10-03 08:55:54 +00:00
metrics Adding metrics (#203) 2022-08-23 10:11:21 -06:00
tests Validator - support partitioning of the slot id space (#890) 2024-10-02 22:00:40 +00:00
tools/cirdl Rework circuit downloader (#882) 2024-09-23 14:37:17 +00:00
vendor feat(slot-reservations): Support reserving slots (#907) 2024-10-04 03:21:51 +00:00
.dockerignore Docker build (#354) 2023-03-08 12:45:55 +01:00
.editorconfig Project setup 2021-02-02 19:29:52 +01:00
.gitignore Add MIT/Apache licenses (#861) 2024-08-13 15:38:17 +00:00
.gitmodules Rework circuit downloader (#882) 2024-09-23 14:37:17 +00:00
LICENSE-APACHEv2 Remove extra license file (#876) 2024-08-19 09:48:03 +00:00
LICENSE-MIT Add MIT/Apache licenses (#861) 2024-08-13 15:38:17 +00:00
Makefile Rework circuit downloader (#882) 2024-09-23 14:37:17 +00:00
README.md Remove moved docs (#930) 2024-10-03 08:55:54 +00:00
build.nims Rework circuit downloader (#882) 2024-09-23 14:37:17 +00:00
codecov.yml [ci] disable pull-request comments by codecov 2022-05-19 15:23:35 +02:00
codex.nim Rework circuit downloader (#882) 2024-09-23 14:37:17 +00:00
codex.nimble remove stale and misleading dependency version metadata (#833) 2024-06-17 14:31:10 +00:00
config.nims Chronos v4 Update (v3 Compat Mode) (#814) 2024-07-18 21:04:33 +00:00
env.sh add env.sh shim to project root (#34) 2021-12-20 13:12:18 -06:00
openapi.yaml remove erasure and por parameters from openapi spec (#915) 2024-09-25 10:37:19 +00:00

README.md

Codex Decentralized Durability Engine

The Codex project aims to create a decentralized durability engine that allows persisting data in p2p networks. In other words, it allows storing files and data with predictable durability guarantees for later retrieval.

WARNING: This project is under active development and is considered pre-alpha.

License: Apache License: MIT Stability: experimental CI Docker Codecov Discord Docker Pulls

Build and Run

For detailed instructions on preparing to build nim-codex see Build Codex.

To build the project, clone it and run:

make update && make

The executable will be placed under the build directory under the project root.

Run the client with:

build/codex

Configuration

It is possible to configure a Codex node in several ways:

  1. CLI options
  2. Environment variables
  3. Configuration file

The order of priority is the same as above: CLI options --> Environment variables --> Configuration file.

Please check documentation for more information.

Guides

To get acquainted with Codex, consider:

API

The client exposes a REST API that can be used to interact with the clients. Overview of the API can be found on api.codex.storage.