Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dot-login milestone 1 #1197

Merged
merged 2 commits into from
Jul 23, 2024
Merged

dot-login milestone 1 #1197

merged 2 commits into from
Jul 23, 2024

Conversation

singkeo
Copy link
Contributor

@singkeo singkeo commented Jul 19, 2024

Milestone Delivery Checklist

  • The milestone-delivery-template.md has been copied and updated.
  • This pull request is being made by the same account as the accepted application.
  • I have disclosed any and all sources of reused code in the submitted repositories and have done my due diligence to meet its license requirements.
  • In case of acceptance, invoices must be submitted and payments will be transferred to the Polkadot AssetHub and/or fiat account provided in the application.
  • The delivery is according to the Guidelines for Milestone Deliverables.

Link to the application pull request: https://github.com/w3f/Grants-Program/pull/XXX < please fill this in with the PR number of your application.

@singkeo
Copy link
Contributor Author

singkeo commented Jul 19, 2024

Delivery of Milestone 1 (dot-login)

@takahser takahser self-assigned this Jul 20, 2024
@takahser takahser self-requested a review July 20, 2024 21:42
Copy link
Contributor

@takahser takahser left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@singkeo thanks for the submission of M1.

Unfortunately the client doesn't compile on my MacBook Pro M2. I've tried building it using docker and natively.

Docker:

% docker build -t dot-login-client .
[+] Building 94.0s (11/11) FINISHED                                                                                                      docker:desktop-linux
 => [internal] load build definition from Dockerfile                                                                                                     0.0s
 => => transferring dockerfile: 723B                                                                                                                     0.0s
 => [internal] load metadata for docker.io/library/ubuntu:22.04                                                                                          1.3s
 => [internal] load .dockerignore                                                                                                                        0.0s
 => => transferring context: 2B                                                                                                                          0.0s
 => [1/7] FROM docker.io/library/ubuntu:22.04@sha256:340d9b015b194dc6e2a13938944e0d016e57b9679963fdeb9ce021daac430221                                    0.0s
 => [internal] load build context                                                                                                                        0.5s
 => => transferring context: 119.42kB                                                                                                                    0.4s
 => CACHED [2/7] RUN apt-get update &&     apt-get install -y     build-essential     pkg-config     libssl-dev     curl                                 0.0s
 => CACHED [3/7] RUN curl https://sh.rustup.rs -sSf | sh -s -- -y                                                                                        0.0s
 => CACHED [4/7] WORKDIR /usr/src/app                                                                                                                    0.0s
 => [5/7] COPY . .                                                                                                                                       0.1s
 => [6/7] RUN rustup toolchain install nightly &&     rustup override set nightly                                                                       11.5s
 => ERROR [7/7] RUN cargo build --release                                                                                                               80.7s 
------                                                                                                                                                        
 > [7/7] RUN cargo build --release:                                                                                                                           
0.172     Updating crates.io index                                                                                                                            
5.874      Locking 687 packages to latest compatible versions                                                                                                 
5.874       Adding ac-compose-macros v0.5.0 (latest: v0.18.0)   

(...)

5.923       Adding yap v0.11.0 (latest: v0.12.0)
5.946  Downloading crates ...
6.153   Downloaded ark-ff-asm v0.4.2

(...)

7.610   Downloaded substrate-api-client v0.17.0
7.707    Compiling proc-macro2 v1.0.86

(...)

