ICP Rust CDK学習メモ
  • ICP Rust CDK学習メモ
  • ⚙️開発環境準備
  • 開発
    • テンプレート生成 (dfx new)
    • Frontend開発
      • 1. シンプルなHTML
      • 2. Canister呼び出し
    • Backend開発
      • 1. Hello
      • 2. データ更新/参照
      • 3. ic_cdk::caller()
      • 4. ic_cdk::call()
      • 5. 動的画像生成
      • 6. staticファイル参照
      • 7. HTTPS outcalls
      • 8. Threshold ECDSA
    • Bootcamp
      • Calculator ➕✖️➖➗
      • Homework diary 📔
      • Student wall 🎨
      • MotoCoin 🪙
      • The Verifier 👨‍🏫
      • The Dapp 🚀
  • サンプル
    • 📔Diary
  • 技術情報
    • 🪪Principal
    • 🪪Internet Identity
    • 🪙Token
    • 🖼️NFT
    • 🗝️VetKey
  • ツール
    • dfx
      • dfx identity
    • quill
  • 参考情報
    • 🔗リンク集
GitBook提供
このページ内
  • インストール方法
  • ウォレット作成
  • 残高確認
  • Seed phrase からのpem 出力
  • pemファイルのPrincipal、およびAccount Idの表示
  • SeedファイルのPrincipal、およびAccount Idの表示
  • Seed phraseからのPrincipal、およびAccount Idの表示
  • opensslを使った秘密鍵作成
  • opensslでサポートを確認
  • opensslによる秘密鍵生成とPrincipal、およびAccount Idの表示

役に立ちましたか?

GitHubで編集
  1. ツール

quill

前へdfx identity次へリンク集

最終更新 1 年前

役に立ちましたか?

インストール方法

以下のURLから最新モジュールをダウンロードします。

モジュール

quill-arm_32

quill-linux-x86_64

quill-linux-x86_64-musl

quill-macos-x86_64

quill-windows-x86_64.exe

LinuxなどのOSではchmodコマンドで実行権限を付与しておく。環境変数PATHが通っているディレクトリにバイナリを置いておくと良いでしょう。

ウォレット作成

$ quill generate
Principal id: xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxx
Account id: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

seed.txtファイルが出力されます。

残高確認

$ quill account-balance <Account id>

Seed phrase からのpem 出力

Seed phraseからpemファイルを生成するコマンド

$ quill generate --phrase '…' --pem-file <出力ファイル名.pem>

引数で指定したSeed phraseから、seed.txtファイルと、--pem-fileで指定した対応するpemファイルが出力されます。

pemファイルのPrincipal、およびAccount Idの表示

$ quill public-ids --pem-file <pem-file>
Principal id: xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxx
Legacy account id: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

SeedファイルのPrincipal、およびAccount Idの表示

quill generateで生成されたseed.txtファイルを引数に指定します。

$ quill public-ids --seed-file <seed-file>
Principal id: xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxx
Legacy account id: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Seed phraseからのPrincipal、およびAccount Idの表示

quill public-idsには、パラメータから直接Seed phraseを指定する方法がないのでSeedファイルを出力して引数に指定します。

bashの場合には、<(…)のようにプロセス置換 (process substitution)を使ってコマンドラインに指定することはできます。

$ quill public-ids --seed-file <(echo "xxxxx xxxxx xxxxx xxxxx xxxxx xxxxx xxxxx xxxxx xxxxx xxxxx xxxxx xxxxx")

opensslを使った秘密鍵作成

以下に記載されている通り、『ECDSA on curve P-256 (secp256r1)』で秘密鍵が使用できますので、Seed phraseは生成されませんが、opensslコマンドを使うことも可能です。

Ed25519 and ECDSA signatures Plain signatures are supported for the schemes Ed25519 or ECDSA on curve P-256 (also known as secp256r1), using SHA-256 as hash function, as well as on the Koblitz curve secp256k1.

opensslでサポートを確認

$ openssl ecparam -list_curves | grep secp256k1
secp256k1 : SECG curve over a 256 bit prime field

opensslによる秘密鍵生成とPrincipal、およびAccount Idの表示

$ openssl ecparam -name secp256k1 -genkey -noout -out <pem-file>
$ quill public-ids --pem-file <pem-file>
Principal id: xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxx
Legacy account id: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

https://internetcomputer.org/docs/current/references/quill-cli-reference/
https://github.com/dfinity/quill/releases
https://internetcomputer.org/docs/current/references/ic-interface-spec