|45 minutes||Project Structure|
Medha Parlikar (Unlicensed)
Michael Stay (Unlicensed)
- Rosette VM will interface with everything but is not dependent on any of the other projects.
- We do not want the VM to have default access to any channels in the communications layer or storage layer.
Rosette port - started with the transition function and are porting from there. Compiling in Scala is a much stronger statement than in C - type system is much more strict and powerful. There are no tests written for Rosette as yet. The code was not designed with testing in mind. They are doing it as functionally as possible, making it easier to write tests. As we do the translation we are coming to understand how the machine is designed and what it does.
RChain Core project should house the work for the storage layer and the communications layer within it as components. Each of these libraries will have their own build scripts and version numbers, but they will be delivered as part of a single package, for ease of use.
- Consensus will be part of Core. Will be implemented as Rholang Contracts / programs. Not clear if Consensus will consume Phlogiston or not.
- Rholang Project will house the improvements in Rholang and the Compiler. It will also include the Type checking work. Rholang has a solid base that won't be changing, but there are new features that do require implementation and documentation. The Compiler is written in Scala. It consumes Rholang and spits out RBL (assembly code for the Rosette VM)
- Development Tools - separate project to support the creation of an Editor, Debugger and Build tools among other things.
- Wallet - First demo application of the RChain platform. Medha has an action item to go and figure out what the requirements are. Chris Kirkwood-Watts states that we can implement a strategy to back trace Core requirements from the wallet requirements, to help establish a base of what needs to be done.
- CI & Packaging - team knows that this needs to be done. We will focus on this when the time is right.