From 36503ead70008b1b16ee7f6107429772458cd62e Mon Sep 17 00:00:00 2001 From: Greg Fitzgerald Date: Wed, 28 Nov 2018 14:00:02 -0700 Subject: [PATCH] Fix capitalization And delete JSON RPC Service for now, since it currently has no content. --- book/src/SUMMARY.md | 1 - book/src/cluster.md | 6 +++--- book/src/fullnode.md | 2 +- book/src/getting-started.md | 4 ++-- book/src/introduction.md | 8 ++++---- book/src/jsonrpc-service.md | 1 - book/src/ncp.md | 2 +- book/src/programs.md | 2 +- book/src/runtime.md | 2 +- book/src/storage.md | 8 ++++---- book/src/synchronization.md | 2 +- book/src/tpu.md | 2 +- book/src/tvu.md | 2 +- 13 files changed, 20 insertions(+), 22 deletions(-) delete mode 100644 book/src/jsonrpc-service.md diff --git a/book/src/SUMMARY.md b/book/src/SUMMARY.md index b3d9cd48a9..4ff794e2bb 100644 --- a/book/src/SUMMARY.md +++ b/book/src/SUMMARY.md @@ -17,7 +17,6 @@ - [TPU](tpu.md) - [TVU](tvu.md) - [NCP](ncp.md) - - [JSON RPC Service](jsonrpc-service.md) - [The Runtime](runtime.md) ## Appendix diff --git a/book/src/cluster.md b/book/src/cluster.md index 7bbe4f8f69..fb6cbf309a 100644 --- a/book/src/cluster.md +++ b/book/src/cluster.md @@ -9,7 +9,7 @@ discuss how a cluster is created, how nodes join the cluster, how they share the ledger, how they ensure the ledger is replicated, and how they cope with buggy and malicious nodes. -## Creating a cluster +## Creating a Cluster To create a cluster, one needs the fullnode software and a *genesis block*. A minimal genesis block can be created using the command-line tools @@ -30,7 +30,7 @@ the validator is expected to store those entries until *replicator* nodes submit proofs that they have stored copies of it. Once the validator observes a sufficient number of copies exist, it deletes its copy. -## Joining a cluster +## Joining a Cluster Fullnodes and replicators enter the cluster via registration messages sent to its *control plane*. The control plane is implemented using a *gossip* @@ -61,7 +61,7 @@ Both problems justify the additional level, but you won't find it implemented in the reference design just yet, because Solana's gossip implementation is currently the bottleneck on the number of nodes per Solana cluster. -## Malicious nodes +## Malicious Nodes Solana is a *permissionless* blockchain, meaning that anyone wanting to participate in the network may do so. They need only *stake* some diff --git a/book/src/fullnode.md b/book/src/fullnode.md index 983aeed331..066fdc95f8 100644 --- a/book/src/fullnode.md +++ b/book/src/fullnode.md @@ -19,7 +19,7 @@ dryer and the first is being folded. In this way, one can make progress on three loads of laundry simultaneously. Given infinite loads, the pipeline will consistently complete a load at the rate of the slowest stage in the pipeline. -## Pipelining in the fullnode +## Pipelining in the Fullnode The fullnode contains two pipelined processes, one used in leader mode called the Tpu and one used in validator mode called the Tvu. In both cases, the diff --git a/book/src/getting-started.md b/book/src/getting-started.md index 197a2b3ff7..889586285a 100644 --- a/book/src/getting-started.md +++ b/book/src/getting-started.md @@ -152,7 +152,7 @@ $ snap info solana $ sudo snap refresh solana --devmode ``` -### Daemon support +### Daemon Support The snap supports running a leader, validator or leader+drone node as a system daemon. @@ -174,7 +174,7 @@ $ sudo snap set solana mode= Runtime configuration files for the daemon can be found in `/var/snap/solana/current/config`. -#### Leader daemon +#### Leader Daemon ```bash $ sudo snap set solana mode=leader diff --git a/book/src/introduction.md b/book/src/introduction.md index 2746c3015c..aa36fa6493 100644 --- a/book/src/introduction.md +++ b/book/src/introduction.md @@ -4,7 +4,7 @@ Solana is the name of an open source project that is implementing a new high-performance, permissionless blockchain. Solana is also the name of a company headquartered in San Francisco that maintains the open source project. -# About this book +# About this Book This book defines the architecture of Solana, a blockchain built from the ground up for scale. The goal of the architecture is to demonstrate there @@ -28,7 +28,7 @@ author's best effort. It is up to the reader to check and validate their accuracy and truthfulness. Furthermore, nothing in this project constitutes a solicitation for investment. -# History of the Solana codebase +# History of the Solana Codebase In November of 2017 Anatoly Yakovenko published a whitepaper describing Proof of History, a technique for keeping time between computers that do not trust @@ -87,7 +87,7 @@ thousand. The project was also extended to support on-chain programs written in the C programming language and run concurrently in a safe execution environment called BPF. Next step: going permissionless. -# What is a Solana cluster and why would one use it? +# What is a Solana Cluster? A cluster is a set of computers that work together and can be viewed from the outside as a single system. A Solana cluster is a set of independently owned @@ -103,7 +103,7 @@ copy of the ledger, the output of its programs (which may contain a record of who possesses what) will forever be reproducible, independent of the organization that launched it. -# What are sols? +# What are Sols? A sol is the name of Solana's native token, which can be passed to nodes in a solana cluster in exchange for running an on-chain program or validating its diff --git a/book/src/jsonrpc-service.md b/book/src/jsonrpc-service.md deleted file mode 100644 index 835dec81ce..0000000000 --- a/book/src/jsonrpc-service.md +++ /dev/null @@ -1 +0,0 @@ -# JsonRpcService diff --git a/book/src/ncp.md b/book/src/ncp.md index 4238c5f705..9db390f72c 100644 --- a/book/src/ncp.md +++ b/book/src/ncp.md @@ -1,3 +1,3 @@ # The Network Control Plane -The Network Control Plane (Ncp) implements a gossip network between all nodes on in the cluster. +The Network Control Plane (NCP) implements a gossip network between all nodes on in the cluster. diff --git a/book/src/programs.md b/book/src/programs.md index 09cdc5a287..14177970fe 100644 --- a/book/src/programs.md +++ b/book/src/programs.md @@ -3,7 +3,7 @@ With the Solana runtime, we can execute on-chain programs concurrently, and written in the client’s choice of programming language. -## Client interactions with Solana +## Client Interactions with Solana SDK tools diff --git a/book/src/runtime.md b/book/src/runtime.md index 77f37155c2..6b9ce1fd22 100644 --- a/book/src/runtime.md +++ b/book/src/runtime.md @@ -16,7 +16,7 @@ states associated with the account keys. For the transaction to be committed all the instructions must execute successfully; if any abort the whole transaction fails to commit. -### Account structure +### Account Structure Accounts maintain a token balance and program-specific memory. diff --git a/book/src/storage.md b/book/src/storage.md index 9340d3accb..395d93f297 100644 --- a/book/src/storage.md +++ b/book/src/storage.md @@ -26,7 +26,7 @@ is: ``` number_of_proofs * data_size ``` -# Optimization with PoH +## Optimization with PoH Solana is not the only distribute systems project using Proof of Replication, but it might be the most efficient implementation because of its ability to @@ -43,7 +43,7 @@ symmetric keys. The total space required for verification is: with core count of equal to (Number of Identities). A CBC block is expected to be 1MB in size. -# Network +## Network Validators for PoRep are the same validators that are verifying transactions. They have some stake that they have put up as collateral that ensures that @@ -54,7 +54,7 @@ Replicators are specialized light clients. They download a part of the ledger and store it and provide proofs of storing the ledger. For each verified proof, replicators are rewarded tokens from the mining pool. -# Constraints +## Constraints Solana's PoRep protocol instroduces the following constraints: @@ -65,7 +65,7 @@ Solana's PoRep protocol instroduces the following constraints: many identities at once are batched with as many proofs for those identities verified concurrently for the same dataset. -# Validation and Replication Protocol +## Validation and Replication Protocol 1. The network sets a replication target number, let's say 1k. 1k PoRep identities are created from signatures of a PoH hash. They are tied to a diff --git a/book/src/synchronization.md b/book/src/synchronization.md index a0e75870ae..5c4bcaf220 100644 --- a/book/src/synchronization.md +++ b/book/src/synchronization.md @@ -58,7 +58,7 @@ theoretical limit of 710,000 transactions per second. [Proof of History overview](https://medium.com/solana-labs/proof-of-history-a-clock-for-blockchain-cf47a61a9274) -### Relationship to consensus mechanisms +### Relationship to Consensus Mechanisms Most confusingly, a Proof of History (PoH) is more similar to a Verifiable Delay Function (VDF) than a Proof of Work or Proof of Stake consensus diff --git a/book/src/tpu.md b/book/src/tpu.md index 62ddcdb5a3..2636b35233 100644 --- a/book/src/tpu.md +++ b/book/src/tpu.md @@ -1,3 +1,3 @@ # The Transaction Processing Unit -Tpu block diagram +TPU Block Diagram diff --git a/book/src/tvu.md b/book/src/tvu.md index a7708d65ec..b2d63cd47c 100644 --- a/book/src/tvu.md +++ b/book/src/tvu.md @@ -1,3 +1,3 @@ # The Transaction Validation Unit -Tvu block diagram +TVU Block Diagram