Skip to content
This repository has been archived by the owner on Feb 1, 2019. It is now read-only.

Releases: Drops-of-Diamond/diamond_drops

Blob serialization and cleanups

21 May 06:37
a3451c3
Compare
Choose a tag to compare
Pre-release

Merges #67 and #73.

Implements https://ethresear.ch/t/blob-serialisation/1705.

Uses structs for a chunk and a blob, which contain a data and indicator fields for chunks; and just one data field for blobs (for a blob of arbitrary size). Defines functions for instantiation and conversions between blobs, chunks, bytes and collation bodies. Has unit tests.

TODO: may need to rewrite this to not have a skip_evm flag as per https://ethresear.ch/t/blob-serialisation/1705/15.

Add serialization for blobs into collation bodies, with 2 new tests, and all tests passing. Plus minor changes e.g. to build.rs (refactoring all of main() to make_uml_diagram(), and adding crate-wide allow guards to minimize lots of warnings (allow I have been handling some, and more could be).

Reorganizations

  • fix up and add new tasks in launch.json, tasks.json and Makefile.toml (while deleting Makefile.toml.orig as per #58), e.g. for tests for each folder/crate and renaming tests for UML with different OSs, with an uml-default-recommended task that works on different OSes and distros (#57).
  • add support for Windows for Clap (see #59 for details. The change in Clap is pending in clap-rs/clap#1271, however it is has been fixed in our repo.)
  • comment out unused features (leave since they may be used in future)

Notary CLI functionality

17 Apr 09:33
fae4b10
Compare
Choose a tag to compare
Pre-release

Has the updated functionality for the notary participant, to replace the collator participant, to match with the latest research:

@ChosunOne in the original PR #31:

Major improvements include the following:

  • SMC Listener integration into the main binary
  • Thread refactor
  • Skeletal Notary integration
  • Full unit test coverage of implemented features

There are still a lot of questions I have about functions related to the notary, such as how a notary selects a proposal to vote on and what information is needed in the vote message, but it is at the point where merging this will allow more parallel development of the rest of the project.

Contains some skeleton code for as-yet-to-be-specified parts of the sharding manager contract, as well as improvements by @ltfschoen in #32.

Run and Test the code

  • Build and run the code and provide arguments that it accepts from the CLI

    cargo run -- -mode b
    • Note: CLI Options available may include:
      • Proposer Mode: cargo run -- -mode p
      • Notary Mode: cargo run -- -mode n
      • Both Proposer and Notary Mode: cargo run -- -mode b
  • Run tests

    cargo test
  • Build and show Docs

    cargo build;
    cargo doc --open

Basic CLI

17 Apr 09:28
fae4b10
Compare
Choose a tag to compare
Basic CLI Pre-release
Pre-release

Has a basic CLI with outdated collator functionality, implementing the interfaces for the SMC for the retired phase 1 sharding spec.

@ChosunOne from the original PR #9:

I've added a basic cli to allow us to begin developing the proposal and collator parts of phase 1. By default the client will attempt to run both, but you can specify which mode you want by running with the -mode flag followed by proposer or p, collator or c, or explicitly run both with both. Ex. cargo run -- -mode p