アカウントおよび秘密鍵の管理には本質的に危険が伴います。CLI を使用する際には、秘密鍵のデータが漏洩しないよう、特に注意する必要があります。
Flow CLI には、プライベートなアカウントデータを保護するためのオプションがいくつか用意されています。
⚠️ 警告:設定ファイルでプライベートキーを使用する時にはご注意ください。決してプライベートキーのデータをソース管理にコミットしないでください。もしプライベートキーのデータをテキストで保持する必要がある場合は、ソース管理に含まれない別ファイルを使用することをお勧めします。(例: .gitignore
で除外する)
Private Account Configuration File
アカウントのキーをソース管理に含まれない別ファイルに保存すること(例: .gitignoreで除外する)は、より良いセキュリティへの最初の一歩となります。
Main configuration file
...
"accounts": {
"my-testnet-account": {
"address": "3ae53cb6e3f42a79",
"key": {
"type": "file",
"location": "./my-testnet-account.key"
}
}
}
...
Separate account key file
⚠️ このファイルは.gitignore
に追加してください。
my-testnet-account.key
ファイルは、16進数でエンコードされた秘密鍵のみが含まれます。
334232967f52bd75234ae9037dd4694c1f00baad63a10c35172bf65fbb8ad1111
Private configuration file
⚠️ このファイルは.gitignore
に追加してください。
// flow.testnet.json
{
"accounts": {
"my-testnet-account": {
"address": "3ae53cb6e3f42a79",
"key": "334232967f52bd75234ae9037dd4694c1f00baad63a10c35172bf65fbb8ad1111"
}
}
}
Store Configuration in Environment Variables
非公開にすべき値(秘密鍵やアドレスなど)には環境変数が使用できます。
以下の例を参考にしてください。
PRIVATE_KEY=key flow project deploy
// flow.json
{
...
"accounts": {
"my-testnet-account": {
"address": "3ae53cb6e3f42a79",
"key": "$PRIVATE_KEY"
}
}
...
}
Private Dotenv File
CLIは、現在のディレクトリの.env
ファイルに定義された環境変数を読み込みます。これらの変数は他の環境変数と同様、flow.json
内で置換に利用することができます。
⚠️ .env
ファイルは決してをソース管理にコミットしてしないでください。特に、秘密鍵などの機密情報が含まれている場合は、絶対に避けてください。
.env
ファイルの例:
PRIVATE_KEY=123
Composing Multiple Configuration Files
複数の設定ファイルを次のように使い分けることができます。
flow project deploy -f main.json -f private.json
Last updated on Nov 21, 2024 by Jordan Ribbink
翻訳元
Previous << Manage Configuration
Flow BlockchainのCadence version1.0ドキュメント (Security)