* Add the solana-wallet documentation
There doesn't seem to be a way to publish bin docs to crates.io.
Until there is, we can include CLI documentation is the appendix
of the markdown book.
* A command to generate all the usage docs
Usage:
$ scripts/wallet-help.sh >> src/wallet.md
* Reorg TVU code to look like TVU diagram
And move channel creation into LedgerWriteStage so that it can
be used in the same was as all the other stages.
* Delete commented out code
* Stub out architecture documentation
* Add book HTML generation and book tests to CI
* Add heading
* Better table of contents
* Reference existing documentation
Move ASCII art from code comments into rendered SVG
* Attempt to fix CI
* Add lamport docs
And truncate lines to 80 characters
* Fix links
And reference shorter, newer description of PoH.
* Replace ASCII art with SVG
* Streamline for Pillbox
* Update path before optional install
* Use $CARGO_HOME instead of $HOME
* Delete code
Attempt to describe all data structures without code.
* Boot RPU from docs, add JsonRpcService
Also, use Rust naming conventions in the block diagrams to
minimize the jump from docs to code.
* Latest code uses tick_height
* Rename bob/ folder to art/
A home for any ASCII art
* Import JSON RPC API
* More mdbook docs
* Add Ncp
* Cleanup links
* Move pipelining description into fullnode description
* Move high-level transaction docs into top-level doc
* Delete unused files
add linked-list capability to accounts
change accounts from a linked list to a VecDeque
add checkpoint and rollback for lastids
add subscriber notifications for rollbacks
checkpoint transaction count, too
* Move finality computation into a service run from the banking stage, ComputeLeaderFinalityService
* Change last ids nth to tick height, remove separate tick height from bank
* Add first leader to genesis entries, consume in genesis.sh
* Set bootstrap leader in the bank on startup, remove instantiation of bootstrap leader from bin/fullnode
* Remove need to initialize bootstrap leader in leader_scheduler, now can be read from genesis entries
* Add separate interface new_with_leader() in mint for creating genesis leader entries
Deserialize operations are faster when done serially with the
MT banking stage and helps with performance improvement with
reduced thread context switches.
* Added tests to thin client to test VoteContract calls, fix VoteContract sizing errors
* Calculate upper bound on VoteProgram size at runtime, add test for serializing/deserializing a max sized VoteProgram state