Skip to content

Commit b378937

Browse files
feat: Update document (#956)
Signed-off-by: Jeffrey Tang <[email protected]>
1 parent 58e96e1 commit b378937

File tree

8 files changed

+100
-9
lines changed

8 files changed

+100
-9
lines changed

DEV.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Developer instructions
1+
# Instructions for developers working on solo project
22

33
Below we describe how you can set up local environment and contribute to `solo`.
44

@@ -11,7 +11,7 @@ Below we describe how you can set up local environment and contribute to `solo`.
1111
* Run `npm i` to install the required packages
1212
* Run `npm link` to install `solo` as the CLI
1313
* Note: you need to do it once. If `solo` already exists in your path, you will need to remove it first.
14-
* Alternative way would be to run `npm run solo -- <COMMAND> <ARGS>`
14+
* Alternative way would be to run `npm run solo-test -- <COMMAND> <ARGS>`
1515
* Run `npm test` or `npm run test` to run the unit tests
1616
* Run `solo` to access the CLI.
1717
* Note that debug logs are stored at `$HOME/.solo/logs/solo.log`.
@@ -23,6 +23,7 @@ Below we describe how you can set up local environment and contribute to `solo`.
2323
* In order to run E2E test, we need to set up cluster and install the chart.
2424
* Run `./test/e2e/setup-e2e.sh`
2525
* Run `npm run test-e2e-standard`, NOTE: this excludes some E2E tests that have their own command
26+
* You can check the section `scripts` in file `package.json` for more other test commands available.
2627

2728
* Tests are run in random order. The random seed value is shown as message such as:
2829
`Using timestamp seed 1711414247085 for random test order`

README.md

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,17 @@ An opinionated CLI tool to deploy and manage standalone test networks.
1414

1515
## Requirements
1616

17-
| Solo Version | Node.js | Kind | Solo Chart | Hedera | Kubernetes | Kubectl | Helm | k9s | Docker Resources | Java |
18-
|--------------|---------------------------|------------|-----------|----------|------------|------------|---------|------------|-------------------------|--------------|
19-
| 0.29.0 | >= 20.14.0 (lts/hydrogen) | >= v1.29.1 | v0.30.0 | v0.53.0+ | >= v1.27.3 | >= v1.27.3 | v3.14.2 | >= v0.27.4 | Memory >= 8GB, CPU >= 4 | >= 21.0.1+12 |
20-
| 0.30.0 | >= 20.14.0 (lts/hydrogen) | >= v1.29.1 | v0.30.0 | v0.54.0+ | >= v1.27.3 | >= v1.27.3 | v3.14.2 | >= v0.27.4 | Memory >= 8GB, CPU >= 4 | >= 21.0.1+12 |
21-
| 0.31.4 | >= 20.18.0 (lts/iron) | >= v1.29.1 | v0.31.4 | v0.54.0+ | >= v1.27.3 | >= v1.27.3 | v3.14.2 | >= v0.27.4 | Memory >= 8GB, CPU >= 4 | >= 21.0.1+12 |
17+
| Solo Version | Node.js | Kind | Solo Chart | Hedera | Kubernetes | Kubectl | Helm | k9s | Docker Resources |
18+
|--------------|---------------------------|------------|------------|----------|------------|------------|---------|------------|-------------------------|
19+
| 0.29.0 | >= 20.14.0 (lts/hydrogen) | >= v1.29.1 | v0.30.0 | v0.53.0+ | >= v1.27.3 | >= v1.27.3 | v3.14.2 | >= v0.27.4 | Memory >= 8GB, CPU >= 4 |
20+
| 0.30.0 | >= 20.14.0 (lts/hydrogen) | >= v1.29.1 | v0.30.0 | v0.54.0+ | >= v1.27.3 | >= v1.27.3 | v3.14.2 | >= v0.27.4 | Memory >= 8GB, CPU >= 4 |
21+
| 0.31.4 | >= 20.18.0 (lts/iron) | >= v1.29.1 | v0.31.4 | v0.54.0+ | >= v1.27.3 | >= v1.27.3 | v3.14.2 | >= v0.27.4 | Memory >= 8GB, CPU >= 4 |
22+
23+
### Hardware Requirements
24+
25+
To run a three-node network, you will need to set up Docker Desktop with at least 8GB of memory and 4 CPUs.
26+
27+
![alt text](/docs/content/User/DockerDesktop.png)
2228

2329
## Setup
2430

@@ -35,6 +41,8 @@ nvm use lts/hydrogen
3541

3642
## Install Solo
3743

44+
* Run `npm clean install` or `npm ci`
45+
* Run `npm run build`
3846
* Run `npm install -g @hashgraph/solo`
3947

4048
## Documentation

docs/content/User/Env.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
## Environment Variables Used in Solo
2+
3+
User can configure the following environment variables to customize the behavior of Solo.
4+
5+
### Table of environment variables
6+
7+
| Environment Variable | Description | Default Value |
8+
|------------------------------------|--------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------|
9+
| `SOLO_HOME` | Path to the Solo cache and log files | `~/.solo` |
10+
| `SOLO_CHAIN_ID` | Chain id of solo network | `298` |
11+
| `SOLO_NODE_ACCOUNT_ID_START` | First node account ID of solo test network | `0.0.3` |
12+
| `SOLO_NODE_INTERNAL_GOSSIP_PORT` | Internal ossip port number used by hedera netwrok | `50111` |
13+
| `SOLO_NODE_EXTERNAL_GOSSIP_PORT` | External port number used by hedera network | `50111` |
14+
| `SOLO_NODE_DEFAULT_STAKE_AMOUNT` | Default stake amount for node | `500` |
15+
| `SOLO_OPERATOR_ID` | Operator account ID for solo network | `0.0.2` |
16+
| `SOLO_OPERATOR_KEY` | Operator private key for solo network | `302e020100300506032b65700422042091132178e72057a1d7528025956fe39b0b847f200ab59b2fdd367017f3087137` |
17+
| `SOLO_OPERATOR_PUBLIC_KEY` | Operator public key for solo network | `302a300506032b65700321000aa8e21064c61eab86e2a9c164565b4e7a9a4146106e0a6cd03a8c395a110e92` |
18+
| `FREEZE_ADMIN_ACCOUNT` | Freeze admin account ID for solo network | `0.0.58` |
19+
| `GENESIS_KEY` | Genesis private key for solo network | `302e020100300506032b65700422042091132178e72057a1d7528025956fe39b0b847f200ab59b2fdd367017f3087137` |
20+
| `LOCAL_NODE_START_PORT` | Local node start port for solo network | `30212` |
21+
| `NODE_CLIENT_MIN_BACKOFF` | The minimum amount of time to wait between retries. | `1000` |
22+
| `NODE_CLIENT_MAX_BACKOFF` | The maximum amount of time to wait between retries. | `1000` |
23+
| `NODE_CLIENT_REQUEST_TIMEOUT` | The period of time a transaction or query request will retry from a "busy" network response | `600000` |
24+
| `PODS_RUNNING_MAX_ATTEMPTS` | The maximum number of attempts to check if pods are running. | `900` |
25+
| `PODS_RUNNING_DELAY` | The interval between attempts to check if pods are running, in the unit of milliseconds. | `1000` |
26+
| `NETWORK_NODE_ACTIVE_MAX_ATTEMPTS` | The maximum number of attempts to check if network nodes are active. | `120` |
27+
| `NETWORK_NODE_ACTIVE_DELAY` | The interval between attempts to check if network nodes are active, in the unit of milliseconds. | `1000` |
28+
| `NETWORK_NODE_ACTIVE_TIMEOUT` | The period of time to wait for network nodes to become active, in the unit of milliseconds. | `60000` |
29+
| `NETWORK_PROXY_MAX_ATTEMPTS` | The maximum number of attempts to check if network proxy is running. | `300` |
30+
| `NETWORK_PROXY_DELAY` | The interval between attempts to check if network proxy is running, in the unit of milliseconds. | `2000` |
31+
| `PODS_READY_MAX_ATTEMPTS` | The maximum number of attempts to check if pods are ready. | `300` |
32+
| `PODS_READY_DELAY` | The interval between attempts to check if pods are ready, in the unit of milliseconds. | `2000` |
33+
| `RELAY_PODS_RUNNING_MAX_ATTEMPTS` | The maximum number of attempts to check if relay pods are running. | `900` |
34+
| `RELAY_PODS_RUNNING_DELAY` | The interval between attempts to check if relay pods are running, in the unit of milliseconds. | `1000` |
35+
| `RELAY_PODS_READY_MAX_ATTEMPTS` | The maximum number of attempts to check if relay pods are ready. | `100` |
36+
| `RELAY_PODS_READY_DELAY` | The interval between attempts to check if relay pods are ready, in the unit of milliseconds. | `120` |
37+
| `NETWORK_DESTROY_WAIT_TIMEOUT` | The period of time to wait for network to be destroyed, in the unit of milliseconds. | `60000` |
38+
39+
40+
41+
42+
43+
44+

docs/content/User/FAQ.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
### How can I avoid using genesis keys ?
2+
3+
You can run `solo account init` anytime after `solo node start`
4+
5+
### Where can I find the default account keys ?
6+
7+
It is the well known default genesis key [Link](https://github.com/hashgraph/hedera-services/blob/develop/hedera-node/data/onboard/GenesisPrivKey.txt)
8+
9+
### How do I get the key for an account?
10+
11+
Use the following command to get account balance and private key of the account `0.0.1007`:
12+
```bash
13+
# get account info of 0.0.1007 and also show the private key
14+
solo account get --account-id 0.0.1007 -n solo-e2e --private-key
15+
```
16+
17+
The output would be similar to the following:
18+
19+
```bash
20+
{
21+
"accountId": "0.0.1007",
22+
"privateKey": "302e020100300506032b657004220420cfea706dd9ed2d3c1660ba98acf4fdb74d247cce289ef6ef47486e055e0b9508",
23+
"publicKey": "302a300506032b65700321001d8978e647aca1195c54a4d3d5dc469b95666de14e9b6edde8ed337917b96013",
24+
"balance": 100
25+
}
26+
```

docs/content/User/GetStarted.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
## Table of Contents
22

3-
Quick start::
3+
Quick start:
44

55
* [Start solo network with single command](TaskTool.md)
66

@@ -18,6 +18,10 @@ For Hedera extended users:
1818

1919
* [Using Solo with mirror node](SoloWithMirrorNode.md)
2020
* [Access Hedera Network Services](AccessHederaServices.md)
21+
* [Using Environment Variables](Env.md)
22+
23+
FAQ:
24+
* [Frequently Asked Questions](FAQ.md)
2125

2226
For curious mind:
2327

docs/content/User/SoloWithMirrorNode.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@ kubectl port-forward svc/hedera-explorer -n "${SOLO_NAMESPACE}" 8080:80 > /dev/n
2424

2525
Then you can access the hedera explorer at `http://localhost:8080`
2626

27-
You can try to create a few accounts with solo and see the transactions in the explorer.
27+
Or you can use Task tool to deploy solo network with mirror node with a single command [link](TaskTool.md)
28+
29+
Next, you can try to create a few accounts with solo and see the transactions in the explorer.
2830

2931
```bash
3032
solo account create -n solo-e2e --hbar-amount 100

docs/content/User/TaskTool.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ task default-with-mirror
2929
task default-with-relay
3030
```
3131

32+
If mirror node or relay node is deployed, user can access the hedera explorer at http://localhost:8080
33+
3234
### Stop solo network
3335

3436
To tear down the solo network

docs/data/menu/main.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@ main:
1616
ref: "/User/SoloWithMirrorNode.md"
1717
- name: Access Hedera Network services
1818
ref: "/User/AccessHederaServices.md"
19+
- name: "Using Environment Variables"
20+
ref: "/User/Env.md"
21+
- name: FAQ
22+
ref: "/User/FAQ.md"
1923
- name: Step-by-step guide
2024
ref: "/User/StepByStepGuide.md"
2125
- name: Solo CLI manual

0 commit comments

Comments
 (0)