70.60    Compiling ark-groth16 v0.4.0
70.70 error[E0658]: use of unstable library feature 'stdarch_aarch64_prefetch'
70.70    --> /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bellperson-0.26.0/src/lib.rs:1:1
70.70     |
70.70 1   | / #![allow(clippy::suspicious_arithmetic_impl)]
70.70 2   | | //! `bellperson` is a crate for building zk-SNARK circuits. It provides circuit
70.70 3   | | //! traits and and primitive structures, as well as basic gadget implementations
70.70 4   | | //! such as booleans and number abstractions.
70.70 ...   |
70.70     |
70.70     = note: see issue #117217 <https://github.com/rust-lang/rust/issues/117217> for more information
70.70     = help: add `#![feature(stdarch_aarch64_prefetch)]` to the crate attributes to enable
70.70     = note: this compiler was built on 2024-07-21; consider upgrading it if it is out of date
70.70 
70.70 error[E0658]: use of unstable library feature 'stdarch_aarch64_prefetch'
70.70    --> /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bellperson-0.26.0/src/groth16/multiscalar.rs:290:34
70.70     |
70.70 290 |         _prefetch(p as *const _, _PREFETCH_READ, _PREFETCH_LOCALITY3);
70.70     |                                  ^^^^^^^^^^^^^^
70.70     |
70.70     = note: see issue #117217 <https://github.com/rust-lang/rust/issues/117217> for more information
70.70     = help: add `#![feature(stdarch_aarch64_prefetch)]` to the crate attributes to enable
70.70     = note: this compiler was built on 2024-07-21; consider upgrading it if it is out of date
70.70 
70.70 error[E0658]: use of unstable library feature 'stdarch_aarch64_prefetch'
70.70    --> /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bellperson-0.26.0/src/groth16/multiscalar.rs:290:50
70.70     |
70.70 290 |         _prefetch(p as *const _, _PREFETCH_READ, _PREFETCH_LOCALITY3);
70.70     |                                                  ^^^^^^^^^^^^^^^^^^^
70.70     |
70.70     = note: see issue #117217 <https://github.com/rust-lang/rust/issues/117217> for more information
70.70     = help: add `#![feature(stdarch_aarch64_prefetch)]` to the crate attributes to enable
70.70     = note: this compiler was built on 2024-07-21; consider upgrading it if it is out of date
70.70 
70.70 error[E0635]: unknown feature `stdsimd`
70.70    --> /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bellperson-0.26.0/src/lib.rs:141:60
70.70     |
70.70 141 | #![cfg_attr(all(target_arch = "aarch64", nightly), feature(stdsimd))]
70.70     |                                                            ^^^^^^^
70.70 
71.09    Compiling reqwest v0.12.5
71.33    Compiling ark-r1cs-std v0.4.0
71.33    Compiling ark-bls12-381 v0.4.0
71.58    Compiling ac-primitives v0.9.1
71.66    Compiling sp-keyring v34.0.0
71.69    Compiling uuid v1.10.0
72.15    Compiling ac-node-api v0.6.0
72.22 Some errors have detailed explanations: E0635, E0658.
72.22 For more information about an error, try `rustc --explain E0635`.
72.23 error: could not compile `bellperson` (lib) due to 4 previous errors
72.23 warning: build failed, waiting for other jobs to finish...
------
Dockerfile:27
--------------------
  25 |     
  26 |     # Build the Rust project
  27 | >>> RUN cargo build --release
  28 |     
  29 |     # Run the application
--------------------
ERROR: failed to solve: process "/bin/sh -c cargo build --release" did not complete successfully: exit code: 101

Native:

% cargo build --release
    Updating crates.io index
     Locking 687 packages to latest compatible versions
      Adding ac-compose-macros v0.5.0 (latest: v0.18.0)
      
      (...)

      Adding yap v0.11.0 (latest: v0.12.0)
  Downloaded instant v0.1.13
  
  (...)
  
  Downloaded 90 crates (8.2 MB) in 2.25s
   Compiling proc-macro2 v1.0.86
   
   (...)

   Compiling ark-bls12-381 v0.4.0
error[E0658]: use of unstable library feature 'stdarch_aarch64_prefetch'
   --> /Users/xxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bellperson-0.26.0/src/lib.rs:1:1
    |
1   | / #![allow(clippy::suspicious_arithmetic_impl)]
2   | | //! `bellperson` is a crate for building zk-SNARK circuits. It provides circuit
3   | | //! traits and and primitive structures, as well as basic gadget implementations
4   | | //! such as booleans and number abstractions.
...   |
    |
    = note: see issue #117217 <https://github.com/rust-lang/rust/issues/117217> for more information
    = help: add `#![feature(stdarch_aarch64_prefetch)]` to the crate attributes to enable
    = note: this compiler was built on 2024-07-19; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'stdarch_aarch64_prefetch'
   --> /Users/xxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bellperson-0.26.0/src/groth16/multiscalar.rs:290:34
    |
