diff --git a/book/developers/common-issues.md b/book/developers/common-issues.md index 5d0a50e808..92936aadfb 100644 --- a/book/developers/common-issues.md +++ b/book/developers/common-issues.md @@ -5,7 +5,7 @@ If you are using a library that has an MSRV specified, you may encounter an error like this when building your program. ```txt -package `alloy v0.1.1 cannot be built because it requires rustc 1.76 or newer, while the currently active rustc version is 1.75.0-nightly` +package `alloy v0.1.1` cannot be built because it requires rustc 1.76 or newer, while the currently active rustc version is 1.75.0-nightly` ``` This is due to the fact that your current Succinct Rust toolchain has been built with a lower version than the MSRV of the crates you are using. @@ -18,7 +18,7 @@ You can check the version of your local Succinct Rust toolchain by running `carg cargo 1.81.0-dev (2dbb1af80 2024-08-20) ``` -A Succinct Rust toolchain with version **1.81** should work for all crates that have an MSRV of **1.81** or lower. +The Succinct Rust toolchain with version **1.81** should work for all crates that have an MSRV of **1.81** or lower. If the MSRV of your crate is higher than **1.81**, try the following: @@ -144,4 +144,5 @@ After confirming the version of `sp1-sdk` in your lockfile, you can downgrade to % cargo update -p sp1-build -p sp1-sdk -p sp1-recursion-derive -p sp1-recursion-gnark-ffi -p sp1-zkvm --precise 3.0.0-rc1 ``` -This command will update the `Cargo.lock` file to specify the lower RC version, resolving any version conflicts and allowing you to continue development. +This command will update the `Cargo.lock` file to specify the lower RC version, resolving any version conflicts and thus allowing you to continue development. + diff --git a/book/developers/rv32im-specification.md b/book/developers/rv32im-specification.md index 84e8aa7584..9ca550879b 100644 --- a/book/developers/rv32im-specification.md +++ b/book/developers/rv32im-specification.md @@ -2,7 +2,7 @@ SP1 implements the RISC-V RV32IM instruction set with some implementation details that make it more suitable for proving. -- LW/SW memory access must be word aligned. +- LW/SW memory access must be word-aligned. - LH/LHU/SH memory access must be half-word aligned. -- Memory access is only valid for addresses `0x20, 0x78000000`. Accessing addresses outside of this range will result in undefined behavior. The global heap allocator in `sp1_zkvm` will panic if memory exceeds this range. +- Memory access is only valid for addresses `0x20 and 0x78000000`. Accessing addresses outside of this range will result in undefined behavior. The global heap allocator in `sp1_zkvm` will panic if memory exceeds this range. - The ECALL instruction is used for system calls and precompiles. Only valid syscall IDs should be called, and only using the specific convention of loading the ID into register T0 and arguments into registers A0 and A1. If the arguments are addresses, they must be word-aligned. Failure to follow this convention can result in undefined behavior. Correct usages can be found in the `sp1_zkvm` and `sp1_lib` crates. diff --git a/book/generating-proofs/prover-network/usage.md b/book/generating-proofs/prover-network/usage.md index b08497868d..1cf29fdbb7 100644 --- a/book/generating-proofs/prover-network/usage.md +++ b/book/generating-proofs/prover-network/usage.md @@ -4,7 +4,7 @@ ## Sending a proof request -To use the prover network to generate a proof, you can run your script that uses `sp1_sdk::ProverClient` as you would normally but with additional environment variables set: +To use the prover network to generate a proof, you can run the script that uses `sp1_sdk::ProverClient` as you would normally but with additional environment variables set: ```rust,noplayground // Generate the proof for the given program. @@ -34,7 +34,7 @@ You can view your proof and other running proofs on the [explorer](https://explo ### Skip simulation -To skip the simulation step and directly submit the program for proof generation, you can set the `SKIP_SIMULATION` environment variable to `true`. This will save some time if you are sure that your program is correct. If your program panics, the proof will fail and ProverClient will panic. +To skip the simulation step and directly submit the program for proof generation, you can set the `SKIP_SIMULATION` environment variable to `true`. This will save some time, if you are sure that your program is correct. If your program panics, the proof will fail, and ProverClient will also panic. ### Use NetworkProver directly