More README explanation about what needs to happen next
This commit is contained in:
28
README.md
28
README.md
@@ -29,3 +29,31 @@ cargo watch -x "run -- run -- node2"
|
|||||||
cargo watch -x "run -- run -- node3"
|
cargo watch -x "run -- run -- node3"
|
||||||
cargo watch -x "run -- run -- node4"
|
cargo watch -x "run -- run -- node4"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Discussion
|
||||||
|
|
||||||
|
What we have here is a very simple system comprised of two key parts: the Side Node, and the Side Watcher.
|
||||||
|
|
||||||
|
### Side Node(s)
|
||||||
|
|
||||||
|
The Side Nodes make up a system of BFT-CRDT-producing nodes that can make a blockchain. Currently they can reliably send transactions to each other in a secure way, such that all nodes they communicate with can tell whether received transactions are obeying the rules of the system.
|
||||||
|
|
||||||
|
TODO:
|
||||||
|
|
||||||
|
[ ] enable Side Nodes to download current P2P chain state so that they start out with a consistent copy of transaction data
|
||||||
|
[ ] add smart contract execution engine (CosmWasm would be a good first choice)
|
||||||
|
[ ] enable Side Nodes to download contract code for a given contract
|
||||||
|
[ ] enable Side Nodes to download current contract state for a given contract
|
||||||
|
[ ] switch to full P2P messaging instead of websockets
|
||||||
|
[ ] take the Side Watcher out of the system by electing a Side Node as a leader, so that agreement about transaction inclusion can be reached for a given block.
|
||||||
|
|
||||||
|
### Side Watcher
|
||||||
|
|
||||||
|
The Side Watcher is a simple relayer node that sits between the Side Chain (Cosmos) and the decentralized Side Nodes. At the moment, it simply relays transactions between nodes via a websocket.
|
||||||
|
|
||||||
|
Next, the Side Watcher needs to:
|
||||||
|
|
||||||
|
[ ] make a block for the P2P when the Side Chain creates a block (see litepaper)
|
||||||
|
[ ] submit P2P chain data to the Side Chain
|
||||||
|
|
||||||
|
Later, we will aim to remove the Side Watcher from the architecture, by (a) moving to pure P2P transactions between Side Nodes, and (b) doing leader election of a Side Node to reach agreement on the submitted block.
|
||||||
|
|||||||
Reference in New Issue
Block a user