Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit e172852

Browse files
authored
Merge pull request #36 from GenesisKernel/develop
Update master from develop
2 parents d9eccaf + ffaa25f commit e172852

File tree

11 files changed

+4807
-971
lines changed

11 files changed

+4807
-971
lines changed

source/concepts/about-the-platform.rst

Lines changed: 138 additions & 108 deletions
Large diffs are not rendered by default.

source/concepts/faq.rst

Lines changed: 29 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,40 @@
11
FAQ
22
###
33

4-
#. In a few words, how would you describe the Genesis platform?
4+
#. In a few words, how would you describe |platform|?
55

66
- A blockchain platform, designed to build digital ecosystems on the basis of an integrated application development environment with a multi-level system for the management of access rights to data, interfaces and smart contracts.
77

8-
#. Does the Genesis platform work on the Bitcoin, Ethereum, or some other blockchain?
8+
#. Does |platform| platform work on the Bitcoin, Ethereum, or some other blockchain?
99

10-
- No, the Genesis platform is built on the basis of being its own original blockchain.
10+
- No, |platform| is built on the basis of being its own original blockchain.
1111

12-
#. What are the main differences between the Genesis platform and other public blockchain platforms with built-in mechanisms for the execution of smart contracts, such as Ethereum, Qtum, and those still being designed, including Tezos and EOS?
12+
#. What are the main differences between |platform| and other public blockchain platforms with built-in mechanisms for the execution of smart contracts, such as Ethereum, Qtum, and those still being designed, including Tezos and EOS?
1313

14-
- The Genesis platform features unique functions that cannot be found in the aforementioned blockchain platforms:
14+
- |platform| features unique functions that cannot be found in the aforementioned blockchain platforms:
1515

16-
- Integrated application development environment implemented in a single client software;
16+
- Integrated application development environment implemented in a single client software;
1717

18-
- Specialized template language for the design of interfaces, harmonized with the contract-building language;
18+
- Specialized template language for the design of interfaces, harmonized with the contract-building language;
1919

20-
- Multi-level system for the management of access rights to data, contracts, and interfaces where rights can be granted to persons, member roles, and contracts;
20+
- Multi-level system for the management of access rights to data, contracts, and interfaces where rights can be granted to persons, member roles, and contracts;
2121

22-
- Ecosystems – autonomous software environments for the creation of blockchain applications and user interactions with them;
22+
- Ecosystems – autonomous software environments for the creation of blockchain applications and user interactions with them;
2323

24-
- Legal system – a set of regulations, codified in smart laws (specialized smart contracts), which regulate relations between the platform users, define the protocol parameters changing procedures, that are used to solve problems.
24+
- Legal system – a set of regulations, codified in smart laws (specialized smart contracts), which regulate relations between the platform users, define the protocol parameters changing procedures, that are used to solve problems.
2525

26-
#. Does the Genesis platform have its own cryptocurrency?
26+
#. Does |platform| have its own cryptocurrency?
2727

28-
- No, the Genesis platform does not have any cryptocurrencies.
28+
.. ifconfig:: if_project in ('genesis')
29+
30+
- No, |platform| does not have any cryptocurrencies.
31+
32+
.. ifconfig:: if_project in ('apla')
33+
34+
- Yes, |platform| uses its own tokens, APL.
2935

3036
#. What is a validating node?
31-
37+
3238
- A validating node is a network node that is authorized to check transactions and create blocks.
3339

3440
#. Who can maintain a validating node?
@@ -37,7 +43,7 @@ FAQ
3743

3844
#. What are platform ecosystems?
3945

40-
- Ecosystems are virtually autonomous software environments for the creation of blockchain applications and the user operations within them.
46+
- Ecosystems are virtually autonomous software environments for the creation of blockchain applications and the user operations within them.
4147

4248
#. Who can create an ecosystem?
4349

@@ -57,13 +63,13 @@ FAQ
5763

5864
#. Which programming language is used for the creation of applications?
5965

60-
- Contracts are written using the Simvolio language, which was developed by the platform team (see contract language description).
66+
- Contracts are written using the Simvolio language, which was developed by the platform team (see contract language description).
6167

