Bitcoin
bitcoin core – How to import address by private key using importmulti
problem. importmulti
The function has many parameters, and they are more difficult to understand than the parameters of other Bitcoin RPC-API functions. People who are not skilled in modern cryptography have a hard time understanding how to use it. importmulti
function.
Here’s a task that demonstrates the problem: Bitcoin Core v.0.19.1 has two wallets: wallet1 – This is the wallet with the private key for export. wallet2 – An empty wallet whose PK+address needs to be obtained from wallet1.
So wallet1 has a Bitcoin address generated by: getnewaddress
.
(root@wallet1 ~)# bitcoin-cli getaddressinfo 3M5e4QMBUYtpEewwuuoWCArpiM2fT4KEDy
"address": "3M5e4QMBUYtpEewwuuoWCArpiM2fT4KEDy",
"scriptPubKey": "a914d4b1b498c8be8813273937b834be6d9d1f488b9087",
"ismine": true,
"solvable": true,
"desc": "sh(wpkh((675dc179/0'/0'/0')02607cb6c05a575fd040498ec8c44eabfa2a4f0fc320aeacf494a77b3a408d84af))#r6dvu4wk",
"iswatchonly": false,
"isscript": true,
"iswitness": false,
"script": "witness_v0_keyhash",
"hex": "00144c88353345f2e03abc8e96b818fd030c3c9f59ab",
"pubkey": "02607cb6c05a575fd040498ec8c44eabfa2a4f0fc320aeacf494a77b3a408d84af",
"embedded":
"isscript": false,
"iswitness": true,
"witness_version": 0,
"witness_program": "4c88353345f2e03abc8e96b818fd030c3c9f59ab",
"pubkey": "02607cb6c05a575fd040498ec8c44eabfa2a4f0fc320aeacf494a77b3a408d84af",
"address": "bc1qfjyr2v697tsr40ywj6up3lgrps7f7kdtvw6mnu",
"scriptPubKey": "00144c88353345f2e03abc8e96b818fd030c3c9f59ab"
,
"label": "",
"ischange": false,
"timestamp": 1589545405,
"hdkeypath": "m/0'/0'/0'",
"hdseedid": "7cf768d4050dc142a69a149666798cc434045c6c",
"hdmasterfingerprint": "675dc179",
"labels": (
"name": "",
"purpose": "receive"
)
(root@wallet1 ~)# bitcoin-cli dumpprivkey 3M5e4QMBUYtpEewwuuoWCArpiM2fT4KEDy
Kwngf5FSYmHM5oPHjSoKxtHWUxXiQ5YN5ZR6shmzkYpMMftBh92c
I tried to import that address into wallet2, but it failed.
(root@wallet2 ~)# bitcoin-cli importmulti '( "scriptPubKey": "address": "3M5e4QMBUYtpEewwuuoWCArpiM2fT4KEDy" , "timestamp":"now", "keys": "Kwngf5FSYmHM5oPHjSoKxtHWUxXiQ5YN5ZR6shmzkYpMMftBh92c":0 )' '"rescan": false'
result
(
"success": false,
"error":
"code": -1,
"message": "Missing required fields"
)
What is the correct way to import that address using importmulti? Please show me an example.