Skip to content

Commit da8c2a4

Browse files
authored
BM-165: Refactor Book: Glossary, License, Placeholders, Ref. Links (github#13)
Refactors to have three primary sub-sections: 1. The Market (concepts & design) 2. Requestor Manual 3. Prover Manual Adds pages: - License (all rights reserved for now) - Glossary - Reference - `README.md`s for all dir's for better github browsing experience and overview sections in the Book - ~~`links.md` that (will eventually) contain all links in the book. See [BM-191](https://linear.app/risczero/issue/BM-191/use-single-page-for-all-reference-style-links)~~ Adds CSS for captioned images ![image](https://github.com/user-attachments/assets/e42cbf5e-aa44-4284-b1c1-d5132357dfcf) Fixes https://linear.app/risczero/issue/BM-189/refactor-overall-to-be-better-consumed-top-to-bottom-as-a-book
1 parent 50fd9e3 commit da8c2a4

27 files changed

+295
-232
lines changed

LICENSE.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Copyright (c) 2024 RISC Zero, Inc.
2+
3+
All rights reserved.

docs/README.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Boundless Docs
1+
# Boundless Book
22

33
## Dependencies
44

@@ -11,3 +11,14 @@ cargo install mdbook
1111
```console
1212
mdbook serve --open -p 3001
1313
```
14+
15+
## Linting & Formatting
16+
17+
From the top-level working directory:
18+
19+
```console
20+
# Format all files configured in .dprint.jsonc
21+
dprint fmt
22+
# Check all links configured in lychee.toml
23+
lychee .
24+
```

docs/book.toml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,11 @@ edition = "2021" # the default edition for code blocks
1212
[build]
1313
build-dir = "book" # the directory where the output is placed
1414
create-missing = false # opt out of helper to create missing stub files, we want to fail if the SUMMARY.md is incorrect.
15-
use-default-preprocessors = true # use the default preprocessors
15+
use-default-preprocessors = false # want `links` but not `index` https://rust-lang.github.io/mdBook/format/configuration/general.html#build-options
1616
extra-watch-dirs = [] # directories to watch for triggering builds
1717

18+
[preprocessor.links]
19+
1820
[output.html]
1921
# site-url = "/boundless-xyz" # needed for gh-pages, MUST match repo name on github!
2022
git-repository-url = "https://github.com/boundless-xyz/boundless"
@@ -23,7 +25,6 @@ default-theme = "Boundless"
2325
preferred-dark-theme = "Navy"
2426
fold.enable = true # Sidebar collapses automatically
2527
print.enable = false # Disclude support for printable output
26-
additional-js = ["solidity.min.js", "yul.min.js"]
2728

2829
[output.html.search]
2930
limit-results = 20

docs/solidity.min.js

Lines changed: 0 additions & 73 deletions
This file was deleted.

docs/src/LICENSE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../LICENSE.md

docs/src/README.md

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,28 @@
1-
# Introduction
1+
<center><h2> The Verifiable Compute Layer </h2></center>
22

3-
This is the Boundless book, we will cover the following topics:
3+
<figure>
4+
<img src="images/boundless-vision-blog-devs-overview.webp"/>
5+
<cap>Boundless: Verifiable Off-chain Computation on Any Chain</cap>
6+
</figure>
47

5-
- The proving market design
6-
- Market mechanics
7-
- How to request a proof as a client
8-
- How to run and operate a Bento proving cluster (for the market or private)
9-
- How to operate a broker node for participating in the network as a prover
8+
This Book's goal is to:
9+
10+
- Enable everyone to _understand_ [Boundless][term-boundless] via the [Market Section][page-market-overview]
11+
- Act as a User Manual for the two key _actors_ in the [Boundless Market][term-boundless-market]:
12+
- [Requestors][term-requestor] - using the [Requestor Manual][page-requestor-manual]
13+
- [Provers][term-prover] - using the [Prover Manual][page-prover-manual]
14+
15+
Boundless is relatively complex in it's architecture and requires idiosyncratic terms to identify what is being referenced, defined in the [glossary][page-glossary].
16+
17+
Helpful resources and more can be found in the [reference][page-reference].
18+
19+
[page-prover-manual]: prover-manual/README.md
20+
[page-market-overview]: market/README.md
21+
[page-requestor-manual]: requestor-manual/README.md
22+
[page-glossary]: glossary.md
23+
[page-reference]: reference.md
24+
[term-bento]: glossary.md#bento
25+
[term-boundless]: glossary.md#boundless-market
26+
[term-boundless-market]: glossary.md#boundless-market
27+
[term-requestor]: glossary.md#requestor
28+
[term-prover]: glossary.md#prover

docs/src/SUMMARY.md

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,26 @@
11
# Summary
22

3-
- [Introduction](./README.md)
3+
[🏡 Boundless](./README.md)
44

5-
# Market
5+
---
66

7-
- [Boundless Market v0 RFC](./market/prover_market_rfc.md)
8-
- [Market Matching Design](./market/reverse_dutch.md)
9-
- [Submit proving requests](./market/proving_request.md)
7+
- [💹 Market Overview](./market/README.md)
108

11-
# Bento
9+
- [Boundless Market RFC](./market/rfc.md)
10+
- [Market Matching](./market/matching.md)
11+
- [Local Development Configuration](./market/local-development.md)
1212

13-
- [Running Bento](./bento/running_bento.md)
14-
- [Technical Design](./bento/technical_design.md)
13+
- [🙋 Requestor Manual](./requestor-manual/README.md)
1514

16-
# Broker
15+
- [Broadcasting Requests](./requestor-manual/broadcasting.md)
1716

18-
- [Run a broker node](./broker/broker_node.md)
19-
- [Play with a local devnet](./broker/local_devnet.md)
17+
- [🏋 Prover Manual](./prover-manual/README.md)
2018

21-
<!-- TODO add back the link to the Sepolia doc when ready -->
19+
- [Bento](./prover-manual/bento/README.md)
20+
- [Running Bento](./prover-manual/bento/running_bento.md)
21+
- [Broker](./prover-manual/broker/README.md)
2222

23-
- [Play with Sepolia]()
23+
- [🔗 Reference](./reference.md)
24+
- [📑 Glossary](./glossary.md)
2425

25-
# Examples
26-
27-
> TODO: Document counter example here
26+
[🏷️ License](./LICENSE.md)

docs/src/glossary.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# Glossary
2+
3+
### Assessor
4+
5+
A [guest program][r0-term-guest-program] that will verify the application receipt through composition and check that it satisfies the given requirements. Using this method, the full request does not need to be provided as part of fulfillment, only the associated identifier.
6+
7+
### Aggregation
8+
9+
In order to amortize the Boundless' _on-chain verification cost_, a recursive verification protocol is used to verify multiple independent [receipts][r0-term-reciept] such that a single receipt attests to every claim in a set of proofs.
10+
Further improving efficiency of inclusion proofs on-chain, this process builds a binary Merkle tree of the receipt claims.
11+
12+
> See `crates/aggregation-set/src/lib.rs` and `crates/guest/set-builder/set-builder-guest/src/main.rs` for details.
13+
14+
### Bento
15+
16+
A cluster of services that coordinate to search for, bid on, and attempt to fulfil [proof order](#proof-order)s.
17+
18+
> See the [Bento Documentation][page-bento] for moe details.
19+
20+
### Broker
21+
22+
A cluster of services that coordinate to search for, bid on, and attempt to fulfil [proof order](#proof-order)s.
23+
24+
> See the [Bento Documentation][page-bento] for moe details.
25+
26+
### Prover
27+
28+
The market participant that fulfills [proof order](#proof-order)
29+
30+
### Proof Order
31+
32+
<!-- TODO https://linear.app/risczero/issue/BM-201/replace-proof-request-with-order -->
33+
34+
An order placed on the [Boundless Market](#boundless-market) to that includes:
35+
36+
- A Unique ID for the request on the Market
37+
- Proof Requirements for a this order to be fulfilled, including the [Image ID][r0-term-image-id]
38+
- A URL where the [ELF Binary][r0-term-elf-binary] for the program with required Image ID's can be retrieved byt the [Prover](#prover)
39+
- [Guest Program][r0-term-guest-program] inputs
40+
- An Offer specifying remuneration for successful order fulfillment
41+
42+
See `contracts/src/IProofMarket.sol` for more details.
43+
44+
### Requestor
45+
46+
<!-- TODO https://linear.app/risczero/issue/BM-202/replace-instances-of-client-with-requestor -->
47+
48+
Also referred to as the Client in the context of contracts, the party submitting orders to the market proofs form the Boundless Market.
49+
50+
### Preflight
51+
52+
is this specific and need a name? (run execution to check cost and see if execution is valid at all)
53+
54+
[r0-term-image-id]: https://dev.risczero.com/terminology#image-id
55+
[r0-term-guest-program]: https://dev.risczero.com/terminology#guest-program
56+
[r0-term-elf-binary]: https://dev.risczero.com/terminology#elf-binary
57+
[r0-term-reciept]: https://dev.risczero.com/terminology#receipt
58+
[page-bento]: ./prover-manual/bento/README.md
Binary file not shown.

docs/src/market/README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Market Overview
2+
3+
This section includes details pertinent to both:
4+
5+
- [Requestors][term-requestor] - using the [Requestor Manual][page-requestor-manual]
6+
- [Provers][term-prover] - using the [Prover Manual][page-prover-manual]
7+
8+
Key concepts and designs are discussed, as well as details both need for [local Boundless development][page-local-development].
9+
10+
[page-prover-manual]: ../prover-manual/README.md
11+
[page-requestor-manual]: ../requestor-manual/README.md
12+
[page-local-development]: ./local-development.md
13+
[term-requestor]: ../glossary.md#requestor
14+
[term-prover]: ../glossary.md#prover

0 commit comments

Comments
 (0)