62-
- Interfaces are written using Protypo – an original interface template language (see template language description).
68+
- Interfaces are written using Protypo – an original interface template language (see template language description).
6369

6470
#. Which software is used for creating applications and user interaction with them?
6571

66-
- Applications are written and executed in Molis – the single software client; no other software is required.
72+
- Applications are written and executed in Molis – the single software client; no other software is required.
6773

6874
#. Can platform contracts access data using third-party API interfaces?
6975

@@ -123,13 +129,13 @@ FAQ
123129

124130
#. Who pays for the operation of applications?
125131

126-
- An account (binding account), which the tokens for payment of resources are debited from, is set by the contract creator on its activation. It can be defined using ecosystem's smart laws whether or not the ecosystem members will pay for work with the application, and if yes, than what way of payment it will be (contributions or otherwise).
132+
- An account (binding account), which the tokens for payment of resources are debited from, is set by the contract creator on its activation. It can be defined using ecosystem's smart laws whether or not the ecosystem members will pay for work with the application, and if yes, than what way of payment it will be (contributions or otherwise).
127133

128134
#. How are applications within ecosystems protected from exploit of their vulnerabilities?
129135

130136
- The platform team understands that there is no way to completely avoid mistakes in the program code of applications, especially given that applications can be written by any user. That's why we decided to create a mechanism that eliminates the consequences of vulnerability exploitation. The platform has a legal system (a set of smart laws), that allow for stopping the operation of an attacking application and make a number of transactions for restoring to the status quo. The rights to execute such contracts and voting procedures to grant these rights are defined in the smart laws of the platform's legal system.
131137

132-
#. Which new functions are planned to be implemented in the Genesis platform in the future?
138+
#. Which new functions are planned to be implemented in |platform| in the future?
133139

134140
- Visual interface designer,
135141

@@ -147,14 +153,14 @@ FAQ
147153

148154
- Semantic reference (ontology) for the unification of operations within the data in the platform.
149155

150-
#. Are there any proofs of the Genesis platform's operability?
156+
#. Are there any proofs of |platform| operability?
151157

152158
- A number of proof of concept projects have been implemented on the platform during the last few months: a polling and voting system for a political party (Netherlands), new businesses registration (UAE), trading financial instruments (Luxembourg), register of property (India), and a contracts management system (UAE).
153159

154-
#. Does the Genesis platform have any obvious drawbacks?
160+
#. Does |platform| have any obvious drawbacks?
155161

156-
- The biggest drawback of the platform, compared to, say, Ethereum, is that Genesis platform is just in the launch mode. But this drawback will transform into a big advantage over time.
162+
- The biggest drawback of the platform, compared to, say, Ethereum, is that |platform| is just in the launch mode. But this drawback will transform into a big advantage over time.
157163

158-
#. What does the future of the Genesis platform look like?
164+
#. What does the future of |platform| look like?
159165

160166
- The Genesis platform was designed based on the assumption that the full effect of blockchain technology can only be achieved when all activities, operations, registers and contracts are on the same blockchain network. Just as there can't be many co-existing Internets, there ultimately can't be many co-existing blockchain networks. We see the Genesis platform as a unified platform, which in the future will run the operations of all governments in the world.

source/howtos/install.rst

Lines changed: 0 additions & 5 deletions
This file was deleted.

source/index.rst

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,13 +65,16 @@ Contents
6565
topics/templates2.rst
6666
topics/appexample.rst
6767
topics/vm.rst
68+
topics/daemons.rst
6869

6970

7071
.. toctree::
7172
:maxdepth: 2
7273
:caption: Reference
7374

7475
reference/api2.rst
76+
reference/platform-parameters.rst
77+
reference/backend-config.rst
7578
reference/update_client.rst
7679
reference/desync_monitor.rst
7780

@@ -80,7 +83,5 @@ Contents
8083
:maxdepth: 2
8184
:caption: HOWTOs
8285

83-
howtos/install.rst
84-
8586

