Goals
- Common understanding of Mercury and its requirements. Every one of us should be able to answer "what about... " questions with respect to Mercury if cornered.
- Identify major gaps in Documentation and make sure someone is assigned to resolve it.
- Do some coding together in Rholang. Write contracts.
Breakout Session Topics
Day 1:Location 1 -Blockchain, Consensus and Networking (Chris, Griff, Mike, Vlad, Timm, Alex)
- Support for transactions taking place between contracts in different namespaces
- How is the ledger maintained? reference: Blockmumble
- What are the canonical set of blocks that a validator has to download?
- CASPER - When do expect to have working code?
- What is the data structure.
- What is needed in the networking layer to support the CASPER protocol?
Day 1: Location 2 - Verticals, Industries and Applications (Medha, Lawrence, Ed, Rolland, Navneet)
- Which industries are expressing interest & we should target?
- What are the use cases that are the most compelling for these industries?
- What is the story we can tell if these industries solve the use cases with blockchain?
- What are the applications do we see evolving as a result
Day 1: Location 3 - Namespaces (Greg, Kent, Joe, Ian, Nash)
- Lay out namespacing, How is the set of the namespaces going to be defined
- Who gets to say what a valid url is
- Is there a registry, what does it look like, when do we need to have it in place, how is it maintained
- Can we specify statically the form of name in a namespace, so we can check it at compile time
- How do we introduce new formats for names? urls are great but dont cover everything we might want
- How do we allow nodes to define their own grammar for names?
Day 2 : Location 2 - Block formats, types and messaging (Mike, Chris, Griff, Vlad, Kent, Rolland)
What hashes are there, and what do they look like?
What data is common to all blocks?
- Are there types of blocks, if so, how many types, and what is the specification of each type?
What is the size of a block? Can block sizes vary?
Are there "light blocks" constructable for "light clients"?
Node:
Kent says that at the moment there is no use of asynchrony by the output of the compiler. Is there a layer between the grey JVM and the orange Rosette VM stuff that wakes up an idle Rosette VM and adds new strands?
Consensus:
Rholang:
- There is no sort of import or include statement to provide a jar file - FFI is available at the rbl level but not at the Rholang level.
- OCaps model - supply of physical capabilities provided to the interface - everything that is needed by a contract is provided on a channel.
Mercury
- What are the requirements for Mercury?
- ERC20 Contracts
- Wallet contracts that run on hundreds of nodes.