September 2020 Release Plan

(Reference

Document status

COMPLETE

Release status

RELEASED

Milestones

Start date

Aug 10, 2020 

Release

Sep 17, 2020 [we will not have interim release]

Stakeholders

@Medha Parlikar

CTO

 

@Mrinal Manohar

CEO

 

 

 

Development team

Program manager

Project Manager

Engineering Lead

SRE

@Ashok Ranadive (Unlicensed)

@Piotr Dziubecki

@Ed Hastings (Deactivated)

@Former user (Deleted)

Marketing team

Marketing lead

Content owner

@Kevin Watt

@Former user (Deleted)

Release Overview

Simple Overview

Release 20.09 delivers a functional Rust network that can stand up 20 nodes stable for 1 month. The network will use the chainspec process to create the Genesis block. Nodes will discover each other based on having a matching Genesis block and will peer up. When the Genesis era starts, a leader will propose a leader block. Nodes will accept deploys and include these deploy hashes in leader blocks when it is their turn to propose a block. Non-leader nodes will execute (validate) blocks and send ballots (attestations) to help finalize blocks.

When the network achieves more than 2/3rd of the total stake in the form of signatures on a block, the consensus protocol will finalize the block. This ‘protoblock’ will then be executed by the validator set, and global state will be updated with the results of execution.

With this release, CasperLabs will launch a Rust network Testnest with 5 trusted validator. Validators will be able to launch the network using the Chainspec process. Validators will be able to monitor the network using a status endpoint similar to one in the existing Beta Testnet. The status endpoint will return the last finalized block, the list of peers for each of the nodes in the network.

In order to interact with the node, a basic Rust client will be shipped with this release. The client will support the sending of deploys, wasmless token transfer and key generation.

20.09 Release will include:

  • Rust Client: Feature parity with Python Client [partially done]

  • Platform to provide API for external clients like CLarity and Rust client [partially done]

  • Design and implementation node join / rejoin

  • Preparation for Rust Network launch with select 5 validators as precursor to Delta launch

  • Design Storage and Bandwidth pricing

  • Design support for off-chain execution usecases (consider both RoN and Event Stream models) - discussion

  • Design of Social Consensus

Documentation

  • Rust node documentation

  • Rust Client usage

  • dApp Developer guide update [stretch]

  • Bonding / Unbonding, How auctions work?

  • GitPod

Ecosystem Product Updates

  • Generic Voting App

  • IPwe PoC

  • Signer

SRE

  • Network Metrics & Performance Monitoring

Work to support Testnet

Address issues discovered in the Testnet.

  • Fixes to stabilize Testnet.

key summary assignee status
Loading...
Refresh

Tickets for this Release

Features

key summary status
Loading...
Refresh

Stories

 

Defects Fixed

key summary status
Loading...
Refresh

 

 

Metric for tracking the success:

What is special about this release?

 

For dApp Developers 

For Node Operators

Are we doing something differently? If so, why are we doing it this way?



Before these features were available, what were developers able to do?



After these features launch, what will developers be able (and not able) to do?

Description of release packaging

Release packaging will include:

  • Debian package 

  • Docker image

  • Brew packages

  • RPM package

  • tar.gz file

Where do developers go to learn more and get started?

Where will bugs be filed?

Github - part of the public release.

Where do developers go for support? What is the SLA? Who is on point?

Gitter developer channel