Browse Source

update readmes after importing landing repo

Mokhtar Naamani 4 years ago
parent
commit
b28e31f149
4 changed files with 171 additions and 13 deletions
  1. 0 0
      LICENSE
  2. 35 13
      README.md
  3. 93 0
      node/README.md
  4. 43 0
      runtime/README.md

+ 0 - 0
node/LICENSE → LICENSE


+ 35 - 13
README.md

@@ -1,3 +1,6 @@
+# Joystream [![Build Status](https://travis-ci.org/Joystream/substrate-runtime-joystream.svg?branch=master)](https://travis-ci.org/Joystream/substrate-runtime-joystream)
+
+
 <p align="center"><img src="img/landing-cover_new.svg"></p>
 
 <div align="center">
@@ -69,7 +72,14 @@ Table of Contents
 
 # Overview
 
-This landing repo is intended to be the best starting place to get a coherent view of how information is organised in this GitHub organization.
+This landing repo is intended to be the best starting place to get a coherent view of how information is organized in this GitHub organization.
+
+It is the main code reposity for all joystream software. It will  house the substrate chain project, the full node and runtime and all reusable substrate runtime modules that make up the joystream runtime. In addition to all front-end apps and infrastructure servers necessary for operating the network.
+
+The repository both a cargo workspace and yarn workspace.
+
+The Joystream network builds on a pre-release version of [substrate v2.0](https://substrate.dev/) and adds additional
+functionality to support the [various roles](https://www.joystream.org/roles) that can be entered into on the platform.
 
 # Contribute
 
@@ -105,7 +115,7 @@ This is the set of active repos to which this document refers:
 | Repo                                                                                      | Description                                           | Maintainer      |
 | :-------------                                                                            | :-------------                                        | :-----------:   |
 | [apps](https://github.com/Joystream/apps)                                                 | The Pioneer application.                              | @siman          |
-| [substrate-node-joystream](https://github.com/Joystream/substrate-node-joystream)         | The Joystream substrate node.                         | @mnaamani       |
+| [joystream-node](./node)         | The Joystream substrate node.                         | @mnaamani       |
 | [storage-node-joystream](https://github.com/Joystream/storage-node-joystream)             | The storage node application.                         | @mnaamani   |
 | [query-node-joystream](https://github.com/Joystream/query-node-joystream)                             | Query node for the Joystream Platform.    | @paul           |
 
@@ -123,20 +133,19 @@ This is the set of active repos to which this document refers:
 | [manifesto](https://github.com/Joystream/manifesto)                             | The Joystream manifesto.    | @bedeho           |
 | [joystream-content-system](https://github.com/Joystream/joystream-content-system)                             | A repo containing information and resources about the Joystream content system.     | @bwhm           |
 
-## Runtime Repos
+## Runtime & Runtime Modules
 
 | Repo                                                                                      | Description                                           | Maintainer      |
 | :-------------                                                                            | :-------------                                        | :-----------:   |
-| [substrate-runtime-joystream](https://github.com/Joystream/substrate-runtime-joystream)   | The Joystream substrate runtime.                      | @mnaamani       |
-| [substrate-content-directory-working-group-module](https://github.com/Joystream/substrate-content-directory-working-group-module)                             | A working group module for the Joystream content directory.    | @bedeho           |
-| [substrate-versioned-store-permissions-module](https://github.com/Joystream/substrate-versioned-store-permissions-module)                             | Permissioned access to the versioned store.    | @mnaamani           |
-| [substrate-versioned-store-module](https://github.com/Joystream/substrate-versioned-store-module)                             | A versioned data store Substrate module.    | @siman           |
-| [substrate-recurring-reward-module](https://github.com/Joystream/substrate-recurring-reward-module)                             | Recurring periodic minting of rewards for recipients.    | @mnaamani           |
-| [substrate-token-minting-module](https://github.com/Joystream/substrate-token-minting-module)                             | Transferrable capacity constrained token minting.    | @mnaamani           |
-| [substrate-hiring-module](https://github.com/Joystream/substrate-hiring-module)                             | Hiring for on-chain organisations.    | @bedeho           |
-| [substrate-stake-module](https://github.com/Joystream/substrate-stake-module)                             | Managed staking, unstaking and slashing.    | @mnaamani           |
-| [substrate-forum-module](https://github.com/Joystream/substrate-forum-module)                             | The on-chain Joystream community forum.    | @bedeho           |
-| [substrate-module-template](https://github.com/Joystream/substrate-module-template)                             | Substrate runtime module template.    | @mnaamani           |
+| [runtime](./runtime)   | The Joystream substrate runtime.                      | @mnaamani       |
+| [substrate-content-directory-working-group-module](./runtime-modules/content-directory-working-group)                             | A working group module for the Joystream content directory.    | @bedeho           |
+| [substrate-versioned-store-permissions-module](./runtime-modules/versioned-store-permissions-module)                             | Permissioned access to the versioned store.    | @mnaamani           |
+| [substrate-versioned-store-module](./runtime-modules/versioned-store-module)                             | A versioned data store Substrate module.    | @siman           |
+| [substrate-recurring-reward-module](./runtime-modules/recurring-reward)                             | Recurring periodic minting of rewards for recipients.    | @mnaamani           |
+| [substrate-token-minting-module](./runtime-modules/token-minting)                             | Transferrable capacity constrained token minting.    | @mnaamani           |
+| [substrate-hiring-module](./runtime-modules/hiring)                             | Hiring for on-chain organisations.    | @bedeho           |
+| [substrate-stake-module](./runtime-modules/stake)                             | Managed staking, unstaking and slashing.    | @mnaamani           |
+| [substrate-forum-module](./runtime-modules/forum)                             | The on-chain Joystream community forum.    | @bedeho           |
 
 ## Libraries and Tools
 
@@ -378,3 +387,16 @@ WIP: describe how we use GitHub, in particular
 - how to use this repo, in particular managing label sets, projects, etc.
 - explain gitflow
 - collaboration, membership status policies.
+
+
+## Authors
+
+See also the list of [CONTRIBUTORS](./CONTRIBUTORS) who participated in this project.
+
+## License
+
+This project is licensed under the GPLv3 License - see the [LICENSE](./LICENSE) file for details
+
+## Acknowledgments
+
+Thanks to the whole [Parity Tech](https://www.parity.io/) team for making substrate and helping on riot chat with tips, suggestions, tutorials and answering all our questions during development.

+ 93 - 0
node/README.md

@@ -0,0 +1,93 @@
+# Joystream Node [![Build Status](https://travis-ci.org/Joystream/substrate-runtime-joystream.svg?branch=master)](https://travis-ci.org/Joystream/substrate-runtime-joystream)
+
+## Build Status
+
+Development [![Development Branch Build Status](https://travis-ci.org/Joystream/substrate-runtime-joystream.svg?branch=development)](https://travis-ci.org/Joystream/substrate-runtime-joystream)
+
+More detailed build history on [Travis CI](https://travis-ci.org/github/Joystream/substrate-runtime-joystream/builds)
+
+## Validator
+![ Nodes for Joystream](./validator-node-banner.svg)
+
+Joystream node is the main server application that connects to the network, synchronizes the blockchain with other nodes and produces blocks if configured as a validator node.
+
+To setup a full node and validator review the [advanced guide from the helpdesk](https://github.com/Joystream/helpdesk/tree/master/roles/validators).
+
+
+###  Pre-built Binaries
+
+The latest pre-built binaries can be downloads from the [releases](https://github.com/Joystream/substrate-runtime-joystream/releases) page.
+
+
+### Building from source
+
+Clone the repository and install build tools:
+
+```bash
+git clone https://github.com/Joystream/joystream.git
+
+cd joystream/
+
+./setup.sh
+```
+
+### Building
+
+```bash
+cargo build --release
+```
+
+### Running a public node on the Rome testnet
+
+Run the node and connect to the public testnet.
+
+```bash
+cargo run --release -- --chain ./rome-tesnet.json
+```
+
+The `rome-testnet.json` chain file can be ontained from the [release page](https://github.com/Joystream/joystream/releases/tag/v6.8.0)
+
+
+### Installing a release build
+This will install the executable `joystream-node` to your `~/.cargo/bin` folder, which you would normally have in your `$PATH` environment.
+
+```bash
+cargo install joystream-node --path node/
+```
+
+Now you can run
+
+```bash
+joystream-node --chain rome-testnet.json
+```
+
+### Local development
+
+This will build and run a fresh new local development chain purging existing one:
+
+```bash
+./scripts/run-dev-chain.sh
+```
+
+### Unit tests
+
+```bash
+cargo test
+```
+
+
+## Coding style
+
+We use `cargo-fmt` to format the source code for consistency.
+
+It should be available on your machine if you ran the `setup.sh` script, otherwise install it with rustup:
+
+```bash
+rustup component add rustfmt
+```
+
+Applying code formatting on all source files recursing subfolders:
+
+```
+cargo-fmt
+```

+ 43 - 0
runtime/README.md

@@ -0,0 +1,43 @@
+## Joystream Runtime
+
+![Joystream Runtime](./runtime-banner.svg)
+
+
+The runtime is the code that defines the consensus rules of the Joystream protocol.
+It is compiled to WASM and lives on chain.
+Joystream node execute the code's logic to validate transactions and blocks on the blockchain.
+
+When building joystream-node as described abot with `cargo build --release`, in addition to the joystream-node binary being built the WASM blob artifact is produced in:
+
+`target/release/wbuild/joystream-node-runtime/joystream_node_runtime.compact.wasm`
+
+
+### Deployment
+
+Deploying the compiled runtime on a live system can be done in one of two ways:
+
+1. Joystream runtime upgrade proposals which will be voted on by the council. When the Joystream platform is live, this will be the only way to upgrade the chain's runtime code.
+
+2. During development and testnet phases, we can send an extrinsic (transaction signed with the sudo key) invoking `system::setCode()`. This can be done either from the UI/extrinsics app, or directly with an admin script.
+
+### Versioning the runtime
+
+Versioning of the runtime is set in `runtime/src/lib.rs`
+For detailed information about how to set correct version numbers when developing a new runtime, [see this](https://github.com/Joystream/substrate-runtime-joystream/issues/1)
+
+
+## Coding style
+
+We use `cargo-fmt` to format the source code for consistency.
+
+It should be available on your machine if you ran the `setup.sh` script, otherwise install it with rustup:
+
+```bash
+rustup component add rustfmt
+```
+
+Applying code formatting on all source files recursing subfolders:
+
+```
+cargo-fmt
+```