Conversation
|
Thanks for the delivery. We will look into it as soon as possible. |
|
@rubyprotocol could you merge master into your branch? I think that should remove the first delivery from the added files and get the checks to pass. |
I just delete the milestone 1 delivery, but the check doesn't seem to pass? |
|
Hey @Noc2 @alxs @mmagician, this is a gentle reminder that we are still waiting for your comments on our milestone 2 delivery. Thx. |
|
@lornacrevelingwgo23 thanks. I've already started looking into it, will give you some feedback by the end of the week. |
deliveries/ruby_milestone_2.md
Outdated
|
|
||
| **The [invoice form :pencil:](https://forms.gle/LSRr7PCjBpEbKGh89) has been filled out correctly for this milestone and the delivery is according to the official [milestone delivery guidelines](https://github.com/w3f/General-Grants-Program/blob/master/grants/milestone-deliverables-guidelines.md).** | ||
|
|
||
| * **PR Link:** https://github.com/w3f/Grants-Program/pull/311 |
There was a problem hiding this comment.
This also needs to be updated.
| * **PR Link:** https://github.com/w3f/Grants-Program/pull/311 | |
| * **Application Document:** https://github.com/w3f/Grants-Program/blob/master/applications/RubyProtocol.md |
There was a problem hiding this comment.
Sure, already update it.
|
@rubyprotocol Before we proceed any further, I've noticed that you have duplicated the entire ZeroPool repo again into your code. This was already pointed out in the previous evaluation, please see here I understand from your tutorial that now it is used to demonstrate the milestone deliverables, but your code should ideally be a library - right now it's really looking just like a "project delivery", where the node, the client and the UI is bundled into one. Please bear in mind that one of the objectives of the Grants Program is to enable other community members to easily import your code and re-use it for their own project. I would suggest you refactor your code and instead either simply point to the correct repository, giving instructions on how to build and run it (you don't need to duplicate whatever instructions ZeroPool has), or if you have objections to the first method, you can include that as a submodule (while it doesn't really fit an idea of submodule, in my opinion that's still better than including the entirety of the source code). Please re-think your approach to making the client and UI into stand-alone applications with clear, pluggable APIs. Thanks for understanding. |
Sure, thanks for your comments. Will get it done soon. |
Hey @mmagician, already refactor the code according to your instruction. Please check our repo for the update. |
|
Why are you re-defining the types that you import from fawkes_crypto? This seems overly confusing, especially that sometimes you're re-importing these and you then have both crate-local type definition and original definitions from fawkes_crypto. |
Thanks for your comments. This is actually an optimization of the original private_ml code for milestone 1 delivery. It aims to ensure the consistency of curves used by our functional encryption scheme and zero-knowledge proof scheme of zeropool so that the verification can always be successful. |
|
Hmm okay, I think it's confusing but if you say it's a conscious design decision - that's fine. Also, it would be beneficial to see more elaborate tests: e.g. the inner product only takes an array of 1 elements, which is too trivial IMO to constitute a proper test. |
Thanks for your comments. Already fix the clippy and fmt issues. Please check the repo for update. Regarding tests, although our tutorial only gives an example of an array of two elements, our apps work fine with arrays of multiple elements. |
|
Thanks for a quick response. I'm still seeing warnings from both: Thanks for your cooperation. |
|
@lornacrevelingwgo23 thanks for fixing, I confirm that there are no clippy issues anymore. Next, I'm planning to take a closer look at your delivery and be back with more detailed feedback soon. |
Great, looking forward to hearing from you again. |
Hey @takahser , any update from your side on the feedback? Thanks. |
|
Hi @lornacrevelingwgo23 I was able to run the following services:
But they'd both return a I also tried to run:
But that service doesn't even respond in the first place. Also, I tried to set up the zero-pool-node according to your M1 Readme but apparently, the folder mentioned isn't available in the most recent revision of the repo. Could you guide me through the process on how to run the node and ideally also update these instructions? |
Thanks for the comments. I think the main issue is that the zeropool node is not set up correctly. The readme you referred to belongs to a fork branch of milestone2 repo, which does not include our latest update on the setup instruction. Please follow the readme in the main branch to set up the zeropool node. After building the API service, run the authority, data owner, and data purchaser's API and then keep all the three terminals open, then set up the zeropool node and run the Ruby frontend. When the dev nodes are running correctly, you can start to test the API on the frontend according to the instruction in tutorial. Please do not try to test the APIs from the terminal. After running the API service commands, you only need to leave all three terminals open and then you can immediately move on to set up the zeropool node. Please let me know if you have any other questions. |
|
@lornacrevelingwgo23 thanks for clarifying. I tried setting up the zeropool node using the updated instructions, however it fails: % make init
./scripts/init.sh
*** Initializing WASM build environment
info: syncing channel updates for 'nightly-aarch64-apple-darwin'
nightly-aarch64-apple-darwin unchanged - rustc 1.61.0-nightly (5f3700105 2022-03-22)
info: checking for self-updates
info: syncing channel updates for 'nightly-2020-10-05-aarch64-apple-darwin'
info: latest update on 2020-10-05, rust version 1.49.0-nightly (beb5ae474 2020-10-04)
error: target 'aarch64-apple-darwin' not found in channel. Perhaps check https://doc.rust-lang.org/nightly/rustc/platform-support.html for available targets
make: *** [init] Error 1I'm using a MacBook Air (M1, 2020) running on MacOs 12.2.1 |
It's possible that your problem is caused by the M1 chip of your MacBook. Would you please try to set up the zeropool node using either a MacBook with an intel chip or maybe a Ubuntu system? |
@takahser, Please check this post. Only the rust version released after Nov. 27th, 2020 supports M1. We have updated the init file to ensure it is compatible with M1. Please follow the instruction in the readme and see if it works this time. |
|
@lornacrevelingwgo23 thanks for the update. % make run
cargo +nightly-2020-10-05 build --release
error: toolchain 'nightly-2020-10-05-aarch64-apple-darwin' is not installed
make: *** [run] Error 1I tried installing the missing toolchain but that also failed: % rustup toolchain add nightly-2020-10-05-aarch64-apple-darwin
info: syncing channel updates for 'nightly-2020-10-05-aarch64-apple-darwin'
info: latest update on 2020-10-05, rust version 1.49.0-nightly (beb5ae474 2020-10-04)
error: target 'aarch64-apple-darwin' not found in channel. Perhaps check https://doc.rust-lang.org/nightly/rustc/platform-support.html for available targets |
Hey @takahser , we have tried to update the Rust version to the one released after November, but the zeropool pallet cannot pass the compilation with this rust version. It seems the zeropool pallet only supports the rust version before October. On the other hand, the earliest possible Rust version that supports M1 is the one released after November. You can see the kind of dilemma we are currently in. Would you please switch to a Macbook with an intel core or maybe a server with a ubuntu system if it's not too much trouble? My own Macbook has an intel core and it works perfectly well with the zeropool pallet, and my other teammate's computer has a ubuntu system and it also works OK. Please consider this option. Thanks a lot. |
Hey @takahser, I don't think there is any way we could make Ruby compatible with M1 Macbook at the moment unless the zeropool folks somehow work things out. That's why I've set up a server with Linux system and I've test the zeropool code myself on it, and it works perfectly well. Would you please send me your email address so that I can send you the password and IP of the Linux server so that you could test Ruby protocol on the server? Thanks. |
|
@lornacrevelingwgo23 thanks for your efforts. Yes, under this circumstances it might be easier to solve this via chat/email. I've reached out to you via email. |
Hey @takahser , I've already left you a message via Matrix with the info regarding the IP and password of Linux server. Feel free to leave a message there if you have any problem. |
|
@lornacrevelingwgo23 thanks for the call yesterday, it was really helpful and the infrastructure now works for me. 👍 |
@takahser , thanks for your comments. Already updated the delivery accordingly. Please check it out. |
|
@rubyprotocol thanks for the update, 0a.-0d. are fine now. 👍 |
Thanks for your comments.
Hey, I should've called it "Client modules" in the first place. Already change it to "Client modules" in the updated delivery.
The updated delivery also includes the Benchmark result and the dockerfile. Please check it out. |
takahser
left a comment
There was a problem hiding this comment.
@lornacrevelingwgo23 Thx for the update, it looks much better indeed. However, I just realized that the LICENSE files are missing in your repos. Keep in mind that you need to include it in case of an APACHE 2.0 license.
Hey @takahser , thanks for your reminder. Already include the APACHE 2.0 license and notice in our delivery. |
takahser
left a comment
There was a problem hiding this comment.
@lornacrevelingwgo23 thanks for adding the LICENSE file. Could you also add it to the other repo you referenced in your delivery?
Sure, already added the LICENSE files to all the repo mentioned in the delivery. Please check it out. |
takahser
left a comment
There was a problem hiding this comment.
@lornacrevelingwgo23 thanks for adding the LICENSE file to the zeropool repo as well. I've accepted the delivery, you can find my evaluation here: https://github.com/w3f/Grant-Milestone-Delivery/blob/master/evaluations/ruby_protocol_2_takahser.md
Cool, thanks a lot. |
|
hi @lornacrevelingwgo23 we transferred the payment today. Thanks! |

Milestone Delivery Checklist
Link to the application pull request: w3f/Grants-Program#311.