8687
.. todolist::
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
Backend configuration file
2+
##########################
3+
4+
This section describes parameters in the backend configuration file.
5+
6+
7+
About the backend configuration file
8+
====================================
9+
10+
Backend configuration file defines configuration for a |platform| node.
11+
12+
13+
Location
14+
========
15+
16+
This file is located in the directory with the backend binary and is named ``config.toml``.
17+
18+
.. todo::
19+
20+
How this works with workDir?
21+
22+
This file is created on the first run?
23+
24+
25+
Sections
26+
========
27+
28+
.. todo::
29+
30+
Add [Autoupdate]
31+
32+
Running mode parameter?
33+
34+
The configuration file has several sections:
35+
36+
.. describe:: default section
37+
38+
This section defines general parameters.
39+
40+
.. describe:: [TCPServer]
41+
42+
This section defines parameters for TCPServer.
43+
44+
TCPServer supports the network interaction between nodes.
45+
46+
.. describe:: [HTTP]
47+
48+
This section defines parameters for HTTPServer.
49+
50+
HTTPServer provides REST API.
51+
52+
.. describe:: [DB]
53+
54+
This section defines parameters for the node's database engine, PostgreSQL.
55+
56+
.. describe:: [StatsD]
57+
58+
This section defines parameters for the node operation metrics collector, StatsD.
59+
60+
.. todo::
61+
62+
Explain this better.
63+
64+
.. describe:: [Centrifugo]
65+
66+
This section defines parameters for the notifications service, Centrifugo.
67+
68+
69+
Configuration file example
70+
==========================
71+
72+
.. code-block:: js
73+
74+
LogLevel = "ERROR"
75+
LogFileName = ""
76+
InstallType = "PRIVATE_NET"
77+
NodeStateID = "*"
78+
TestMode = false
79+
StartDaemons = ""
80+
KeyID = -3785392309674179665
81+
EcosystemID = 0
82+
BadBlocks = ""
83+
FirstLoadBlockchainURL = ""
84+
FirstLoadBlockchain = ""
85+
MaxPageGenerationTime = 0
86+
WorkDir = "files"
87+
PrivateDir = "files"
88+
RunningMode = "privateBlockchain"
89+
90+
[TCPServer]
91+
Host = "127.0.0.1"
92+
Port = 7078
93+
94+
[HTTP]
95+
Host = "127.0.0.1"
96+
Port = 7079
97+
98+
[DB]
99+
Name = "egaas"
100+
Host = "localhost"
101+
Port = 5432
102+
User = "egaas"
103+
Password = "egaas"
104+
105+
[StatsD]
106+
Name = "apla"
107+
Host = "127.0.0.1"
108+
Port = 8125
109+
110+
[Centrifugo]
111+
Secret = ""
112+
URL = ""
113+
114+
[Autoupdate]
115+
ServerAddress = "http://127.0.0.1:12345"
116+
PublicKeyPath = "update.pub"
117+
Lines changed: 31 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
Synchronization Monitoring
1+
Synchronization Monitoring
22
##########################
33

44
Desync_monitor is a special tool that allows to verify that the databases on specified nodes are synchronized.
55

6-
The tool can work as a daemon process or can be launched to perform a one-time check.
6+
The tool can work as a daemon process or can be launched to perform a one-time check.
77

88
The tool's operation principle is based on the following:
99

10-
#. Each block contains the hash of all changes made by all transactions in the block. The specified nodes are requested to provide the ID of their last common block.
10+
#. Each block contains the hash of all changes made by all transactions in the block. The specified nodes are requested to provide the ID of their last common block.
1111

12-
#. A block with this ID is then requested from all nodes, and the aforementioned hash is compared.
12+
#. A block with this ID is then requested from all nodes, and the aforementioned hash is compared.
1313

1414
#. If the hash differs, a synchronization error message is sent to the email address specified in the command.
1515

@@ -23,37 +23,37 @@ The tool is located in ``tools/desync_monitor/``.
2323
Command-prompt flags
2424
====================
2525

26-
The following flags can be used from the command prompt:
26+
The following flags can be used from the command prompt:
2727

28-
* **confPath**–path to the configuration file. By default – config.toml.
28+
* **confPath**–path to the configuration file. By default – config.toml.
2929

