testground-qri

command module
v0.0.0-...-2dc6dcb Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 23, 2020 License: GPL-3.0 Imports: 12 Imported by: 0

README

Qri Testground plans

We're intending to support the testground project from Protocol Labs, this repo holds our testground implementation.

🚧Under Heavy Construction 🚧

Testground is under active development. This is code built that sometimes depends on unmerged branches of an active project. Don't use this. Don't depend on this.

Test Plan Goals

We're hoping to accomplish a few things through test plans. In order, those are:

Networked Debugging

Provide an environment for replicating bugs that are easiest to reproduce through network interaction. We have some issues that show up in dsync that are currently too difficult to debug without network simluation.

Performance

We want to know how well the whole network performs. Quantitatively. This means measuring:

  • IPFS network performance, with qri specific configurations. This is mainly a measure of which version of IPFS we're seeing most heavily deployed in the Qri network
  • Qri protocol performance, independant of IPFS on a libp2p host
  • Performance both networks at once
Test Driven Decentralization

Building decentralized features for us so far has been a process of: research -> theory -> code -> local-only-tests -> production. We'd like to raise the bar for decentralized development, writing test plans that allow us to better understand how a feature will (or won't) work before it's launched. All p2p code we write should have a test plan that proves it'll perform in a small network under heavy churn, with scaling characteristics that

Making more p2p devs

We're planning on sending new hires here to get a better understanding of how to write p2p software, and specifically how we write p2p software. This'll be heavily dependant on two things:

  • us writing a solid network simulation abstraction
  • tooling to help visualize plans

Things we don't need from testground (that others might!)

It's worth listing things we don't really need:

  • Multi-language support (we're a golang shop)
  • Scaling up to 1000s of nodes for tests. We'll need this one day, but that day isn't today (April 2020)
  • Hand-holding from the testground team. We've wanted a project like this to exist for some time, and are willing to read source code, Issues & Pull Requests to get up to speed.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL