Commit Graph

431 Commits

Author SHA1 Message Date
Pankaj Garg e651510805 Instructions on how to boot metrics server 2019-03-26 14:02:41 -07:00
Greg Fitzgerald 9759ac2961 Mark book's javascript library as binary
highlight.js has a big dictionary of words. When git-grep includes
one of those words, it floods the screen with the whole dictionary.

Mark it as binary so that it'll now just report one line:

     Binary file book/theme/highlight.js matches
2019-03-26 07:39:34 -07:00
Anatoly Yakovenko af9b173dfd fix link 2019-03-26 05:43:02 -07:00
Greg Fitzgerald 4d34102d9c Move stragglers into the book
The stuff added between the time we switched to proposals/ and the git-revert
2019-03-25 19:39:22 -07:00
Greg Fitzgerald 028b9da0da Revert "Move the design proposals to a separate book"
This reverts commit 4ca18d6b9affbc574d1b3d3d230230b057f8fde3.
2019-03-23 14:04:34 -06:00
anatoly yakovenko 148e08a8a5
Enable cluster tests (#3372)
* Cluster tests

* stable!

* fixup! stable!

* fixup! fixup! stable!

* fixup! fixup! fixup! stable!

* fixup! fixup! fixup! fixup! stable!

* fixed space

* add getNumBlocksSinceSignatureConfirmation entry for the json rpc docs

* Check in upcoming epochs for potential leadership slots in next_leader_slot()
2019-03-21 07:43:21 -07:00
Michael Vines a17843c8f6 solana-install design proposal 2019-03-14 13:21:00 -07:00
Greg Fitzgerald 9fac3b26ee Move the design proposals to a separate book
Fixes #3262
2019-03-14 10:08:43 -07:00
Greg Fitzgerald c1eec0290e
Rename userdata to data (#3282)
* Rename userdata to data

Instead of saying "userdata", which is ambiguous and imprecise,
say "instruction data" or "account data".

Also, add `ProgramError::InvalidInstructionData`

Fixes #2761
2019-03-14 10:48:27 -06:00
Eric de13082347 add economic design mvp to summary and overview 2019-03-14 09:42:19 -06:00
Eric 48b5d666d0 some economic mvp features 2019-03-14 09:42:19 -06:00
Eric 70bb49a46d some economic mvp features 2019-03-14 09:42:19 -06:00
Eric 105fc7029e create mvp section 2019-03-14 09:42:19 -06:00
Greg Fitzgerald 4ca4038d54 Rename BankError to TransactionError 2019-03-13 21:26:57 -06:00
Greg Fitzgerald 0568d7238e Add implemented design proposals section 2019-03-13 13:20:37 -06:00
Greg Fitzgerald 9bc05313a2 Update TPU ASCII art 2019-03-13 13:14:15 -06:00
Tyera Eulberg 1d689e84f1 Move and rename cluster_client 2019-03-12 22:05:38 -06:00
anatoly yakovenko 9eb7e63819
Add staking rewards design proposal for delegation (#3148)
* proposal for single vote many delegators
2019-03-11 16:35:42 -07:00
Greg Fitzgerald 86e2f35ac4 Only need the TPU and a light client implement Transact 2019-03-10 23:20:10 -06:00
Greg Fitzgerald 7696a64891 Add design doc for testing programs 2019-03-10 23:20:10 -06:00
Greg Fitzgerald 799ed24113 Integrate bank-forks proposal into the book 2019-03-10 20:13:36 -06:00
Greg Fitzgerald 63477dabcd Attempt to clarify bank forks 2019-03-10 20:13:36 -06:00
Rob Walker cd0bc1dea5
updates to reflect new_from_parent() (#3076)
* design draft

* update

* section on updating root forks

* updates to reflect new_from_parent()

* fixup

* Grammar check
2019-03-10 13:59:16 -07:00
anatoly yakovenko 5de38852d2 Add cluster test framework doc. (#3189) 2019-03-08 19:29:41 -07:00
Tyera Eulberg 259c820f15 Review comments 2019-03-07 17:21:32 -07:00
Tyera Eulberg e888c90ecf Add program notifications to JSON RPC documentation 2019-03-07 17:21:32 -07:00
Greg Fitzgerald d09639f7d2 Move the design out of the proposals section 2019-03-06 17:24:17 -07:00
Anatoly Yakovenko 946ee8a354 Add description of vote and rewards programs 2019-03-06 17:24:17 -07:00
Michael Vines 3794048c91 Rename tokens to lamports in book/ 2019-03-05 17:56:44 -08:00
Michael Vines 53f09c44f3 Rename tokens to lamports in sdk/ 2019-03-05 17:28:06 -08:00
Jack May a481822321
Fix signatureUnsubscribe documentation (#3118) 2019-03-04 18:07:16 -08:00
Jack May 44013855d8 Book nits (#3096)
* Book nits

* nits
2019-03-04 15:44:54 -07:00
anatoly yakovenko fb55d1c3d4
Design for leader to leader transition between slots (#2715) 2019-03-04 10:10:52 -08:00
Michael Vines cd4bccfd12 Remove snap support 2019-03-02 17:41:09 -08:00
Michael Vines a94880574b block_hash => blockhash 2019-03-02 12:13:30 -07:00
Michael Vines 85159a0eb4 Rename JSON RPC getLastId to getRecentBlockHash 2019-03-02 12:13:30 -07:00
Michael Vines 95cbb8a5c0 Switch to recent_block_hash 2019-03-02 12:13:30 -07:00
Tyera Eulberg 8e273caf7d Brush up data-plane-fanout to read less like a proposal 2019-03-01 22:50:42 -07:00
Sagar Dhawan 46b7b795bf
Fix Typo in Fullnode Diagram (#3036) 2019-03-01 11:58:09 -08:00
Greg Fitzgerald 028f41eb51 Move secure vote signing out of proposals 2019-03-01 12:16:28 -07:00
Michael Vines 7e7b79ef34 Rename prev_id to prev_hash 2019-03-01 09:31:49 -08:00
Greg Fitzgerald 4704aa1f80 Rename SlotMeta::is_trunk to SlotMeta::is_rooted 2019-02-28 10:39:56 -07:00
Greg Fitzgerald e45559a1a7
Add slot 3 back to ASCII art (#2979)
* Add slot 3 back to ASCII art

* New slot-oriented diagrams

When 1-block-per-slotm, slots are drawn vertically. That's the ideal
case. Abandoning a block is what should look like something forking
off to the side.
2019-02-27 14:27:58 -07:00
Greg Fitzgerald b752511f41 Attempt to pull the completed replication work into the book 2019-02-26 09:23:12 -07:00
Greg Fitzgerald ba50e1ac81 Move data plane fanout chapter out of proposals 2019-02-26 09:20:09 -07:00
Greg Fitzgerald 8353b420d1 Move blocktree-oriented diagram out of proposals 2019-02-22 15:24:36 -07:00
Stephen Akridge bad48ce83c Split replicator doc into what is implemented and what is not 2019-02-22 13:12:49 -07:00
Tyera Eulberg deeabb862d Call it blockstreamer 2019-02-21 17:24:29 -07:00
Tyera Eulberg d8f6865338 Rename EntryStream to Blockstream 2019-02-21 17:24:29 -07:00
Tyera Eulberg 4a0c759795 Fix misspellings stumbled on 2019-02-21 17:24:29 -07:00
Tyera Eulberg a131c90260 Add doc for api node 2019-02-21 17:24:29 -07:00
Sagar Dhawan bf3d2bd2ec Update Gossip entry in the book 2019-02-21 15:32:21 -07:00
Anatoly Yakovenko 27f973c923 github review 2019-02-20 14:19:25 -07:00
Anatoly Yakovenko 3357cebcdb Added notes from discussion on discord 2019-02-20 14:19:25 -07:00
Anatoly Yakovenko 7ce9c0a2e9 cleanup runtime chapter 2019-02-20 14:18:43 -07:00
Michael Vines ade36566ea
i 2019-02-18 21:56:23 -08:00
Michael Vines 1fd2885995
Add missing - 2019-02-18 20:09:18 -08:00
Michael Vines 0dbc33f781 Finish removing getConfirmationTime 2019-02-17 16:27:50 -08:00
anatoly yakovenko c74b8b6df3
Add a design for leader schedule rotation and genesis. (#2714)
Leader schedule rotation.
2019-02-15 16:34:34 -08:00
Carl d3761c2435 Change definitions in book to match current changes 2019-02-14 13:37:55 -08:00
Carl 34da362ee6 fix blocktree tests 2019-02-14 13:37:55 -08:00
Greg Fitzgerald 4e4a1643c4 Boot SystemInstruction::Spawn 2019-02-14 13:26:46 -07:00
Eric f2ab8f17c8 udpate staking section 2019-02-14 07:45:58 -07:00
Pankaj Garg dca73068c5 address review comments 2019-02-13 15:31:45 -08:00
Pankaj Garg 4094e62ed3 propose architecture change for fullnode 2019-02-13 15:31:45 -08:00
Pankaj Garg 7a0e897960 address review comments 2019-02-13 15:31:45 -08:00
Pankaj Garg e78fc74e03 Update fullnode diagram to reflect bank, voting and forks changes 2019-02-13 15:31:45 -08:00
anatoly yakovenko aec44e3761 Add design for the leader validator loop (#2650) 2019-02-13 12:00:43 -07:00
Greg Fitzgerald ab3dd2a1b3
Integrate the blocktree proposal into the book (#2704) 2019-02-08 20:27:35 -07:00
Greg Fitzgerald 7b7a2fc52b Rename Appendix to API Reference
And move before the proposals, since all this stuff is already
implemented.
2019-02-08 18:08:00 -07:00
Greg Fitzgerald c82ffaabdc Rename, purge use of term delta
This would be a fine document to introduce the term delta, but
it looks like the content flows just fine without it.
2019-02-07 16:25:23 -07:00
Greg Fitzgerald 4e6a9b029a finalized -> frozen 2019-02-07 16:25:23 -07:00
Greg Fitzgerald 3e519faaa8 Move to 80-char lines 2019-02-07 16:25:23 -07:00
Greg Fitzgerald e2eb7c1ba7 Render ASCII art 2019-02-07 16:25:23 -07:00
Greg Fitzgerald 87ba5b865d Fix markdown 2019-02-07 16:25:23 -07:00
Greg Fitzgerald 992f2790e7 Cleanup 2019-02-07 16:25:23 -07:00
Anatoly Yakovenko e1a099632e fork design book 2019-02-07 16:25:23 -07:00
Greg Fitzgerald 5bb4ac9873 Cleanup 2019-02-07 16:09:04 -07:00
Anatoly Yakovenko 31b0d14856 wip, initial explanation on vote signer validator and stake owner relationship 2019-02-07 16:09:04 -07:00
Greg Fitzgerald 582ba4f173 Move economics into the proposed changes
Once this is implemented, we'll move it into the "A Solana Cluster"
section.
2019-02-06 09:29:52 -07:00
Greg Fitzgerald 0229c97071 Move economics images into img/
And flip the exe bit
2019-02-06 09:29:52 -07:00
Greg Fitzgerald c0b398c7c9 Fix markdown and typo 2019-02-06 09:29:52 -07:00
Manuel 5375c420c1 headers style have been adjusted 2019-02-04 14:25:26 -07:00
Greg Fitzgerald 3ff8bbcf65 Cleanup economic design (#2649)
* Remove section numbers
* Fix all hyperlinks
* Add detail on protocol-designated minimum tx fee amount
2019-02-02 18:35:18 -08:00
anatoly yakovenko e104941569
Add design proposal for reliable vote transmission (#2601)
* reliable vote transmission design proposal

* summary

* comments
2019-01-31 07:34:49 -08:00
Greg Fitzgerald c536a0bf04 Remove mention of BCC 2019-01-30 18:00:04 -07:00
Anatoly Yakovenko 5b8e7bfcf2 s/voter/validator 2019-01-30 15:44:51 -07:00
Anatoly Yakovenko 3cbbceec78 rewarding 2019-01-30 15:44:51 -07:00
Anatoly Yakovenko e684fafb68 fmt 2019-01-30 15:44:51 -07:00
Anatoly Yakovenko 651342b3db cleanup fork selection 2019-01-30 15:44:51 -07:00
Greg Fitzgerald 883fc39c80 Rename EntryTree to Blocktree 2019-01-30 13:29:34 -07:00
Michael Vines 4bb6549895 Genesis block is now a json file 2019-01-25 09:05:15 -08:00
Greg Fitzgerald ce41760fdd Update definitions of block and slot 2019-01-23 18:22:20 -08:00
Eric b381d9e06d add pngs and formatting 2019-01-17 14:30:20 -07:00
Eric a416b53d11 file permissions 2019-01-17 14:30:20 -07:00
Eric 6fd13e3af0 rename files 2019-01-17 14:30:20 -07:00
Eric 4b7dc8200c reference reformatting 2019-01-17 14:30:20 -07:00
Eric b83279848a html table to md table 2019-01-17 14:30:20 -07:00
Eric a48b278c10 add economic design sections to TOC 2019-01-17 14:30:20 -07:00
Michael Vines a84b6bc7e4 Overhaul wallet rpc/drone command-line arguments 2019-01-17 08:36:05 -08:00
Mark 00ee8813f7
Add initial build step to getting started (#2455) 2019-01-16 14:46:57 -06:00
Greg Fitzgerald e76f2ea89c Add record to runtime pipeline 2019-01-16 13:39:30 -07:00
Greg Fitzgerald c9f57c2d96 Review feedback 2019-01-16 13:38:32 -07:00
Greg Fitzgerald 438d36341d Add note about implications on previous blocks 2019-01-16 13:38:32 -07:00
Greg Fitzgerald 3ab54b1591 Review feedback 2019-01-16 13:38:32 -07:00
Greg Fitzgerald 77a2f186ee Add block confirmation proposal 2019-01-16 13:38:32 -07:00
Greg Fitzgerald 63b76c32f9 80-char lines 2019-01-16 09:40:45 -08:00
Greg Fitzgerald c9264ee12c Cleanup fanout docs and ASCII art 2019-01-16 09:40:45 -08:00
Sagar Dhawan 97d90b99e2
Describe Data-Plane fanout and distribution (#2008) 2019-01-16 21:38:10 +05:30
Tyera Eulberg 58bca04a3f Couple edits 2019-01-08 17:44:09 -07:00
Greg Fitzgerald d2431128c7 Remove WriteStage from TPU/TVU diagrams
Fixes #2312
2019-01-08 08:42:06 -08:00
Michael Vines 56a3197f7f
spelling 2019-01-03 18:48:24 -08:00
carllin 8116fe8def
Add proposed design for db_ledger (#2253)
* Add proposed design for db_ledger
2019-01-03 14:12:55 -08:00
Manuel e3478ee2ab svg logo and increased font size for better reading experience 2019-01-02 08:33:57 -07:00
Michael Vines 371cb4f0f3 Document getConfirmationTime 2018-12-22 12:47:02 -08:00
Michael Vines f98d72a30b
Fetch latest tag 2018-12-19 20:17:49 -08:00
Greg Fitzgerald 71df71c601 Revert Clang to C lang change 2018-12-19 20:17:23 -08:00
Sbhargava 1d0f7c44e2 Copy editing introduction
Not sure how else to comment, but I'd encourage keeping the content timeless rather than an update. So don't talk about recent releases or next we're doing X. (just a suggestion ;)
2018-12-19 20:17:23 -08:00
Michael Vines c8d27f6424
Drop _ to clean up CI logs, apply more -j 2018-12-18 14:11:15 -08:00
jackcmay fe5566d642
Local testnet info (#2174) 2018-12-14 15:55:58 -08:00
jackcmay 4a2933b0b6
Update README.md 2018-12-14 15:55:16 -08:00
anatoly yakovenko a22e1199cf
Add fork selection RFC (#2061)
RFC and simulation for fork generation.
2018-12-14 11:15:23 -08:00
Greg Fitzgerald 79f12d6b55 Move EntryTree back to proposals 2018-12-14 12:12:34 -07:00
Greg Fitzgerald 483f6702a6
Rewrite synchronization chapter (#2156)
* Rewrite synchronization chapter
* Add synchronization terminology
2018-12-14 11:06:53 -07:00
Greg Fitzgerald 3ce3f1adc1 Move book dev instructions out of top-level readme 2018-12-13 11:17:11 -07:00
Greg Fitzgerald 962e8dca1d Fix markdown 2018-12-12 17:19:46 -07:00
Greg Fitzgerald 8da4be1b34 Prefer the term 'cluster' over 'network'
Use 'network' for the networking stack. Examples:

* The network drops packets.
* The cluster rejects bad transactions.
* The Solana cluster runs on a gigabit network.
2018-12-12 17:19:46 -07:00
Greg Fitzgerald f2ef74d1a1 Consistent naming between ToC and chapters 2018-12-12 17:19:46 -07:00
Greg Fitzgerald 546c92751b 80-char lines 2018-12-12 17:19:46 -07:00
Greg Fitzgerald 3a89d80a61 Update name in TPU 2018-12-12 14:55:27 -07:00
Greg Fitzgerald fd45e83651 Add web wallet example 2018-12-12 14:55:27 -07:00
Greg Fitzgerald 9a49ace606 No longer reserve terms from the terminology chapter
We followed the precedent set by the Rust book here, but now that
proposals are integrated, each proposal can simply include its own
terminology section.
2018-12-12 14:12:07 -07:00
Greg Fitzgerald ad8b095677 Capitalize acronyms in book 2018-12-12 12:15:20 -07:00
Greg Fitzgerald 38c72070fb Update links 2018-12-12 12:11:12 -07:00
Greg Fitzgerald 93fe1af1a8 Integrate EntryTree description into the TVU doc 2018-12-12 12:11:12 -07:00
Greg Fitzgerald 504bf4ba84 Bring drone description into the present 2018-12-12 12:11:12 -07:00
Greg Fitzgerald 9f9c5fcf10 Migrate all RFC content into the book 2018-12-12 12:11:12 -07:00
Greg Fitzgerald 90a0237457 Cherrypick recent changes to gossip RFC
Delete the RFC since this is all implemented.

See: 02bfcd23a9
2018-12-12 11:55:07 -07:00
Greg Fitzgerald c83538a60c Add new proposal process
And move replication and enclave proposals there to get a feel
for how it'd look.
2018-12-12 11:04:57 -07:00
Greg Fitzgerald 13d4e3f29f Replace the leader rotation chapter with the latest RFC
The content that was originally copied was split into multiple
RFCs, leaving the book copy to bitrot.
2018-12-12 10:48:58 -07:00
Greg Fitzgerald 6cbf82dbe0
Delete storage.md 2018-12-11 17:10:01 -07:00
Greg Fitzgerald 896622de64
Delete empty page
Bring this back in after replication is fully integrated.
2018-12-11 17:09:44 -07:00
Greg Fitzgerald 1a160a86fa
Fix typo and curve corners 2018-12-11 17:07:43 -07:00
Greg Fitzgerald 11abd3cf6e
Update tictactoe.md 2018-12-11 17:03:49 -07:00
Greg Fitzgerald 9552badb16 Reference tic-tac-toe README instead of copying it
Also expand a bit on how it works.
2018-12-11 16:01:35 -08:00
Greg Fitzgerald 6fd41beccd Reference the JavaScript API docs more directly 2018-12-11 16:01:35 -08:00
Greg Fitzgerald c679dea1b7 Add instructions to build and run tic-tac-toe 2018-12-11 16:01:35 -08:00
Greg Fitzgerald 9556a9be17 Update the artwork 2018-12-10 15:26:43 -07:00
Rob Walker 586d9ee850
fix some nits (#2034)
rework maybe_cargo_install(), renamed to cargo_install_unless, updated to take a command to attempt
2018-12-08 19:14:19 -08:00
Michael Vines b1682558a6
Remove optional --identity argument to simplify command 2018-12-08 10:22:51 -08:00
Greg Fitzgerald b5a80d3d49
Update ledger replication chapter (#2029)
* ledger block -> ledger segment

The book already defines a *block* to be a slight variation of
how block-based changes define it. It's the thing the cluster
confirms should be the next set of transactions on the ledger.

* Boot storage description from the book
2018-12-07 16:52:36 -07:00
Michael Vines 70c149c7da Rename leader/validator to bootstrap-leader/fullnode
Only rsyncing the genesis ledger snuck in here as well
2018-12-06 19:44:47 -08:00
Greg Fitzgerald 97b1156a7a Rename Ncp to GossipService
And BroadcastStage to BroadcastService since it's not included in the
TPU pipeline.
2018-12-06 15:48:19 -07:00
Greg Fitzgerald a20c1b4547 Apply review feedback
And take a stab at clarifying some other sections too.
2018-12-06 08:44:01 -07:00
Greg Fitzgerald 56ffb4385d Use gossip RFC to seed the NCP description
And format the gossip RFC for easy diffing.
2018-12-06 08:44:01 -07:00
Michael Vines a6312ba98f Switch snap to bootstrap-fullnode/fullnode naming 2018-12-05 18:59:43 -08:00
Greg Fitzgerald b880dafe28 Cleanup intro 2018-12-05 15:25:11 -08:00
Rob Walker 4fd4218178
update terminology before tearing into RFCs (#1995)
update terminology before tearing into RFCs
2018-12-05 14:35:41 -08:00
Greg Fitzgerald a29b307554 Reorg programming model to be more top-down
First explain how a client interacts with existing programs and why
you'd do that. Next, mention that users can contribute their own programs.
Then explain how those programs can be written in any language.
Finally, mention persistent storage, which is only needed by
stateful programs.
2018-12-05 13:36:43 -08:00
Greg Fitzgerald bf2658cee0 Apply review feedback 2018-12-05 10:30:16 -08:00
Greg Fitzgerald 6ecb00a1d8 Add account access rules 2018-12-05 10:30:16 -08:00
Greg Fitzgerald 1990501786 Describe executable and owner account metadata 2018-12-05 10:30:16 -08:00
Greg Fitzgerald 963de90b7f Apply review feedback 2018-12-05 10:30:16 -08:00
Greg Fitzgerald 13c7c3b3a6 Rewrite programming model with developer focus
Previous version talked about concurrency, which is described
in detail in the Anatomy of a Fullnode chapter. App developers
probably don't care that their programs run in parallel with
other programs. From their perspective, there's no difference
between 10x parallelism and a 10x faster CPU.
2018-12-05 10:30:16 -08:00
Greg Fitzgerald 209040e80e
Free up term "finality" to imply "economic finality" (#2002)
* leader finality -> confirmation

Free up term "finality" to imply "economic finality."

* Reorder chapters
2018-12-04 20:52:38 -07:00
Greg Fitzgerald da44b0f0f6 Move markdown book theme to its default directory
It was getting in the way of my "git grep".
2018-12-04 10:14:41 -08:00
Greg Fitzgerald f8aa806d77
Explain how ledger broadcasting works (#1960) 2018-12-02 16:43:40 -07:00
Michael Vines 42dc18ddfc
Avoid exiting when cmd is not found 2018-11-30 20:44:34 -08:00
Manuel 801df72680 h4,h5 font size increased 2018-11-30 18:03:55 -08:00
Manuel c8f161d17f a custom mdbook theme implemented to improve book style and structure 2018-11-30 18:03:55 -08:00
Greg Fitzgerald 99445f475b Add leader rotation links
Avoid the term "leader selection" here. More precise terms are
"leader scheduling", "leader rotation", and "fork selection."
2018-11-28 18:08:05 -08:00
Greg Fitzgerald 070d6a2faa Drop mention of CLI tooling
This is a "how does it work?" chapter, not "how do I do it?"
2018-11-28 18:08:05 -08:00
Greg Fitzgerald 3de63570f6 Better formatting and lots of terminology links 2018-11-28 18:08:05 -08:00
Greg Fitzgerald 8d1ac37734 More terms 2018-11-28 18:08:05 -08:00
Greg Fitzgerald 36503ead70 Fix capitalization
And delete JSON RPC Service for now, since it currently has no
content.
2018-11-28 18:08:05 -08:00
Greg Fitzgerald f4d3b3f0d6 Merged synchronization, PoH and VDF sections 2018-11-28 18:08:05 -08:00
Greg Fitzgerald acee1f7c6c Merged synchronization, PoH and VDF sections 2018-11-28 18:08:05 -08:00
Greg Fitzgerald c242467fdf Expland cluster overview, integrate Avalanche chapter 2018-11-28 18:08:05 -08:00
Michael Vines af1d9345e0 De-dup ci book build 2018-11-26 18:38:57 -08:00
Greg Fitzgerald 2200a31331 Generate book images via Make 2018-11-26 09:44:19 -08:00
Greg Fitzgerald 88e270723f Move markdown book out of src/ 2018-11-26 09:44:19 -08:00