Skip to content

Latest commit

 

History

History
115 lines (97 loc) · 3.92 KB

README-ja.md

File metadata and controls

115 lines (97 loc) · 3.92 KB

QuickMPC

Build and Run Tests on CC, MC, and BTS Containers Syntax Check and Unit Test on libclient-py

English version

QuickMPCはPEC(Privacy-Enhancing Computation)のひとつであるSMPC(Secure Multiparty Computation)の実用的なエンジンです。

基本的な統計量計算に用いるプライバシーデータを、秘匿化しつつ計算することができます。これにより世界中の企業やエンジニアはSMPCの専門的な知識不要で、Pythonのクライアントライブラリを用いて、SMPC機能を利用したSaaSプロダクトを簡単に開発できるようになります。

oss_eg

依存ツール/コマンド

Getting Started

QuickMPC-libClient-pyのデモ

開発時の注意

推奨スペック

  • メモリ 16GB 以上
  • ストレージ 20GB 以上

QuickMPC全体のテスト方法

  1. ディレクトリを移動する
cd QuickMPC/scripts
  1. 全コンテナを起動する
make debug t=./manage_container # 全てのコンテナが起動
  1. libclientのdemoを実行する

各コンテナのテスト方法

詳細はこちら

  1. ディレクトリを移動する
cd QuickMPC/scripts
  1. テストを開始する
# 全てのコンテナをテストする場合
make test
# Computation Containerの場合
make test t=./computation_container/
# Manage Containerの場合
make test t=./manage_container/

各コンテナの起動方法

2コンテナ立ててあえて手動でtestしたい時に使用する

make debug t=./computation_container # dev_cc{1,2,3}, dev_btsの立ち上げ
make debug t=./manage_container # 全てのコンテナが起動

各コンテナの開発方法

Computation Container

詳細はこちら

  1. ディレクトリを移動する
cd packages/server/computation_container
  1. コンテナを起動してコンテナに入る
make upd
make login
cd QuickMPC

なお、make loginの代わりにVsCodeのRemote - Containersというプラグインを使うことで、Attatch Visual Studio CodeボタンからContainerの中に入ってlocal環境と同様にVsCode上で開発を行うことができるのでそちらを推奨

  1. 開発してbulidやテストを行う
# build
bazel build //:all
# test
bazel test ... --test_env=IS_TEST=true --test_output=errors

Bazelが生成する一時ファイルの削除

bazelが生成するファイルはコンテナ内の/QuickMPCディレクトリで以下を実行すると削除できる

bazel clean

Manage Container

詳細はこちら

  1. ディレクトリを移動する
cd packages/server/manage_container
  1. コンテナを起動してコンテナに入る
make upd
make login
  1. 開発してbuildやテストを行う
# /QuickMPC直下にvendorディレクトリを生成し,依存パッケージを全てコピーする
go mod vendor
# build
go build
# test
go test ... -v