Sitelet https://github.com/zkmopro/mopro/commit/a2ccb0cdc03f89234d919ef0407d42da9fe3fc7a
Skip to content

Commit a2ccb0c

Browse files
moven0831claude
andauthored
fix: replace dead ci-keys.zkmopro.org links (#725)
* fix(docs): replace dead ci-keys.zkmopro.org download links ci-keys.zkmopro.org stopped resolving, so following the setup guide or the EthTaipei workshop hit "curl: (6) Could not resolve host". Point at the fixtures committed in this repo and in rust-rapidsnark instead, pinned to a tag or commit so they cannot drift. The versioned 0.1 and 0.2 copies carried the same dead host, so they are updated too. keccak256.json becomes circuit-registry's keccak256/input.json, which is byte-identical to the input the workshop already pastes inline. Also note that rapidsnark has no x86_64-apple-ios prebuilt, since rust-rapidsnark 0.1.4 dropped that target, and building it now needs RAPIDSNARK_LIB_DIR. Finally, cover the rapidsnark feature in cli_template_tests. Scaffolded projects leave it off, so nothing in CI compiled rust-rapidsnark or fetched its prebuilt libraries, which is why a download endpoint could break for users without CI noticing. Runs on both macos-latest and ubuntu-latest. Refs #724 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * fix(ci): point rapidsnark guard error at circom.rs The grep guard's error message named write_toml.rs, which only emits the # CIRCOM_DEPENDENCIES marker. The circom-prover line the sed pattern matches comes from the DEPENDENCIES const in cli/src/init/circom.rs. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent 10871f0 commit a2ccb0c

7 files changed

Lines changed: 22 additions & 9 deletions

File tree

‎.github/workflows/build-and-test.yml‎

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,18 @@ jobs:
132132
export CLASSPATH="$PWD/jna-5.13.0.jar"
133133
cargo test --all --all-features
134134
135+
- name: Build with the rapidsnark feature
136+
if: matrix.adapter == 'circom'
137+
working-directory: ${{ runner.temp }}/mopro-example-circom
138+
run: |
139+
sed -i.bak 's/^circom-prover = "0.1"$/circom-prover = { version = "0.1", features = ["rapidsnark"] }/' Cargo.toml
140+
rm Cargo.toml.bak
141+
grep -q 'features = \["rapidsnark"\]' Cargo.toml || {
142+
echo "::error::failed to enable the rapidsnark feature; the circom-prover entry in cli/src/init/circom.rs may have changed"
143+
exit 1
144+
}
145+
cargo build
146+
135147
cli_build_ios_prepare:
136148
needs: cli_build
137149
strategy:

‎docs/blog/2025-03-27-ethtaipei-workshop.md‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -236,8 +236,8 @@ Alternatively, you can watch this video to see how to run the app.
236236
This section explains how to update circuits with alternative witness generators and corresponding zkey files. We use the [Keccak256 circuit](https://github.com/zkmopro/circuit-registry/blob/main/keccak256/keccak256_256_test.circom) as a reference example here.
237237

238238
1. Add wasm and zkey file in the `test-vectors/circom` folder
239-
- wasm: https://ci-keys.zkmopro.org/keccak256_256_test.wasm
240-
- zkey: https://ci-keys.zkmopro.org/keccak256_256_test_final.zkey
239+
- wasm: https://raw.githubusercontent.com/zkmopro/rust-rapidsnark/v0.1.4/tests/test-vectors/keccak256_256_test.wasm
240+
- zkey: https://raw.githubusercontent.com/zkmopro/rust-rapidsnark/v0.1.4/tests/test-vectors/keccak256_256_test_final.zkey
241241
2. In `src/lib.rs` file, update the circuit's witness generator function definition.
242242

243243
```diff
@@ -315,7 +315,7 @@ This section explains how to update circuits with alternative witness generators
315315
+ val zkeyPath = getFilePathFromAssets("keccak256_256_test_final.zkey")
316316
```
317317

318-
- Update circuit inputs: https://ci-keys.zkmopro.org/keccak256.json
318+
- Update circuit inputs: https://raw.githubusercontent.com/zkmopro/circuit-registry/aab2ee1290ecd5d2b7dff985520bd1f3ce8a9750/keccak256/input.json
319319

320320
- **iOS:**<br/>
321321

‎docs/docs/adapters/circom.md‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,7 @@ Mopro now supports 2 Circom provers. You can find more information in [the blog
302302

303303
- `rust-rapidsnark` is based on the original C++ implementation of [rapidsnark](https://github.com/iden3/rapidsnark), with the binary wrapped and integrated in Rust.
304304
- Activate `rapidsnark` Feature for both `[dependencies]` and `[build-dependencies]`
305+
- No prebuilt covers `x86_64-apple-ios`. To build for the Intel Mac simulator, point `RAPIDSNARK_LIB_DIR` at your own build of those libraries.
305306

306307
```toml
307308
[dependencies]

‎docs/docs/sdk/react-native.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ To learn how to read a .zkey file from an app, please refer to the [`loadAssets`
117117
:::warning
118118
The default bindings are built specifically for the `multiplier2` circom circuit. If you'd like to update the circuit or switch to a different proving scheme, please refer to the [How to Build the Package](#how-to-build-the-package) section.<br/>
119119
Circuit source code: https://github.com/zkmopro/circuit-registry/tree/main/multiplier2<br/>
120-
Example .zkey file for the circuit: http://ci-keys.zkmopro.org/multiplier2_final.zkey<br/>
120+
Example .zkey file for the circuit: https://raw.githubusercontent.com/zkmopro/mopro/mopro-cli-v0.3.7/cli/src/template/init/test-vectors/circom/multiplier2_final.zkey<br/>
121121
:::
122122

123123
And in `index.js`, for example, replace this with

‎docs/docs/setup/rust-setup.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,8 +171,8 @@ fn main() {
171171
Learn more about `.wasm` files in [Circom documentation](https://docs.circom.io/getting-started/compiling-circuits/). <br/>
172172
Here are the example WASM and Zkey files to be downloaded.
173173

174-
- http://ci-keys.zkmopro.org/multiplier2.wasm
175-
- http://ci-keys.zkmopro.org/multiplier2_final.zkey
174+
- [multiplier2.wasm](https://raw.githubusercontent.com/zkmopro/mopro/mopro-cli-v0.3.7/cli/src/template/init/test-vectors/circom/multiplier2.wasm)
175+
- [multiplier2_final.zkey](https://raw.githubusercontent.com/zkmopro/mopro/mopro-cli-v0.3.7/cli/src/template/init/test-vectors/circom/multiplier2_final.zkey)
176176

177177
:::
178178

‎docs/versioned_docs/version-0.1/setup/react-native-setup.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -487,7 +487,7 @@ export default function HomeScreen() {
487487
const [proof, setProof] = useState<string>("");
488488
async function genProof(): Promise<void> {
489489
const asset = Asset.fromURI(
490-
"https://ci-keys.zkmopro.org/multiplier2_final.zkey"
490+
"https://raw.githubusercontent.com/zkmopro/mopro/mopro-cli-v0.3.7/cli/src/template/init/test-vectors/circom/multiplier2_final.zkey"
491491
);
492492
const newFileName = "multiplier2_final.zkey";
493493
const newFilePath = `${FileSystem.documentDirectory}${newFileName}`;

‎docs/versioned_docs/version-0.2/setup/rust-setup.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,8 +154,8 @@ fn main() {
154154
Learn more about `.wasm` files in [Circom documentation](https://docs.circom.io/getting-started/compiling-circuits/). <br/>
155155
Here are the example WASM and Zkey files to be downloaded.
156156

157-
- http://ci-keys.zkmopro.org/multiplier2.wasm
158-
- http://ci-keys.zkmopro.org/multiplier2_final.zkey
157+
- [multiplier2.wasm](https://raw.githubusercontent.com/zkmopro/mopro/mopro-cli-v0.3.7/cli/src/template/init/test-vectors/circom/multiplier2.wasm)
158+
- [multiplier2_final.zkey](https://raw.githubusercontent.com/zkmopro/mopro/mopro-cli-v0.3.7/cli/src/template/init/test-vectors/circom/multiplier2_final.zkey)
159159

160160
:::
161161

0 commit comments

Comments
 (0)