2024-10-02 19:44:33 +03:00
---
outline: [2, 4]
---
2024-08-16 12:57:40 +03:00
# Codex Testnet
2024-10-08 06:32:22 -03:00
The Codex Testnet has been launched and is ready to be used for testing.
2024-08-16 12:57:40 +03:00
2024-10-02 19:44:33 +03:00
Your participation in the Codex Testnet is subject to the [Codex Testnet Terms and Conditions ](https://github.com/codex-storage/codex-testnet-starter/blob/master/Codex%20Testnet%20Terms%20and%20Conditions.pdf ) and [Codex Testnet Privacy Policy ](https://github.com/codex-storage/codex-testnet-starter/blob/master/Codex%20Testnet%20Privacy%20Policy.pdf ).
2024-09-12 12:28:52 +03:00
2024-10-08 06:32:22 -03:00
**Guides.** We have basic guides covering how to set up a Storage Client which can be used to upload and persist files by buying storage in the Codex network. We recommend that you start with those.
2024-09-12 12:28:52 +03:00
2024-10-08 06:32:22 -03:00
Running a Storage Provider is more involved and is covered as a separate guide which demonstrates the storage sales side, as well as how to run Codex with its own local Ethereum execution client.
Guides are available either on Discord, as step-by-step, interactive guides, or here as simple instructions that you can follow:
- **Basic: running a storage client.** [[Discord ](#sc-guide-discord ) | [web ](#sc-guide-web )]
- **Advanced: Running a storage provider.** [[web ](#sp-guide-web )]
The guides were tested on the following operating systems:
2024-09-12 12:28:52 +03:00
2024-10-02 19:44:33 +03:00
- Linux: Ubuntu 24.04, Debian 12, Fedora 40
- macOS: 15
2024-10-03 13:55:23 +03:00
- Windows: 11, Server 2022
2024-10-02 19:44:33 +03:00
2024-10-08 06:32:22 -03:00
## Running a Storage Client (Discord Version) {#sc-guide-discord}
2024-10-02 19:44:33 +03:00
You can join [Codex Discord server ](https://discord.gg/codex-storage ) and jump into the [#:tv:|join-testnet ](https://discord.com/channels/895609329053474826/1289923125928001702 ) channel.
2024-10-08 06:32:22 -03:00
It is mostly the same as a [Web guide ](#sc-guide-web ), but uses Discord capabilities so you can have an interactive, step-by-step guide, and you also can get a support in the [#:sos:|node-help ](https://discord.com/channels/895609329053474826/1286205545837105224 ) channel.
2024-10-02 19:44:33 +03:00
2024-10-08 06:32:22 -03:00
## Running a Storage Client (Web Version) {#sc-guide-web}
2024-10-02 19:44:33 +03:00
**Prerequisites**
2024-10-08 06:32:22 -03:00
- Access to your Internet router so you can [configure port forwarding ](#basic-common )
2024-10-02 19:44:33 +03:00
2024-10-03 00:06:15 +03:00
Steps for [Linux/macOS ](#basic-linux-macos ) and [Windows ](#basic-windows ) are slightly different, so please use ones for your OS.
2024-10-02 19:44:33 +03:00
< hr >
2024-10-03 00:06:15 +03:00
### Linux/macOS {#basic-linux-macos}
2024-10-08 06:32:22 -03:00
1. Download the master tarball from the Codex testnet starter repository, and untar its contents:
2024-10-02 19:44:33 +03:00
```shell
2024-10-08 06:32:22 -03:00
curl -LO https://github.com/codex-storage/codex-testnet-starter/archive/master.tar.gz
tar xzvf master.tar.gz
rm master.tar.gz
2024-10-02 19:44:33 +03:00
```
2. Navigate to the scripts folder:
```shell
2024-10-08 06:32:22 -03:00
cd codex-testnet-starter-master/scripts
2024-10-02 19:44:33 +03:00
```
3. Install dependencies when required:
```shell
# Debian-based Linux
sudo apt update & & sudo apt install libgomp1
```
2024-10-03 00:06:15 +03:00
4. Download Codex binaries from GitHub releases:
2024-10-02 19:44:33 +03:00
```shell
./download_online.sh
```
2024-10-03 00:06:15 +03:00
5. Generate an ethereum keypair:
2024-10-02 19:44:33 +03:00
```shell
./generate.sh
```
Your private key will be saved to `eth.key` and address to `eth.address` file.
2024-10-03 00:06:15 +03:00
6. Fill-up your address shown on the screen with the tokens:
2024-10-02 19:44:33 +03:00
- Use the web faucets to mint some [ETH ](https://faucet-eth.testnet.codex.storage ) and [TST ](https://faucet-tst.testnet.codex.storage ) tokens.
- We can also do this using Discord [# bot ](https://discord.com/channels/895609329053474826/1230785221553819669 ) channel
- Use `/set ethaddress` command to enter your generated address
- Use `/mint` command to receive ETH and TST tokens
- Use `/balance` command to check if you have received test tokens successfully
2024-10-03 00:06:15 +03:00
7. Run Codex node:
2024-10-02 19:44:33 +03:00
```shell
./run_client.sh
```
2024-10-03 00:06:15 +03:00
8. Configure [port forwarding ](#basic-common ) and we are ready go to.
### Windows {#basic-windows}
2024-10-08 06:32:22 -03:00
1. Download the master tarball from the Codex testnet starter repository, and untar its contents:
> [!WARNING]
> Windows antivirus software and built-in firewalls may cause steps to fail. We will cover some possible errors here, but always consider checking your setup if requests fail - in particular, if temporarily disabling your antivirus fixes it, then it is likely to be the culprit.
```batch
curl -LO https://github.com/codex-storage/codex-testnet-starter/archive/master.tar.gz
```
If you see an error like:
```batch
curl: (35) schannel: next InitializeSecurityContext failed: CRYPT_E_NO_REVOCATION_CHECK (0x80092012) - The revocation function was unable to check revocation for the certificate.
```
You may need to add the `--ssl-no-revoke` option to your curl call, e.g.:
```batch
curl -LO --ssl-no-revoke https://github.com/codex-storage/codex-testnet-starter/archive/master.tar.gz
```
1. Extract the contents of the tar file, and then delete it:
2024-10-03 00:06:15 +03:00
```batch
2024-10-08 06:32:22 -03:00
tar xzvf master.tar.gz
del master.tar.gz
2024-10-03 00:06:15 +03:00
```
2. Navigate to the scripts folder:
```batch
2024-10-08 06:32:22 -03:00
cd codex-testnet-starter-master\scripts\windows
2024-10-03 00:06:15 +03:00
```
3. Download Codex binaries from GitHub releases:
```batch
download-online.bat
```
4. Generate an ethereum keypair:
```batch
generate.bat
```
Your private key will be saved to `eth.key` and address to `eth.address` file.
5. Fill-up your address shown on the screen with the tokens:
- Use the web faucets to mint some [ETH ](https://faucet-eth.testnet.codex.storage ) and [TST ](https://faucet-tst.testnet.codex.storage ) tokens.
- We can also do this using Discord [# bot ](https://discord.com/channels/895609329053474826/1230785221553819669 ) channel
- Use `/set ethaddress` command to enter your generated address
- Use `/mint` command to receive ETH and TST tokens
- Use `/balance` command to check if you have received test tokens successfully
6. Run Codex node:
```batch
run-client.bat
```
7. Configure [port forwarding ](#basic-common ) and we are ready go to.
### All OS {#basic-common}
Configure [port forwarding ](https://en.wikipedia.org/wiki/Port_forwarding ) on your Internet router
| # | Protocol | Port | Description |
| - | -------- | ------ | ----------------- |
| 1 | `UDP` | `8090` | `Codex Discovery` |
| 2 | `TCP` | `8070` | `Codex Transport` |
2024-10-02 19:44:33 +03:00
After your node is up and running, you can use the [Codex API ](/developers/api ) to be able to interact with your Codex node, please check our [API walk-through ](/learn/using ) for more details.
2024-10-03 00:06:15 +03:00
You also can use [Codex App UI ](https://app.codex.storage ) to interact with your local Codex node.
2024-10-02 19:44:33 +03:00
2024-10-17 01:08:29 +02:00
Need help? Reach out to us in [#:sos:|node-help ](https://discord.com/channels/895609329053474826/1286205545837105224 ) channel or check [troubleshooting guide ](/learn/troubleshoot.md ).
2024-10-02 19:44:33 +03:00
2024-10-08 06:32:22 -03:00
## Running a Storage Provider (Web Version) {#sp-guide-web}
2024-10-02 19:44:33 +03:00
Work in progress :construction:
2024-10-08 06:32:22 -03:00
## Testnet Data
2024-10-02 19:44:33 +03:00
2024-10-08 06:32:22 -03:00
### Bootstrap Nodes
2024-09-12 12:28:52 +03:00
**Codex**
```shell
spr:CiUIAhIhAiJvIcA_ZwPZ9ugVKDbmqwhJZaig5zKyLiuaicRcCGqLEgIDARo8CicAJQgCEiECIm8hwD9nA9n26BUoNuarCEllqKDnMrIuK5qJxFwIaosQ3d6esAYaCwoJBJ_f8zKRAnU6KkYwRAIgM0MvWNJL296kJ9gWvfatfmVvT-A7O2s8Mxp8l9c8EW0CIC-h-H-jBVSgFjg3Eny2u33qF7BDnWFzo7fGfZ7_qc9P
spr:CiUIAhIhAyUvcPkKoGE7-gh84RmKIPHJPdsX5Ugm_IHVJgF-Mmu_EgIDARo8CicAJQgCEiEDJS9w-QqgYTv6CHzhGYog8ck92xflSCb8gdUmAX4ya78QoemesAYaCwoJBES39Q2RAnVOKkYwRAIgLi3rouyaZFS_Uilx8k99ySdQCP1tsmLR21tDb9p8LcgCIG30o5YnEooQ1n6tgm9fCT7s53k6XlxyeSkD_uIO9mb3
2025-03-10 15:13:43 +02:00
spr:CiUIAhIhAlNJ7ary8eOK5GcwQ6q4U8brR7iWjwhMwzHb8BzzmCEDEgIDARpJCicAJQgCEiECU0ntqvLx44rkZzBDqrhTxutHuJaPCEzDMdvwHPOYIQMQsZ67vgYaCwoJBK6Kf1-RAnVEGgsKCQSuin9fkQJ1RCpGMEQCIDxd6lXDvj1PcHgQYnNpHGfgCO5a7fejg3WhSjh2wTimAiB7YHsL1WZYU_zkHcNDWhRgMbkb3C5yRuvUhjBjGOYJYQ
2024-09-12 12:28:52 +03:00
spr:CiUIAhIhA7E4DEMer8nUOIUSaNPA4z6x0n9Xaknd28Cfw9S2-cCeEgIDARo8CicAJQgCEiEDsTgMQx6vydQ4hRJo08DjPrHSf1dqSd3bwJ_D1Lb5wJ4Qt_CesAYaCwoJBEDhWZORAnVYKkYwRAIgFNzhnftocLlVHJl1onuhbSUM7MysXPV6dawHAA0DZNsCIDRVu9gnPTH5UkcRXLtt7MLHCo4-DL-RCMyTcMxYBXL0
spr:CiUIAhIhAzZn3JmJab46BNjadVnLNQKbhnN3eYxwqpteKYY32SbOEgIDARo8CicAJQgCEiEDNmfcmYlpvjoE2Np1Wcs1ApuGc3d5jHCqm14phjfZJs4QrvWesAYaCwoJBKpA-TaRAnViKkcwRQIhANuMmZDD2c25xzTbKSirEpkZYoxbq-FU_lpI0K0e4mIVAiBfQX4yR47h1LCnHznXgDs6xx5DLO5q3lUcicqUeaqGeg
2025-02-25 15:39:32 +02:00
spr:CiUIAhIhAuN-P1D0HrJdwBmrRlZZzg6dqllRNNcQyMDUMuRtg3paEgIDARpJCicAJQgCEiEC434_UPQesl3AGatGVlnODp2qWVE01xDIwNQy5G2DeloQm_L2vQYaCwoJBI_0zSiRAnVsGgsKCQSP9M0okQJ1bCpHMEUCIQDgEVjUp1RJGb59eRPs7RPYMSGAI_fo1yv70iBtnTqefQIgVoXszc87EGFVO3aaqorEYZ21OGRko5ho_Pybdyqa6AI
spr:CiUIAhIhAsi_hgxFppWjHiKRwnYPX_qkB28dLtwK9c7apnlBanFuEgIDARpJCicAJQgCEiECyL-GDEWmlaMeIpHCdg9f-qQHbx0u3Ar1ztqmeUFqcW4Q2O32vQYaCwoJBNEmoCiRAnV2GgsKCQTRJqAokQJ1dipHMEUCIQDpC1isFfdRqNmZBfz9IGoEq7etlypB6N1-9Z5zhvmRMAIgIOsleOPr5Ra_Nk7BXmXGhe-YlLosH9jo83JtfWCy3-o
2024-09-12 12:28:52 +03:00
```
**Geth**
```shell
enode://cff0c44c62ecd6e00d72131f336bb4e4968f2c1c1abeca7d4be2d35f818608b6d8688b6b65a18f1d57796eaca32fd9d08f15908a88afe18c1748997235ea6fe7@159 .223.243.50:40010
enode://ea331eaa8c5150a45b793b3d7c17db138b09f7c9dd7d881a1e2e17a053e0d2600e0a8419899188a87e6b91928d14267949a7e6ec18bfe972f3a14c5c2fe9aecb@68 .183.245.13:40030
enode://4a7303b8a72db91c7c80c8fb69df0ffb06370d7f5fe951bcdc19107a686ba61432dc5397d073571433e8fc1f8295127cabbcbfd9d8464b242b7ad0dcd35e67fc@174 .138.127.95:40020
enode://36f25e91385206300d04b95a2f8df7d7a792db0a76bd68f897ec7749241b5fdb549a4eecfab4a03c36955d1242b0316b47548b87ad8291794ab6d3fecda3e85b@64 .225.89.147:40040
enode://2e14e4a8092b67db76c90b0a02d97d88fc2bb9df0e85df1e0a96472cdfa06b83d970ea503a9bc569c4112c4c447dbd1e1f03cf68471668ba31920ac1d05f85e3@170 .64.249.54:40050
enode://6eeb3b3af8bef5634b47b573a17477ea2c4129ab3964210afe3b93774ce57da832eb110f90fbfcfa5f7adf18e55faaf2393d2e94710882d09d0204a9d7bc6dd2@143 .244.205.40:40060
enode://6ba0e8b5d968ca8eb2650dd984cdcf50acc01e4ea182350e990191aadd79897801b79455a1186060aa3818a6bc4496af07f0912f7af53995a5ddb1e53d6f31b5@209 .38.160.40:40070
```
2024-10-02 19:44:33 +03:00
### Smart contracts
2024-09-24 13:29:23 +03:00
| Contract | Address |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| Token | [`0x34a22f3911De437307c6f4485931779670f78764` ](https://explorer.testnet.codex.storage/address/0x34a22f3911De437307c6f4485931779670f78764 ) |
2025-04-23 12:09:34 +03:00
| Verifier | [`0x1f60B2329775545AaeF743dbC3571e699405263e` ](https://explorer.testnet.codex.storage/address/0x1f60B2329775545AaeF743dbC3571e699405263e ) |
2025-06-20 12:30:08 +03:00
| Marketplace | [`marketplace.codex.storage/codex-testnet/latest` ](https://marketplace.codex.storage/codex-testnet/latest ) |
2024-09-24 13:29:23 +03:00
2024-10-02 19:44:33 +03:00
### Endpoints
2024-09-12 12:28:52 +03:00
| # | Service | URL |
| - | --------------- | ---------------------------------------------------------------------------- |
| 1 | Geth Public RPC | [rpc.testnet.codex.storage ](https://rpc.testnet.codex.storage ) |
| 2 | Block explorer | [explorer.testnet.codex.storage ](https://explorer.testnet.codex.storage ) |
| 3 | Faucet ETH | [faucet-eth.testnet.codex.storage ](https://faucet-eth.testnet.codex.storage ) |
| 4 | Faucet TST | [faucet-tst.testnet.codex.storage ](https://faucet-tst.testnet.codex.storage ) |
| 5 | Status page | [status.testnet.codex.storage ](https://status.testnet.codex.storage ) |