30-
* **nodesList**–a list of nodes to request blocks from, separated by commas. By default – 127.0.0.1:7079.
30+
* **nodesList**–a list of nodes to request blocks from, separated by commas. By default – 127.0.0.1:7079.
3131

32-
* **daemonMode**–launch as a daemon process; should be used in case the verification is required every N seconds. This flag is set to false by default.
32+
* **daemonMode**–launch as a daemon process; should be used in case the verification is required every N seconds. This flag is set to false by default.
3333

34-
* **queryingPeriod**–if the tool is launched as a daemon process, this parameter sets the time interval between checks (in seconds). By default – 1 second.
34+
* **queryingPeriod**–if the tool is launched as a daemon process, this parameter sets the time interval between checks (in seconds). By default – 1 second.
3535

36-
* **alertMessageTo**–an email address to which the synchronization error alerts will be sent. By default – [email protected].
36+
* **alertMessageTo**–an email address to which the synchronization error alerts will be sent. By default – [email protected].
3737

38-
* **alertMessageSubj**–message subject to put in the alert message. By default – problem with nodes synchronization.
38+
* **alertMessageSubj**–message subject to put in the alert message. By default – problem with nodes synchronization.
3939

40-
* **alertMessageFrom**–address from which the message will be sent. By default – [email protected].
40+
* **alertMessageFrom**–address from which the message will be sent. By default – [email protected].
4141

42-
* **smtpHost**–SMTP server, which will be used to send the email message. By default – "".
42+
* **smtpHost**–SMTP server, which will be used to send the email message. By default – "".
4343

44-
* **smtpPort**–SMTP server port, which will be used to send the email message. By default – 25.
44+
* **smtpPort**–SMTP server port, which will be used to send the email message. By default – 25.
4545

46-
* **smtpUsername**–SMTP server username. By default – "".
46+
* **smtpUsername**–SMTP server username. By default – "".
4747

48-
* **smtpPassword**–SMTP server password. By default – "".
48+
* **smtpPassword**–SMTP server password. By default – "".
4949

5050

5151
Configuration
5252
=============
5353

54-
The tool uses a configuration file in the toml format.
54+
The tool uses a configuration file in the toml format.
5555

56-
By default, it looks for the config.toml file in the folder from which the binary was launched.
56+
By default, it looks for the config.toml file in the folder from which the binary was launched.
5757

5858
The file path can be changed using the configPath flag.
5959

@@ -82,37 +82,40 @@ The file path can be changed using the configPath flag.
8282
nodes_list
8383
----------
8484

85-
* **nodes_list**–list of nodes (hosts) to request information from.
85+
* **nodes_list**–list of nodes (hosts) to request information from.
8686

8787

8888
[daemon]
8989
--------
9090

9191
Daemon mode configuration.
9292

93-
* **daemon_mode**–tells the tool to work as a daemon process and perform synchronization checks.
93+
* **daemon_mode**–tells the tool to work as a daemon process and perform synchronization checks.
9494

95-
* **querying_period**–time interval between synchronization checks.
95+
* **querying_period**–time interval between synchronization checks.
9696

9797

9898
[alert_message]
9999
---------------
100100

101101
Alert message parameters.
102102

103-
* **to**–address to which the synchronization error alert messages will be sent.
103+
* **to**–address to which the synchronization error alert messages will be sent.
104104

105-
* **subject**–message subject.
105+
* **subject**–message subject.
106106

107-
* **from**–sender.
107+
* **from**–sender.
108108

109109

110110
[smtp]
111111
------
112112

113113
Parameters of the SMTP server, which will be used to send synchronization error messages.
114114

115-
* **host**–SMTP server, which will be used to send the email messages.
116-
* **port**–SMTP server port, which will be used to send the email messages.
117-
* **username**–SMTP server username.
118-
* **password**–SMTP server password.
115+
* **host**–SMTP server, which will be used to send the email messages.
116+
117+
* **port**–SMTP server port, which will be used to send the email messages.
118+
119+
* **username**–SMTP server username.
120+
121+
* **password**–SMTP server password.

0 commit comments

Comments
 (0)