wallet_propose
wallet_propose
メソッドを使用して、キーペアとXRP Ledgerアドレスを生成します。このコマンドは単にキーとアドレス値を生成し、XRP Ledger自体には何ら影響しません。レジャー上で資金供給済みのアドレスになるには、そのアドレスで、必要準備金を満たすのに十分なXRPのPaymentトランザクションを受け取る必要があります。
wallet_propose
メソッドは、権限のないユーザは実行できない管理メソッドです。(このコマンドは、アカウントの機密情報を求めてネットワーク上の伝送情報をスニッフィングする人々から守るためにadminコマンドとされています。adminコマンドは通常、外部ネットワーク上で伝送されることはありません。)
リクエストのフォーマット
リクエストのフォーマットの例:
{ "command": "wallet_propose", "seed": "snoPBrXtMeMyMHUVTgbuqAfg1SUTb", "key_type": "secp256k1" }
リクエストには以下のパラメーターを含めることができます。
Field | 型 | 説明 |
---|---|---|
key_type | 文字列 | このキーペアの導出に使用する署名アルゴリズム。有効な値はed25519 とsecp256k1 (すべて小文字)です。デフォルトはsecp256k1 です。 |
passphrase | 文字列 | (省略可) このシード値からキーペアとアドレスを生成します。この値は、16進数、XRP Ledgerのbase58フォーマット、RFC-1751、または任意の文字列でフォーマットできます。seed またはseed_hex とともに使用することはできません。 |
seed | 文字列 | (省略可能) このシード値からXRP Ledgerのbase58エンコードフォーマットでキーペアとアドレスを生成します。passphrase またはseed_hex とともに使用することはできません。 |
seed_hex | 文字列 | (省略可能) このシード値から16進数形式でキーペアとアドレスを生成します。passphrase またはseed とともに使用することはできません。 |
以下のフィールドのうち1つを指定する必要があります。passphrase
、seed
、またはseed_hex
。3つすべてを省略すると、rippled
によってランダムシードが使用されます。
シードの指定
ほとんどの場合、強力な乱数ソースから生成されたシード値を使用する必要があります。あるアドレスのシード値を知っている人は、そのアドレスで署名されたトランザクションを送信するすべての権限を持っています。一般的に、ランダムシードの生成には、このコマンドにパラメーターを指定しないで実行する方法が適しています。
以下の場合には、既知のシードを指定します。
- アドレスに関連するシードのみを知っていて、アドレスを再計算する
rippled
の機能をテストする
シードは、以下のどのフォーマットでも指定できます。
- XRP Ledgerのbase58フォーマットのシークレットキー文字列。例:
snoPBrXtMeMyMHUVTgbuqAfg1SUTb
。 - RFC-1751フォーマット文字列(secp256k1キーペアのみ)。例:
I IRE BOND BOW TRIO LAID SEAT GOAL HEN IBIS IBIS DARE
。 - 128ビットの16進数文字列。例:
DEDCE9CE67B451D852FD4E846FCDE31C
。 - シード値として使用する任意の文字列。例:
masterpassphrase
。
レスポンスのフォーマット
処理が成功したレスポンスの例:
{ "id": 2, "status": "success", "type": "response", "result": { "account_id": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh", "key_type": "secp256k1", "master_key": "I IRE BOND BOW TRIO LAID SEAT GOAL HEN IBIS IBIS DARE", "master_seed": "snoPBrXtMeMyMHUVTgbuqAfg1SUTb", "master_seed_hex": "DEDCE9CE67B451D852FD4E846FCDE31C", "public_key": "aBQG8RQAzjs1eTKFEAQXr2gS4utcDiEC9wmi7pfUPTi27VCahwgw", "public_key_hex": "0330E7FC9D56BB25D6893BA3F317AE5BCF33B3291BD63DB32654A313222F7FD020" } }
レスポンスは標準フォーマットに従い、正常に終了した場合、新しい(可能性がある)アカウントについての重要な各種情報を含みます。以下のフィールドを含みます。
Field | 型 | 説明 |
---|---|---|
key_type | 文字列 | このキーペアの導出に使用された署名アルゴリズム。有効な値はed25519 とsecp256k1 (すべて小文字)です。 |
master_seed | 文字列 | これはキーペアの秘密鍵です。このアカウントに関するその他のあらゆる情報が、マスターシードからXRP Ledgerのbase58エンコード文字列フォーマットで引き出されます。通常、このフォーマットのキーを使用してトランザクションに署名します。 |
master_seed_hex | 文字列 | 16進数形式のマスターシード。単純で広く支持されている秘密鍵表示法。トランザクションの署名に使用できます。 |
master_key | 文字列 | 廃止予定 RFC-1751形式のマスターシード。覚えやすく書き留めやすい秘密鍵。トランザクションの署名に使用できます。注記: rippled の実装では、RFC-1751からデコードした後、RFC-1751にエンコードする前に、キーのバイト順序が逆になります。別のRFC-1751実装を使用して、XRP Ledgerで使用するキーの読み書きを行う場合は、同様にして、rippled のRFC-1751エンコーディングとの互換性を保つ必要があります。 |
account_id | 文字列 | XRP Ledgerのbase58フォーマットで作成されたアカウントのアドレス。これは公開鍵ではありませんが、公開鍵を2回ハッシュ化したものです。チェックサムも持っているため、タイプミスした場合はほぼ間違いなく無効なアドレスとみなされ、有効だが異なるアドレスとはみなされません。これはXRP LedgerのアカウントのプライマリIDです。支払いを受けるときにこれを人に伝えたり、トランザクションにおいて、自身や、支払先、委託先識別するのに使用します。マルチシグリストでもこれを使用して、他の署名者を識別します。 |
public_key | 文字列 | XRP Ledgerのbase58エンコード文字列フォーマットで作成された、キーペアの公開鍵。master_seed から生成されます。 |
public_key_hex | 文字列 | これは16進数で作成されたキーペアの公開鍵です。master_seed から生成されます。トランザクションの署名を検証する場合、rippled にはこの公開鍵が必要です。そのため、署名されたトランザクションのフォーマットのSigningPubKey フィールドには公開鍵が入力されています。 |
warning | 文字列 | (削除される可能性あり)リクエストにシード値を指定した場合、このフィールドに安全でない可能性があるという警告が表示されます。 |
このメソッドを使用してキーペアを生成し、アカウントのレギュラーキーペアとして使用することもできます。アカウントにレギュラーキーペアを割り当てて、それを使用してほとんどのトランザクションに署名し、マスターキーペアをできるだけオフラインにしておくことも可能です。
レギュラーキーペアとして使用するほかに、マルチシグのリスト(SignerList)のメンバーとして使用することもできます。
マスターキーペアとレギュラーキーペアの詳細は、暗号鍵をご覧ください。
マルチシグの詳細は、マルチシグをご覧ください。
考えられるエラー
- いずれかの汎用エラータイプ。
invalidParams
- 1つ以上のフィールドが不正に指定されています。badSeed
- リクエストには、空の文字列やXRP Ledgerアドレスに似た文字列などの許可されないシード値が(passphrase
、seed
、またはseed_hex
フィールド内に)指定されています。