You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+63-13Lines changed: 63 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,76 +1,120 @@
1
1
About Genesis
2
2
=============
3
3
4
-
Genesis is an open source blockchain platform which implemented as blockchain network consisting of nodes communicating each other. Each node is backend service having own database and can be interacted by the end user with a client or web ui.
4
+
Genesis is an open source blockchain platform which implemented as blockchain network consisting of nodes communicating each other. Each node is backend service having own database and can be interacted by the end user with a client or web UI.
5
5
6
6
The goal of this quick start solution is to run a local testing network of several Genesis nodes (backends with GUI clients) to give the end user an idea of how Genesis blockchain works and provide usage examples of graphical interface elements as well as smart-contracts.
7
7
8
-
The backend-side (backend itlsef and database engine) software runs in docker containers and clients run nativly on the host system side.
8
+
The backend-side (backend itsef and database engine) software runs in docker containers and clients run natively on the host system side.
9
9
As soon as clients start user can interact with local testing Genesis blockchain network.
10
10
11
11
Usage
12
12
=====
13
13
14
14
Currently Genesis quick start was tested on Mac and Linux.
15
-
Windows support is comming.
15
+
Windows support is coming.
16
16
17
17
Use manage.sh to manage Genesis testbed on Linux/Mac and manage.exe to
18
18
manage Genesis testbed on Windows.
19
19
20
20
### Linux/Mac
21
21
22
-
To create testing network of 5 nodes on Linux/Mac use the following command:
22
+
To create a testing network of 5 nodes on Linux/Mac use the following command:
23
+
24
+
on Mac with Admin account:
23
25
24
26
```shell
25
27
./manage.sh install 5
26
28
```
29
+
on Linux with sudo-enabled account:
30
+
31
+
```shell
32
+
sudo ./manage.sh install 5
33
+
```
27
34
28
35
This will download and install all required software (docker if it's not installed yet, docker containers with Genesis backends and databases and Genesis clients)
29
36
and start 5 Genesis backend instances and 5 accordingly connected Genesis clients.
30
37
31
38
To stop clients and to stop and delete docker containers run this command:
32
39
40
+
on Mac with Admin account:
33
41
```shell
34
42
./manage delete
35
43
```
44
+
on Linux with sudo-enabled account:
45
+
```shell
46
+
sudo ./manage delete
47
+
```
36
48
37
49
To stop clients and to stop and delete docker containers and images run this command:
38
50
51
+
on Mac with Admin account:
39
52
```shell
40
53
./manage delete-all
41
54
```
55
+
on Linux with sudo-enabled account:
56
+
```shell
57
+
sudo ./manage delete-all
58
+
```
42
59
43
-
To check the status of testing network run this command:
60
+
To check the status of the testing network run this command:
44
61
62
+
on Mac with Admin account:
63
+
```shell
64
+
./manage status
65
+
```
66
+
on Linux with sudo-enabled account:
45
67
```shell
46
68
./manage status
47
69
```
48
70
49
71
To start database shell connected to appropriate backend's database run:
50
72
73
+
on Mac with Admin account:
51
74
```shell
52
75
./manage db-shell N
53
76
```
77
+
on Linux with sudo-enabled account:
78
+
```shell
79
+
sudo ./manage db-shell N
80
+
```
81
+
54
82
55
83
where N is the number of a backend.
56
84
57
85
To stop all clients run:
58
86
87
+
on Mac with Admin account:
59
88
```shell
60
89
./manage stop-clients
61
90
```
91
+
on Linux with sudo-enabled account:
92
+
```shell
93
+
sudo ./manage stop-clients
94
+
```
62
95
63
96
To start clients again run:
64
97
98
+
on Mac with Admin account:
65
99
```shell
66
100
./manage start-clients
67
101
```
102
+
on Linux with sudo-enabled account:
103
+
```shell
104
+
sudo ./manage start-clients
105
+
```
68
106
69
107
To reinstall (delete all Genesis-related containers and run installation again with the last installation parameters) run:
70
108
109
+
on Mac with Admin account:
71
110
```shell
72
111
./manage reinstall
73
112
```
113
+
on Linux with sudo-enabled account:
114
+
```shell
115
+
sudo ./manage reinstall
116
+
```
117
+
74
118
### Windows
75
119
76
120
Please see [Genesis Quick Start for Windows](https://github.com/GenesisKernel/quick-start-win)
@@ -83,15 +127,20 @@ A password is required to confirm transactions. The default password is 'genesis
83
127
Exposed ports
84
128
=============
85
129
86
-
By default docker backends and database listening ports are exposed to system by
130
+
By default docker backends and database listening ports are exposed to the system by
87
131
the following rules:
88
132
89
133
* Database port is exposed to the system port 15432
90
-
* Web frontend ports are exposed to 'web port shift' value (8300 by default) plus the index number of a backend, for example the listening port of the first backend by default is exposed to 8301, the second - to 8302 and so on
91
-
* Client ports are exposed to 'client port shift' value (17300 by default) plus the index number of a backend, for example the listening port of the first backend by default is exposed to 17301, the second - to 17302 and so on
134
+
* Web frontend ports are exposed to 'web port shift' value (8300 by default) plus the index number of a backend, for example, the listening port of the first backend by default is exposed to 8301, the second - to 8302 and so on
135
+
* Client ports are exposed to 'client port shift' value (17300 by default) plus the index number of a backend, for example, the listening port of the first backend by default is exposed to 17301, the second - to 17302 and so on
92
136
93
137
These default ports shifts values can be changed during installation:
94
138
139
+
on Mac with Admin account:
140
+
```shell
141
+
./manage.sh install N WPS CPS DBP BLEXP
142
+
```
143
+
on Linux with sudo-enabled account:
95
144
```shell
96
145
./manage.sh install N WPS CPS DBP BLEXP
97
146
```
@@ -106,21 +155,22 @@ where:
106
155
107
156
So running this command:
108
157
158
+
on Mac with Admin account:
159
+
```shell
160
+
./manage.sh install 4 9000 19000 6000
161
+
```
162
+
on Linux with sudo-enabled account:
109
163
```shell
110
164
./manage.sh install 4 9000 19000 6000
111
165
```
112
166
113
-
will start 4 backends and 4 clients, and fronend ports will be exposed to system port: 9001, 9002, 9003, 9004, clients ports will be exposed to system ports: 19001, 19002, 19003, 19004, and database port will be exposed to system port 6000
167
+
will start 4 backends and 4 clients, and frontend ports will be exposed to system port: 9001, 9002, 9003, 9004, clients ports will be exposed to system ports: 19001, 19002, 19003, 19004, and database port will be exposed to system port 6000
114
168
115
169
Block Explorer
116
170
==============
117
171
118
172
Initial support of Block Explorer was implemented. The default host port for it is 18200, use browser to open it.
0 commit comments