290 |         _prefetch(p as *const _, _PREFETCH_READ, _PREFETCH_LOCALITY3);
    |                                  ^^^^^^^^^^^^^^
    |
    = note: see issue #117217 <https://github.com/rust-lang/rust/issues/117217> for more information
    = help: add `#![feature(stdarch_aarch64_prefetch)]` to the crate attributes to enable
    = note: this compiler was built on 2024-07-19; consider upgrading it if it is out of date

error[E0658]: use of unstable library feature 'stdarch_aarch64_prefetch'
   --> /Users/xxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bellperson-0.26.0/src/groth16/multiscalar.rs:290:50
    |
290 |         _prefetch(p as *const _, _PREFETCH_READ, _PREFETCH_LOCALITY3);
    |                                                  ^^^^^^^^^^^^^^^^^^^
    |
    = note: see issue #117217 <https://github.com/rust-lang/rust/issues/117217> for more information
    = help: add `#![feature(stdarch_aarch64_prefetch)]` to the crate attributes to enable
    = note: this compiler was built on 2024-07-19; consider upgrading it if it is out of date

error[E0635]: unknown feature `stdsimd`
   --> /Users/xxx/.cargo/registry/src/index.crates.io-6f17d22bba15001f/bellperson-0.26.0/src/lib.rs:141:60
    |
141 | #![cfg_attr(all(target_arch = "aarch64", nightly), feature(stdsimd))]
    |                                                            ^^^^^^^

   Compiling sp-keyring v34.0.0
   Compiling uuid v1.10.0
   Compiling subxt-signer v0.35.3
   Compiling urlencoding v2.1.3
Some errors have detailed explanations: E0635, E0658.
For more information about an error, try `rustc --explain E0635`.
error: could not compile `bellperson` (lib) due to 4 previous errors
warning: build failed, waiting for other jobs to finish...

The node runs, but it looks like most of the logic is currently located on the client, so without having the client up and running I'm blocked with my evaluation.

Also, in case you've missed my colleagues comment, please have a look and update the amendment accordingly.

Toolchain used:

% rustup toolchain list             
stable-aarch64-apple-darwin (default)
nightly-2022-10-28-aarch64-apple-darwin
nightly-2022-11-14-aarch64-apple-darwin
nightly-2023-01-22-aarch64-apple-darwin
nightly-2023-08-22-aarch64-apple-darwin
nightly-2024-02-07-aarch64-apple-darwin
nightly-aarch64-apple-darwin (override)
1.70.0-aarch64-apple-darwin
1.77.1-aarch64-apple-darwin
1.72-aarch64-apple-darwin
risc0

@singkeo singkeo changed the title Add files via upload dot-login milestone 1 Jul 22, 2024
@singkeo
Copy link
Contributor Author

singkeo commented Jul 22, 2024

@takahser we've used Linux Ubuntu for development. I'm not sure why it's breaking on MacBook, but would it be possible to run the code on a Linux machine?

deliveries/dot-login-1.md Outdated Show resolved Hide resolved
Copy link
Contributor

@takahser takahser left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@singkeo thanks, I was able to run the client on an ubuntu machine. There are some minor things to improve for any upcoming milestone (if applicable), but overall it works and the requirements are met, so I'm willing to approve this first delivery. You can find more details in my final evaluation.

@takahser takahser merged commit cc08d49 into w3f:master Jul 23, 2024
3 checks passed
Copy link

🪙 Please fill out the invoice form in order to initiate the payment process. Thank you!

Copy link

Congratulations on completing the first milestone of this grant! As part of the Grants Program, we want to help grant recipients acknowledge their grants publicly. To that end, we've created a badge for projects that successfully deliver their first milestone. Please use the badge only in reference to the work that has been completed as part of this grant, so please do not display it on your team or project's homepage unless accompanied by a short description of the grant. Furthermore, you're now welcome to announce the grant publicly. Please remember to observe the foundation's guidelines in doing so. If you haven't already, reach out to [email protected] for feedback on your announcement and cross-promotion.

Thank you for your contribution, and good luck! If you have any remaining milestone, let us know if you encounter any delays by leaving a comment on the application PR or submitting an amendment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants