Skip to content

Commit

Permalink
Ms1review (#11)
Browse files Browse the repository at this point in the history
mainly documentation and build fix

---------

Co-authored-by: dastansam <dastan.samatov.33@gmail.com>
  • Loading branch information
wasabrot and dastansam authored Jan 31, 2024
1 parent c347ba9 commit 651815e
Show file tree
Hide file tree
Showing 14 changed files with 285 additions and 238 deletions.
10 changes: 10 additions & 0 deletions .codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
coverage:
status:
project:
default:
target: 80% # Target coverage is 80%

patch: # For each individual patch
default:
target: 80% # Target coverage for patches is also 80%

3 changes: 1 addition & 2 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
- uses: actions/checkout@v3

- name: Install linux dependencies
run: sudo apt-get install -y clang libssl-dev llvm libudev-dev protobuf-compiler
run: sudo apt-get update && sudo apt-get install -y clang libssl-dev llvm libudev-dev protobuf-compiler

- name: Install Rust
run: |
Expand Down Expand Up @@ -60,7 +60,6 @@ jobs:

- name: Run clippy
run: |
RUST_BACKTRACE=1 RISC0_DEV_MODE=true cargo build
RISC0_SKIP_BUILD=true cargo clippy --all-targets
- name: Check Build
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docker-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Docker Build

on:
push:
branches: [ main ]
branches: [ main, ms1review ]

pull_request:
branches: [ main ]
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ COPY Cargo.toml /
COPY rust-toolchain.toml /

# create directory holding generated Image Id of Computation which will be proved.
WORKDIR /host
RUN mkdir -p /host/out
RUN rm -R /data/test/*.json

WORKDIR /
RUN RUST_BACKTRACE=1 RISC0_DEV_MODE=true cargo build --release
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
# Hyperfridge zkVM component!

Welcome to the Hyperfridge RISC Zero component! The idea of hyperfridge is to create a bidirectional bridge to the TradFi world for blockchain applications, secured by Zero-Knowledge tech. This project is supported by [Web3 Foundation](https://web3.foundation/) and lets smart contracts and blockchain Dapps "look inside" a bank account, for example to react on the arrival of a FIAT payment and allows to send FIAT funds through a bank account. All automated, secure, and privacy-preserving. For more information take a look at our [web3 grant application](https://github.com/w3f/Grants-Program/blob/master/applications/hyperfridge.md). Hyperfridge's vision is to create a ZK-based ledger to provide a trustless interfaces to TradFi so that anyone can "plug-in" their own bank-account into the Web3 world, similar as you can do it today with [Stripe](https://en.wikipedia.org/wiki/Stripe,_Inc.) in the Web2 world, but open-sourced and fully trustless.
Welcome to the Hyperfridge RISC Zero component! The idea of hyperfridge is to create a bidirectional bridge to the TradFi world for blockchain applications, secured by Zero-Knowledge tech. This project is supported by [Web3 Foundation](https://web3.foundation/) and lets smart contracts and blockchain DApps "look inside" a bank account. For example, to react on the arrival of a FIAT payment and allow to send funds from a bank account using on-chain wallet. All automated, secure, and privacy-preserving. For more information take a look at our [web3 grant application](https://github.com/w3f/Grants-Program/blob/master/applications/hyperfridge.md). Hyperfridge's vision is to create a ZK-based ledger to provide a trustless interfaces to TradFi so that anyone can "plug-in" their own bank-account into the Web3 world, similar as you can do it today with [Stripe](https://en.wikipedia.org/wiki/Stripe,_Inc.) in the Web2 world, but open-sourced and fully trustless.

This repository consists of three modules - a [host](docs/host.md) and [guest](docs/guest-hyperfridge.md) program and a verifier tool which shows how to check the proofs. Look [our testing guide](docs/INSTRUCTIONS.md) to get an idea how it is used.

Check out our [cryptographic overview](docs/crypto.md), [performance benchmarks](docs/runtime.md), also the [hyperfridge whitepaper](https://github.com/element36-io/ocw-ebics/blob/main/docs/hyperfridge-draft.pdf).


## Quick Start with Risc-Zero Framework

As it builds upon Risc-Zero zkVM, make yourself familiar with this framework, otherwise it will be hard to understand what this crate is doing:
Expand All @@ -19,20 +18,20 @@ As it builds upon Risc-Zero zkVM, make yourself familiar with this framework, ot
[`risc0-build`][risc0-build], and [others][crates].
- [excerpt from Risc0 workshop at ZK HACK III][zkhack-iii].


## Development Environment


First, make sure [rustup] is installed. The [`rust-toolchain.toml`][rust-toolchain] file will be used by `cargo` to
automatically install the correct version. To build and execute a quick integration test, use:

Second, make sure you have installed `risc0` toolchain. Follow instructions from [here][quick-start].

```bash
RISC0_DEV_MODE=1 cargo test
```

This will create a STARK based on the provided test data. Check out [our testing guide](docs/INSTRUCTIONS.md) to run test and play with test data. Note that `cargo test` will not invoke tests in `methods/guest` due to the architecture of Risc-Zero framework - see testing guide how to run tests for the poofer.

To use this crate with your owen bank data, you will need to run a component, which connects with our banking backend and then prepare the input for the Hyperfridge zkVM component. You can use the [ebics-java-client][ebics-java-client], but any Ebics client will do, as long as you get access to the XML files which are exchanged between your client and the banking server.
To use this crate with your owen bank data, you will need to run a component, which connects with our banking backend and then prepare the input for the Hyperfridge zkVM component. You can use the [ebics-java-client][ebics-java-client], but any EBICS client will do, as long as you get access to the XML files which are exchanged between your client and the banking server.

Open documentation in any module by:

Expand Down Expand Up @@ -103,6 +102,7 @@ project_name
[bonsai access]: https://bonsai.xyz/apply
[cargo-risczero]: https://docs.rs/cargo-risczero
[crates]: https://github.com/risc0/risc0/blob/main/README.md#rust-binaries
[quick-start]: https://dev.risczero.com/api/zkvm/quickstart
[dev-docs]: https://dev.risczero.com
[dev-mode]: https://dev.risczero.com/api/zkvm/dev-mode
[docs.rs]: https://docs.rs/releases/search?query=risc0
Expand All @@ -114,4 +114,4 @@ project_name
[rust-toolchain]: rust-toolchain.toml
[zkvm-overview]: https://dev.risczero.com/zkvm
[zkhack-iii]: https://www.youtube.com/watch?v=Yg_BGqj_6lg&list=PLcPzhUaCxlCgig7ofeARMPwQ8vbuD6hC5&index=5
[ebics-java-client]: https://bonsai.xyz/apply
[ebics-java-client]: https://github.com/element36-io/ebics-java-client

This file was deleted.

Loading

0 comments on commit 651815e

Please sign in to comment.