# 
[](https://substrate.dev/) [](#LICENSE)
[](https://github.com/CESSProject/cess/actions/workflows/build-and-test.yml)
**[CESS](http://cess.network/) is to provide the capabilities of a new global decentralized cloud data storage network by building with the infrastructure of decentralized cloud data network of the [substrate](https://substrate.dev/) while maintaining the data security and reliability guarantees inherent to blockchain technology. Learn more at [white-paper](https://github.com/CESSProject/Whitepaper).**
## Getting Started
### Install Guide
Follow [Setup](docs/setup.md) to guide you install the CESS development.
### Build Node
The `cargo run` command will perform an initial build. Use the following commands to build the node without launching it:
```
# Fetch the code
git clone https://github.com/CESSProject/cess.git
cd cess
# Build the node (The first build will be long (~30min))
cargo build --release
```
## Run The CESS Node
After the node has finished compiling, you can follow these steps below to run it.
### Generate Keys
If you already have keys for Substrate using the [SS58 address encoding format](https://docs.substrate.io/v3/advanced/ss58/), please see the next section.
Begin by compiling and installing the utility ([instructions and more info here](https://substrate.dev/docs/en/knowledgebase/integrate/subkey)).
Generate a mnemonic (Secret phrase) and see the `sr25519` key and address associated with it.
```
# subkey command
subkey generate --scheme sr25519
```
Now see the `ed25519` key and address associated with the same mnemonic (secret phrase).
```
# subkey command
subkey inspect --scheme ed25519 "SECRET PHRASE YOU JUST GENERATED"
```
We recommend that you record the above outputs and keep mnemonic in safe.
### Run Testnet
Launch node on the cess-testnet with:
```
# start
./target/release/cess-node --base-path /tmp/cess --chain cess-testnet
```
Then you can add an account with:
```
# create key file
vim secretKey.txt
# add secret phrase for the node in the file
YOUR ACCOUNT'S SECRET PHRASE
```
```
# add key to node
./target/release/cess-node key insert --base-path /tmp/cess --chain cess-testnet --scheme Sr25519 --key-type babe --suri /root/secretKey.txt
./target/release/cess-node key insert --base-path /tmp/cess --chain cess-testnet --scheme Ed25519 --key-type gran --suri /root/secretKey.txt
```
Now you can launch node again:
```
# start
./target/release/cess-node --base-path /tmp/cess --chain cess-testnet
```
## Storage Mining
CESS supports to obtain incentives by contributing idle storage with [storage mining tool](https://github.com/CESSProject/storage-mining-tool), and click [here](https://github.com/CESSProject/cess/tree/main/docs/designs-of-storage-mining.md) to learn more.
## Run Tests
CESS has Rust unit tests, and can be run locally.
```
# Run all the Rust unit tests
cargo test --release
```
## Module Documentation
* [Files Bank](pallets/file-bank)
* [Audit](pallets/audit)
* [Sminer](pallets/sminer)
* [Tee Worker](pallets/tee-worker)
## Contribute
Please follow the contributions guidelines as outlined in [`docs/CONTRIBUTING.adoc`](docs/CONTRIBUTING.adoc). In all communications and contributions, this project follows the [Contributor Covenant Code of Conduct](docs/CODE_OF_CONDUCT.md).
## cess-bootstrap
Please download the code of the current latest release
```
cd cess
#Under the /cess root directory
cargo build --release
```
Go to the /cess/target/release directory to obtain the cess node file