* Add chat demo for testnet
This commit adds a simple demo to showcase the capabilities of the
Nomos architecture. In particular, we want to leverage the DA
features and explore participants roles.
At the same time, we're not ready to commit to any speficic format
or decision regarding common ground yet.
For this reason, we chose to implement the demo at the Execution
Zone (EZ) level.
In contrast to the coordination layer, each execution
zone can decide on its own format, which allows us to experiment
without having to set a standard.
The application of choice for the demo is an (almost) instant
messaging app where the messages are broadcast to the public by
leveraging the full replication data availability protocol.
In this context, the cli app acts as a small EZ disseminating
blobs, promoting blob inclusion and updating its state (i.e. list
of exchanged messages) upon blob inclusion in the chain.
---------
Co-authored-by: danielsanchezq <sanchez.quiros.daniel@gmail.com>
* Use value instead of variable in .env.testnet
* Reduce testnet logs verbosity
Debug logs are too verbose for long running node instances. If needed
users could manually adjust configuration in `testnet/*_config.yaml`
files without rebuilding the docker images.
Put a hard limit of 512 blocks in the response returned by
GetBlocks to avoid slowing things down. This number was chosen
rather arbitrarily. We might want to do some more fine tuning.
* Add raw api module to nomos-cli
Add a separate module which contains all raw api calls and make
them reuse the same reqwest client for increased efficiency
* Use json instead of wire format in mempool add api
Uniform all http api to use json as the encoding
* Split long consensus response in separate APIs
Consensus info was returning the full list of blocks even though
that can get quite large with time. Instead, this commit change
that API to return a constant size message and adds a new one to
return a chain of blocks with user specified endings.
* Update nomos-services/consensus/src/lib.rs
Co-authored-by: Youngjoon Lee <taxihighway@gmail.com>
* Fix test
---------
Co-authored-by: Youngjoon Lee <taxihighway@gmail.com>
Block.id is a necessary piece of information in the context
of the consensus engine since there it's not possible to recover
the id of the block since the contents are not available.
Instead, we should only skip that field when serializing/deserializing
a full block.
* Add missing dep to ci Dockerfile
* Add a map to store minimal tests report
* Use env vars for report messages
* Do not mutate variables outside the scipt block
* Write report to file
* Missing json feature for building standalone simapp
* Move dummy sim overlay to tests module
* OverlayInfoExt in simulation app
* Dump overlay info in simapp