Closed danieljperry closed 2 years ago
Here's the recovery list for wallet 5:
chia rpc wallet did_get_recovery_list '{\"wallet_id\": 5}'
{
"num_required": 1,
"recovery_list": [
"did:chia:13p5fdxgm8e2pngdwp8m088t0etp7rgzx9ye2ju8v5ackcyg7t9nqx2um83"
],
"success": true,
"wallet_id": 5
}
Recovery process
chia rpc wallet did_create_backup_file '{"wallet_id":You_Old_DID}'
Save the backup_data somewhere
Switch to another wallet and run chia rpc wallet create_new_wallet '{"wallet_type":"did_wallet", "did_type":"recovery", "backup_data":”YOUR_BACKUP_DATA”}’ Example return: { "backup_dids": [ "0x0d7b3def317c3061eda2821a8d32d24960b66c317e38ef797b7bb570887d167c", "0xde4f3e6a7fa223c3d97eddcf6ddccf21176469e3174b5306404c00957334ea5a" ], "coin_list": [ "0x8be6b99a6deca2aac8270ee6a386e7ba2ef312a228fb525c6d3e928f6a4d6b80", "0x93de9f70ba993ebb8e435c2ba7c09abd24a8b2f60e0d9c5801f71eff27eeaa81", 1 ], "coin_name": "1fefa7e2aa7e342df780c86f29429f58cecaaeef044c44dfafde95957a9b0198", "my_did": "46991fda97f048557ca720a5942050b3e2a20b7b6a2de2db25ccf0489b6ab3d2", "newpuzhash": "4113b2c5b536dcbd62d43925ee69b2d703be578ae8f56bee457b28afffa6a436", "num_verifications_required": 2, "pubkey": "994bf614b0b2aab3aa786705d507bbddaa8644db4e86a49eba4c9e2a3cfab388a26a3779093b8ec7d1d1b7877fdf2bf2", "success": true, "type": 8, "wallet_id": 8 }
Switch to the backup DIDs wallet, create attestment use the coin name, newpuzhash & pubkey returned in the last step : chia rpc wallet did_create_attest '{"wallet_id":4, "coin_name":"1fefa7e2aa7e342df780c86f29429f58cecaaeef044c44dfafde95957a9b0198", "pubkey":"994bf614b0b2aab3aa786705d507bbddaa8644db4e86a49eba4c9e2a3cfab388a26a3779093b8ec7d1d1b7877fdf2bf2", "puzhash":"4113b2c5b536dcbd62d43925ee69b2d703be578ae8f56bee457b28afffa6a436"}'
Recover the DID: chia rpc wallet did_recovery_spend '{"wallet_id":8, "attest_data":["Attest_data1",”Atest_data2”]}' Wait the tx confirm, you should see the balance of your new wallet changed.
There is bug for generate the newpuzhash in the new wallet, fix here https://github.com/Chia-Network/chia-blockchain/pull/12051
Attempting this on 1.3.6.dev741, I'm getting a Chialisp error (Request failed: {'error': 'path into atom', 'success': False}). Here are the steps I took:
Get main DID ID:
chia wallet show
Wallet keys:
1) * 2473516996 (Synced)
2) 2180159442
...
Profile 1:
-Total Balance: 1.0
-Pending Total Balance: 1.0
-Spendable: 1.0
-Type: DECENTRALIZED_ID
-DID ID: did:chia:19z0ladugc29x36580yejgp0s6czq0axt4tq0w7kr9uk4042asusqvxldga
-Wallet ID: 4
...
Create backup file:
chia rpc wallet did_create_backup_file '{\"wallet_id\": 4}'
{
"backup_data": "1820a1dba8b42b2e622c957ddcdaca7d5d6672428e68958af6e5c26f695ce2f8:eff07522495060c066f66f32acc2a77e3a3e737aca8baea4d1a64ea4cdc13da9:1:0fc4d8aea5b66cac7c29d93d9eee37b6c0bd9ffcd6b8e38e2c8810de5199c4d3:ff02ffff01ff02ffff01ff02ffff03ff81bfffff01ff02ff05ff82017f80ffff01ff02ffff03ffff22ffff09ffff02ff7effff04ff02ffff04ff8217ffff80808080ff0b80ffff15ff17ff808080ffff01ff04ffff04ff28ffff04ff82017fff808080ffff04ffff04ff34ffff04ff8202ffffff04ff82017fffff04ffff04ff8202ffff8080ff8080808080ffff04ffff04ff38ffff04ff822fffff808080ffff02ff26ffff04ff02ffff04ff2fffff04ff17ffff04ff8217ffffff04ff822fffffff04ff8202ffffff04ff8205ffffff04ff820bffffff01ff8080808080808080808080808080ffff01ff088080ff018080ff0180ffff04ffff01ffffffff313dff4946ffff0233ff3c04ffffff0101ff02ff02ffff03ff05ffff01ff02ff3affff04ff02ffff04ff0dffff04ffff0bff2affff0bff22ff3c80ffff0bff2affff0bff2affff0bff22ff3280ff0980ffff0bff2aff0bffff0bff22ff8080808080ff8080808080ffff010b80ff0180ffffff02ffff03ff17ffff01ff02ffff03ff82013fffff01ff04ffff04ff30ffff04ffff0bffff0bffff02ff36ffff04ff02ffff04ff05ffff04ff27ffff04ff82023fffff04ff82053fffff04ff820b3fff8080808080808080ffff02ff7effff04ff02ffff04ffff02ff2effff04ff02ffff04ff2fffff04ff5fffff04ff82017fff808080808080ff8080808080ff2f80ff808080ffff02ff26ffff04ff02ffff04ff05ffff04ff0bffff04ff37ffff04ff2fffff04ff5fffff04ff8201bfffff04ff82017fffff04ffff10ff8202ffffff010180ff808080808080808080808080ffff01ff02ff26ffff04ff02ffff04ff05ffff04ff37ffff04ff2fffff04ff5fffff04ff8201bfffff04ff82017fffff04ff8202ffff8080808080808080808080ff0180ffff01ff02ffff03ffff15ff8202ffffff11ff0bffff01018080ffff01ff04ffff04ff20ffff04ff82017fffff04ff5fff80808080ff8080ffff01ff088080ff018080ff0180ff0bff17ffff02ff5effff04ff02ffff04ff09ffff04ff2fffff04ffff02ff7effff04ff02ffff04ffff04ff09ffff04ff0bff1d8080ff80808080ff808080808080ff5f80ffff04ffff0101ffff04ffff04ff2cffff04ff05ff808080ffff04ffff04ff20ffff04ff17ffff04ff0bff80808080ff80808080ffff0bff2affff0bff22ff2480ffff0bff2affff0bff2affff0bff22ff3280ff0580ffff0bff2affff02ff3affff04ff02ffff04ff07ffff04ffff0bff22ff2280ff8080808080ffff0bff22ff8080808080ff02ffff03ffff07ff0580ffff01ff0bffff0102ffff02ff7effff04ff02ffff04ff09ff80808080ffff02ff7effff04ff02ffff04ff0dff8080808080ffff01ff0bffff0101ff058080ff0180ff018080ffff04ffff01ff02ffff01ff02ffff01ff02ffff03ff0bffff01ff02ffff03ffff09ff05ffff1dff0bffff1effff0bff0bffff02ff06ffff04ff02ffff04ff17ff8080808080808080ffff01ff02ff17ff2f80ffff01ff088080ff0180ffff01ff04ffff04ff04ffff04ff05ffff04ffff02ff06ffff04ff02ffff04ff17ff80808080ff80808080ffff02ff17ff2f808080ff0180ffff04ffff01ff32ff02ffff03ffff07ff0580ffff01ff0bffff0102ffff02ff06ffff04ff02ffff04ff09ff80808080ffff02ff06ffff04ff02ffff04ff0dff8080808080ffff01ff0bffff0101ff058080ff0180ff018080ffff04ffff01b0a27ea25dcdbeed81bbbd2d4818669bf15e0a3b39d0679e349b81f37a89bf88dd643caacead45fdb203689c54ffda82e9ff018080ffff04ffff01a0eb78cb323e2b920ad2155a015dd90524939cc7f13a86dfd6dd40f7083068875bffff04ffff0101ffff04ffff01ffa0f1e8350cec62f8204aaf867cc3c12cae369f619258206616108c6cfd7be760b3ffa0289ffeb788c28a68ea8779332405f0d60407f4cbaac0f77ac32f2d57d55d8720a0eff07522495060c066f66f32acc2a77e3a3e737aca8baea4d1a64ea4cdc13da9ffff04ffff0180ff01808080808080:1:{}",
"success": true,
"wallet_id": 4
}
Switch to new wallet and create new DID using backup data:
chia wallet show
Wallet keys:
1) 2473516996
2) * 2180159442 (Synced)
Chia Wallet: -Total Balance: 1.0 txch (1000000000000 mojo) -Pending Total Balance: 1.0 txch (1000000000000 mojo) -Spendable: 1.0 txch (1000000000000 mojo) -Type: STANDARD_WALLET -Wallet ID: 1
chia rpc wallet create_new_wallet '{\"wallet_type\":\"did_wallet\", \"did_type\":\"recovery\", \"backup_data\": \"1820a1dba8b42b2e622c957ddcdaca7d5d6672428e68958af6e5c26f695ce2f8:eff07522495060c066f66f32acc2a77e3a3e737aca8baea4d1a64ea4cdc13da9:1:0fc4d8aea5b66cac7c29d93d9eee37b6c0bd9ffcd6b8e38e2c8810de5199c4d3:ff02ffff01ff02ffff01ff02ffff03ff81bfffff01ff02ff05ff82017f80ffff01ff02ffff03ffff22ffff09ffff02ff7effff04ff02ffff04ff8217ffff80808080ff0b80ffff15ff17ff808080ffff01ff04ffff04ff28ffff04ff82017fff808080ffff04ffff04ff34ffff04ff8202ffffff04ff82017fffff04ffff04ff8202ffff8080ff8080808080ffff04ffff04ff38ffff04ff822fffff808080ffff02ff26ffff04ff02ffff04ff2fffff04ff17ffff04ff8217ffffff04ff822fffffff04ff8202ffffff04ff8205ffffff04ff820bffffff01ff8080808080808080808080808080ffff01ff088080ff018080ff0180ffff04ffff01ffffffff313dff4946ffff0233ff3c04ffffff0101ff02ff02ffff03ff05ffff01ff02ff3affff04ff02ffff04ff0dffff04ffff0bff2affff0bff22ff3c80ffff0bff2affff0bff2affff0bff22ff3280ff0980ffff0bff2aff0bffff0bff22ff8080808080ff8080808080ffff010b80ff0180ffffff02ffff03ff17ffff01ff02ffff03ff82013fffff01ff04ffff04ff30ffff04ffff0bffff0bffff02ff36ffff04ff02ffff04ff05ffff04ff27ffff04ff82023fffff04ff82053fffff04ff820b3fff8080808080808080ffff02ff7effff04ff02ffff04ffff02ff2effff04ff02ffff04ff2fffff04ff5fffff04ff82017fff808080808080ff8080808080ff2f80ff808080ffff02ff26ffff04ff02ffff04ff05ffff04ff0bffff04ff37ffff04ff2fffff04ff5fffff04ff8201bfffff04ff82017fffff04ffff10ff8202ffffff010180ff808080808080808080808080ffff01ff02ff26ffff04ff02ffff04ff05ffff04ff37ffff04ff2fffff04ff5fffff04ff8201bfffff04ff82017fffff04ff8202ffff8080808080808080808080ff0180ffff01ff02ffff03ffff15ff8202ffffff11ff0bffff01018080ffff01ff04ffff04ff20ffff04ff82017fffff04ff5fff80808080ff8080ffff01ff088080ff018080ff0180ff0bff17ffff02ff5effff04ff02ffff04ff09ffff04ff2fffff04ffff02ff7effff04ff02ffff04ffff04ff09ffff04ff0bff1d8080ff80808080ff808080808080ff5f80ffff04ffff0101ffff04ffff04ff2cffff04ff05ff808080ffff04ffff04ff20ffff04ff17ffff04ff0bff80808080ff80808080ffff0bff2affff0bff22ff2480ffff0bff2affff0bff2affff0bff22ff3280ff0580ffff0bff2affff02ff3affff04ff02ffff04ff07ffff04ffff0bff22ff2280ff8080808080ffff0bff22ff8080808080ff02ffff03ffff07ff0580ffff01ff0bffff0102ffff02ff7effff04ff02ffff04ff09ff80808080ffff02ff7effff04ff02ffff04ff0dff8080808080ffff01ff0bffff0101ff058080ff0180ff018080ffff04ffff01ff02ffff01ff02ffff01ff02ffff03ff0bffff01ff02ffff03ffff09ff05ffff1dff0bffff1effff0bff0bffff02ff06ffff04ff02ffff04ff17ff8080808080808080ffff01ff02ff17ff2f80ffff01ff088080ff0180ffff01ff04ffff04ff04ffff04ff05ffff04ffff02ff06ffff04ff02ffff04ff17ff80808080ff80808080ffff02ff17ff2f808080ff0180ffff04ffff01ff32ff02ffff03ffff07ff0580ffff01ff0bffff0102ffff02ff06ffff04ff02ffff04ff09ff80808080ffff02ff06ffff04ff02ffff04ff0dff8080808080ffff01ff0bffff0101ff058080ff0180ff018080ffff04ffff01b0a27ea25dcdbeed81bbbd2d4818669bf15e0a3b39d0679e349b81f37a89bf88dd643caacead45fdb203689c54ffda82e9ff018080ffff04ffff01a0eb78cb323e2b920ad2155a015dd90524939cc7f13a86dfd6dd40f7083068875bffff04ffff0101ffff04ffff01ffa0f1e8350cec62f8204aaf867cc3c12cae369f619258206616108c6cfd7be760b3ffa0289ffeb788c28a68ea8779332405f0d60407f4cbaac0f77ac32f2d57d55d8720a0eff07522495060c066f66f32acc2a77e3a3e737aca8baea4d1a64ea4cdc13da9ffff04ffff0180ff01808080808080:1:{}\"}' { "backup_dids": [ "0x0fc4d8aea5b66cac7c29d93d9eee37b6c0bd9ffcd6b8e38e2c8810de5199c4d3" ], "coin_list": [ "0x7c2dbabce3ec7f480b6a9d85d3363afc8c6f2281227a3f056b009f86fc208b03", "0xa50228088b095397af35ba2050aa9e11de210fe13152a6f462f1f6ea93f01886", 1 ], "coin_name": "025b4ed9eafab653a6e80c1c1603272cfec0e5c5591bb45a7025dadedba63e23", "my_did": "289ffeb788c28a68ea8779332405f0d60407f4cbaac0f77ac32f2d57d55d8720", "newpuzhash": "3929e3a268d3d04b8a40f226b66f0ab4f00b5c12fd628bc18f8ce573e76b291f", "num_verifications_required": 1, "pubkey": "a1b184cf85e9804ba1df27acd2efd4622366315293f2c2e06eae7d9776cd3ef474edd4d0f10323e8a7a817b5a42317de", "success": true, "type": 8, "wallet_id": 2 }
4. Change back to original wallet and gather info for attest:
chia wallet show Wallet keys: 1) * 2473516996 (Synced) 2) 2180159442 ... Backup DID: -Total Balance: 1.0 -Pending Total Balance: 1.0 -Spendable: 1.0 -Type: DECENTRALIZED_ID -DID ID: did:chia:1plzd3t49kek2clpfmy7eam3hkmqtm8lu66uw8r3v3qgdu5vecnfsmsdmm7 -Wallet ID: 2 ...
Get coin ID:
chia rpc wallet did_get_did '{\"wallet_id\": 4}' { "coin_id": "0x025b4ed9eafab653a6e80c1c1603272cfec0e5c5591bb45a7025dadedba63e23", "my_did": "did:chia:19z0ladugc29x36580yejgp0s6czq0axt4tq0w7kr9uk4042asusqvxldga", "success": true, "wallet_id": 4 }
Get puzhash:
chia rpc wallet did_get_current_coin_info '{\"wallet_id\": 4}' { "did_amount": 1, "did_innerpuz": "0xaa398ce4a850c4f36fbf4460eab19cf33b9d354c8c90175884429f588b38c36c", "did_parent": "0x7c2dbabce3ec7f480b6a9d85d3363afc8c6f2281227a3f056b009f86fc208b03", "my_did": "did:chia:19z0ladugc29x36580yejgp0s6czq0axt4tq0w7kr9uk4042asusqvxldga", "success": true, "wallet_id": 4 }
Get pubkey:
chia keys show Showing all public keys derived from your master seed and private key:
Fingerprint: 2473516996 Master public key (m): a5eaca596431b5149b61ae707ab1de643db25d7415a29cd9a19eb7898c398c7da638e0ab06db1cf6a8d007c6032db636 ...
5. Create the attest:
chia rpc wallet did_create_attest '{\"wallet_id\":4, \"coin_name\":\"0x025b4ed9eafab653a6e80c1c1603272cfec0e5c5591bb45a7025dadedba63e23\", \"pubkey\":\"a5eaca596431b5149b61ae707ab1de643db25d7415a29cd9a19eb7898c398c7da638e0ab06db1cf6a8d007c6032db636\", \"puzhash\":\"0xaa398ce4a850c4f36fbf4460eab19cf33b9d354c8c90175884429f588b38c36c\"}' { "attest_data": "289ffeb788c28a68ea8779332405f0d60407f4cbaac0f77ac32f2d57d55d8720:00000001025b4ed9eafab653a6e80c1c1603272cfec0e5c5591bb45a7025dadedba63e23e6e687404514eeb5b4f5ce580b401baf6287ce05f73661259378057af71222220000000000000000ff01ffff3cffa0025b4ed9eafab653a6e80c1c1603272cfec0e5c5591bb45a7025dadedba63e2380ffff31ffb0a5eaca596431b5149b61ae707ab1de643db25d7415a29cd9a19eb7898c398c7da638e0ab06db1cf6a8d007c6032db636ffa0aa398ce4a850c4f36fbf4460eab19cf33b9d354c8c90175884429f588b38c36c808080c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000:7c2dbabce3ec7f480b6a9d85d3363afc8c6f2281227a3f056b009f86fc208b03:aa398ce4a850c4f36fbf4460eab19cf33b9d354c8c90175884429f588b38c36c:1", "info": [ "7c2dbabce3ec7f480b6a9d85d3363afc8c6f2281227a3f056b009f86fc208b03", "aa398ce4a850c4f36fbf4460eab19cf33b9d354c8c90175884429f588b38c36c", 1 ], "message_spend_bundle": "00000001025b4ed9eafab653a6e80c1c1603272cfec0e5c5591bb45a7025dadedba63e23e6e687404514eeb5b4f5ce580b401baf6287ce05f73661259378057af71222220000000000000000ff01ffff3cffa0025b4ed9eafab653a6e80c1c1603272cfec0e5c5591bb45a7025dadedba63e2380ffff31ffb0a5eaca596431b5149b61ae707ab1de643db25d7415a29cd9a19eb7898c398c7da638e0ab06db1cf6a8d007c6032db636ffa0aa398ce4a850c4f36fbf4460eab19cf33b9d354c8c90175884429f588b38c36c808080c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "success": true }
6. Switch to new wallet and attempt recovery spend:
chia wallet show Wallet keys: 1) 2473516996 2) * 2180159442 (Synced) ... Profile 1: -Total Balance: 0.0 -Pending Total Balance: 0.0 -Spendable: 0.0 -Type: DECENTRALIZED_ID -DID ID: did:chia:19z0ladugc29x36580yejgp0s6czq0axt4tq0w7kr9uk4042asusqvxldga -Wallet ID: 2 ...
Recovery spend:
chia rpc wallet did_recovery_spend '{\"wallet_id\":2, \"attest_data\":[\"289ffeb788c28a68ea8779332405f0d60407f4cbaac0f77ac32f2d57d55d8720:00000001025b4ed9eafab653a6e80c1c1603272cfec0e5c5591bb45a7025dadedba63e23e6e687404514eeb5b4f5ce580b401baf6287ce05f73661259378057af71222220000000000000000ff01ffff3cffa0025b4ed9eafab653a6e80c1c1603272cfec0e5c5591bb45a7025dadedba63e2380ffff31ffb0a5eaca596431b5149b61ae707ab1de643db25d7415a29cd9a19eb7898c398c7da638e0ab06db1cf6a8d007c6032db636ffa0aa398ce4a850c4f36fbf4460eab19cf33b9d354c8c90175884429f588b38c36c808080c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000:7c2dbabce3ec7f480b6a9d85d3363afc8c6f2281227a3f056b009f86fc208b03:aa398ce4a850c4f36fbf4460eab19cf33b9d354c8c90175884429f588b38c36c:1\"]}' Request failed: {'error': 'path into atom', 'success': False}
What happened?
Start with DIDs in wallets 2 and 5:
Update the recovery info for wallet 5 to use the DID from wallet 2:
Now gather the info required to create an attest:
Using this info, create an attest for recovery:
Using this attest data, attempt a recovery spend:
Version
1.3.6.dev722
What platform are you using?
Windows
What ui mode are you using?
CLI
Relevant log output