見出し画像

ripple-lib を使ってマルチシグ設定を解除してみよう

みなさんこんにちは。

今日は、javascript ライブラリである ripple-lib を使ってマルチシグな XRP アドレスをシングルシグに変更してみます。

基本的な XRP 送金の方法や、マルチシグアカウントの作成、マルチサインでの送金方法については以下の記事をご覧ください。

ripple-lib を使って XRP を送金してみよう
ripple-lib を使ってマルチシグアカウントを作ってみよう
ripple-lib を使ってマルチシグアカウントから送金してみよう

今回は、アカウント A に対して B, C, D のうち 2 つ以上のサインが必要なようにマルチシグ設定(+disable masterkey)し、その後元に戻します。

必要なソフトウェアの準備については、以前の記事「ripple-lib を使って XRP を送金してみよう」をご覧ください。


1. アカウント(アドレスと秘密鍵) A, B, C, D を用意する

さっそくやってみましょう。

いきなりメインネットは怖いので、テストネットで送金します。

以下のページで、開発用にテスト用の XRP が入ったアカウントを簡単に作ることができます。

XRP Test Net Faucet

RippleAPI Reference の最初の方にある Boilerplate code に対してコードを追加/変更していきます。

まずはアカウントを定義しましょう。

// Testnet accounts
// DO NOT PUT MAIN NET SECRET
var keypairs = [
	{
		publicKey: "r9PYDb9mZ3QWTiYCq5Ts49mqG4W8ReSU2Q",
		privateKey: "snXnVxr8Q1mAtjepZ3BFRKjYLaGPS",
	},
	{
		publicKey: "r3Jhh7RBzB6Hk7yQgDfswv1BUmNcfvbk59",
		privateKey: "snpxT2VfFQB7wWQFQ93MYXRUtEqvc",
	},
	{
		publicKey: "r9GbmLUtbNQrigzkPXZpiiBZjpKzhUp2U8",
		privateKey: "ssafg9dKz4baXzwGPJ1SspV8q4mui",
	},
	{
		publicKey: "rfwkJw6srRo44zRYnvxGc8MSCJ4WmwLyUH",
		privateKey: "shUS3UvYVEHPFnSB64Rg54SZx3PW4",
	},
];


2. A をマルチシグ化する

以前の記事「ripple-lib を使ってマルチシグアカウントを作ってみよう」の通りに、A をマルチシグアカウント化します。

$ node payment_trial.js multisig
(出力は省略)
$ node payment_trial.js disable_masterkey
(出力は省略)
$ node payment_trial.js show
connected
----------------------------------------------------
show r9PYDb9mZ3QWTiYCq5Ts49mqG4W8ReSU2Q
----------------------------------------------------
getAccountInfo ok. { sequence: 3,
 xrpBalance: '9999.99992',
 ownerCount: 1,
 previousAffectingTransactionID:
  '7A2DEBE6E74B8C653AA25AB8728FA91CDA414A8DB89550AED99E15EF1DF18521',
 previousAffectingTransactionLedgerVersion: 21801874 }
getSettings ok. { disableMasterKey: true,
 signers: { threshold: 2, weights: [ [Object], [Object], [Object] ] } }
signers [ { address: 'rfwkJw6srRo44zRYnvxGc8MSCJ4WmwLyUH', weight: 1 },
 { address: 'r3Jhh7RBzB6Hk7yQgDfswv1BUmNcfvbk59', weight: 1 },
 { address: 'r9GbmLUtbNQrigzkPXZpiiBZjpKzhUp2U8', weight: 1 } ]
(以下省略)


3. A をシングルシグ化する

true になっている disableMasterKey フラグを false に戻してから signers を空にします。

この順番でないと失敗します。

なぜでしょうか !?

ここから先は

18,943字

¥ 10,000

期間限定 PayPay支払いすると抽選でお得に!

この記事が気に入ったらサポートをしてみませんか?