snarkOS - ZKアプリケーション用の分散型オペレーティングシステム

(A Decentralized Operating System for ZK Applications)

Created at: 2020-02-17 05:46:21
Language: Rust
License: GPL-3.0

スナークOS

目次

1. 概要

snarkOSは、ゼロ知識アプリケーション用の分散型オペレーティングシステムです。 このコードは、Aleoネットワークのバックボーンを形成します。 トランザクションを検証し、公的に検証可能な方法で暗号化された状態のアプリケーションを保存します。

2. ビルドガイド

2.1 必要条件

Aleoノードを実行するための最小要件は次のとおりです。

  • CPU: 16 コア (32 コアを推奨)
  • : 16GBのメモリ(32GBを推奨)
  • ストレージ: 128GBのディスク容量
  • ネットワーク:10 Mbpsのアップロードおよびダウンロード帯域幅

競争力のあるAleo Proverを実行するには、マシンにはこれらの要件以上のものが必要になることに注意してください。

2.2 インストール

開始する前に、マシンがインストールされていることを確認してください。Rustのインストール手順については、こちらをご覧ください。

Rust v1.64+

まず、このGithubリポジトリのクローンを作成します。

git clone https://github.com/AleoHQ/snarkOS.git --depth 1

次に、ディレクトリ:

snarkOS

cd snarkOS

[Ubuntuユーザー向け]依存関係をインストールするヘルパースクリプトを使用できます。からディレクトリ、次のコマンドを実行します。

snarkOS

./build_ubuntu.sh

最後に、以下をインストールします。

snarkOS

cargo install --path .

3. Aleoノードを実行する

3a.Aleoクライアントの実行

まず、ビルドガイドの指示に従ってください。

次に、クライアント・ノードを開始するには、ディレクトリーから次のコマンドを実行します。

snarkOS

./run-client.sh

3b.アレオ証明者を走らせる

まず、ビルドガイドの指示に従ってください。

次に、Aleoアカウントアドレスを生成します。

snarkos account new

これにより、ターミナルに新しいAleoアカウントが出力されます。

アカウントの秘密鍵と表示鍵を忘れずに保存してください。出力例を次に示します。

 Attention - Remember to store this account private key and view key.

  Private Key  APrivateKey1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx  <-- Save Me And Use In The Next Step
     View Key  AViewKey1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx  <-- Save Me
      Address  aleo1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx  <-- Save Me

次に、証明ノードを起動するには、ディレクトリから次のコマンドを実行します。

snarkOS

./run-prover.sh

プロンプトが表示されたら、Aleo プライベートキーを入力します。

Enter the Aleo Prover account private key:
APrivateKey1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

4. よくある質問

1. ノードをコンパイルできません。

2.私のノードはネットワーク上のピアに接続できません。

  • ルーターとOSファイアウォールでポートが開いていることを確認します。
    4133/tcp
    3033/tcp
  • 使用が開始されたことを確認してください。
    snarkOS
    ./run-client.sh
    ./run-prover.sh

3. 新しい住所を生成できない

  • 上記のコマンドを実行する前に()試してください
    snarkos account new
    source ~/.bashrc
  • また、のスペルを再確認してください。ディレクトリは、コマンドが
    snarkos
    /snarkOS
    snarkos

5. コマンドラインインターフェース

カスタム設定でノードを実行するには、CLI で使用可能なオプションとフラグの完全なリストを参照してください。

snarkOS

CLI フラグとオプションの完全なリストは、次の方法で表示できます。

snarkos --help

snarkOS 
The Aleo Team <hello@aleo.org>

USAGE:
    snarkos [OPTIONS] <SUBCOMMAND>

OPTIONS:
    -h, --help                     Print help information
    -v, --verbosity <VERBOSITY>    Specify the verbosity [options: 0, 1, 2, 3] [default: 2]

SUBCOMMANDS:
    account    Commands to manage Aleo accounts
    clean      Cleans the snarkOS node storage
    help       Print this message or the help of the given subcommand(s)
    start      Starts the snarkOS node
    update     Update snarkOS

コマンドのオプションは次のとおりです。

snarkos start

snarkos-start 
Starts the snarkOS node

USAGE:
    snarkos start [OPTIONS]

OPTIONS:
        --beacon <BEACON>          Specify this as a beacon, with the given account private key for this node
        --client <CLIENT>          Specify this as a client, with an optional account private key for this node
        --connect <CONNECT>        Specify the IP address and port of a peer to connect to
        --dev <DEV>                Enables development mode, specify a unique ID for this node
    -h, --help                     Print help information
        --network <NETWORK>        Specify the network of this node [default: 3]
        --node <NODE>              Specify the IP address and port for the node server [default: 0.0.0.0:4133]
        --nodisplay                If the flag is set, the node will not render the display
        --norest                   If the flag is set, the node will not initialize the REST server
        --prover <PROVER>          Specify this as a prover, with the given account private key for this node
        --rest <REST>              Specify the IP address and port for the REST server [default: 0.0.0.0:3033]
        --validator <VALIDATOR>    Specify this as a validator, with the given account private key for this node
        --verbosity <VERBOSITY>    Specify the verbosity of the node [options: 0, 1, 2, 3] [default: 2]

6. 開発

6.1 クイックスタート

1つのターミナルで、次のコマンドを実行してビーコンを開始します。

cargo run --release -- start --nodisplay --dev 0 --beacon ""

2番目のターミナルで、次のコマンドを実行します。

cargo run --release -- start --nodisplay --dev 1 --prover ""

この手順を繰り返して、さらにノードを起動できます。

6.2 オペレーション

新しいノードごとに、ノードを初期化し、インクリメントすることが重要です。

0
1

以下は、ノードを初期化するためのオプションのリストです(から始まる番号で置き換えます)。

XX
0

cargo run --release -- start --nodisplay --dev XX --beacon ""
cargo run --release -- start --nodisplay --dev XX --validator ""
cargo run --release -- start --nodisplay --dev XX --prover ""
cargo run --release -- start --nodisplay --dev XX --client ""
cargo run --release -- start --nodisplay --dev XX

ノード タイプが指定されていない場合、ノードは既定で になります。

--client

片付ける

ノードストレージをクリーンアップするには、次のコマンドを実行します。

cargo run --release -- clean --dev XX

7. ライセンス

へのすべての貢献を歓迎します。投稿の条件については、ライセンスを参照してください。

snarkOS

ライセンス: GPL v3