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
+9-8Lines changed: 9 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,14 +5,15 @@ Foundry
5
5
==============
6
6
7
7
CodeChain Foundry is a blockchain engine based on a composable module system, called _Mold_.
8
-
Users can define their own modules, and can construct an arbitrary blockchain application with them.
9
-
The reason we provide such a composable, and user-customizable module system is
10
-
because we want to make only application logic as user's responsibility,
11
-
while the _host_ manages common things such as consensus, networking, mempool or DB, for all kinds of applications.
12
-
13
-
The actual execution of the transaction, which is essentially a transition of state from the previous one, will be requested to the _coordinator_ from the host.
14
-
The coordinator manages multiple modules for the application, and handles such requests from the host asking the modules.
15
-
Transactions will be delivered to the responsible module, and that module will handle the transaction in the way it is implemented in,
8
+
Users can write their own modules and additionally bring those written by others in to construct an arbitrary blockchain application.
9
+
The reason why we provide such a composable and user-configurable module system is
10
+
because we want to make as much of an application configurable as possible and foster an ecosystem of reusable modules,
11
+
while reusing the underlying consensus engine across all the different kinds of applications.
12
+
13
+
On an execution of a transaction, that is essentially a state transition, the coordinator will be told to do so from the underlying consensus engine.
14
+
Then the coordinator literally coordinates multiple modules constituting an application
15
+
by invoking services exported by the modules to the coordinator in an appropriate order passing appropriate arguments.
16
+
Transactions will be delivered to the responsible modules, and that the modules will handle the executions of the transactions,
16
17
which might also involve communications with other modules.
0 commit comments