From a49ec2693eb333524958c5ff33199ecb07adfd6f Mon Sep 17 00:00:00 2001 From: Trantorian Date: Fri, 12 Jan 2024 12:29:21 +0000 Subject: [PATCH] docs(README): :memo: Updated project README.md Add setup, testing and contribution instructions --- README.md | 34 +++++++++++++++++++++++++++++++--- flake.nix | 1 + 2 files changed, 32 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 622dc0d027..8c9a5ba4d6 100644 --- a/README.md +++ b/README.md @@ -18,14 +18,42 @@ # ๐Ÿ‘ฝ Deoxys: Starknet full node client on Substrate -## โš™๏ธ Installation +Deoxys is a Starknet *full node* client implementation using rust and leveraging the power of substrate and its community. -## ๐Ÿ“ธ Snapshots +## โš™๏ธ Getting started -## โœ” Supported Features +> โš ๏ธ We strongly recommend you use [nix](https://nixos.org/download) to set up your development environment. + +### Setup with Nix + +You will need to have [nix](https://nixos.org/download) installed on your system for this step, with [nix flakes](https://nixos.wiki/wiki/Flakes) enabled as an experimental feature. +Then, simply run the following command inside the cloned repository: + +```sh +nix develop +``` + +This will open a new shell session with all the required dependencies. Note that this is not a containerized environment, and local changes to files will persist. + +### Manual setup + +Make sure to have the following packages installed on your system: +```sh +openssl pkgconfig protobuf clang rocksdb alsa +``` + +You will also need to have [rust](https://www.rust-lang.org/) configured locally. + +## ๐Ÿงช Testing + +> โš ๏ธ Testing will require you both compile and run a test node locally. Make sure to have at least 300GB available to store the entirety of the Starknet blockchain history. **This will take time, so do it as soon as possible**. + +Testing is done using the [ditto](https://github.com/KasarLabs/ditto) unit testing framework. Refer to that repository's documentation for further information ## ๐Ÿ‘ Contribute +You are welcome to propose your help for contributions via [onlydust](https://app.onlydust.com/p/deoxys). Contributions will only be accepted via pull request through forks of this repository. Any pull request should be formatted using `cargo fmt` and linted with `cargo clippy` and *will be checked* during integration tests. + ## ๐Ÿค Partnerships To establish a partnership with the Kasar team, or if you have any suggestion or diff --git a/flake.nix b/flake.nix index 6711f3cb38..2c94629b05 100644 --- a/flake.nix +++ b/flake.nix @@ -27,6 +27,7 @@ rustToolchain clang rocksdb + alsaLib ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];