bitcoin-cli:如何创建钱包和 utxo 地址

bitcoin-cli: how to create a wallet and utxo address

我是比特币和区块链的新手,希望您能帮助我解决一些问题。 所以我启动了一个 "regtest" 网络并使用

生成了 101 个块
bitcoin-cli -regtest generate 101

现在,如果我启动 'bitcoin-cli -regtest getaddressesbyaccount ""',我会得到默认帐户的 public 地址:

[
  "mwpKJNJ4UZL7yFyj53RSVcwauGAK84UvV2"
]

当然,我现在应该没有其他账号。 当我启动 'bitcoin-cli -regtest listunspent':

[
  {
    "txid": "694030f8638318c8c54054515ec716159edc494b14234885deb48f294b75a2fe",
    "vout": 0,
    "address": "n1queZpweTHjrMLvwSmcfrrJSQjsrYG3nG",
    "scriptPubKey": "21038cadb266ed1ae6c474f5c1b74fc5f6790eacde843a673a16cfc924a100f2a679ac",
    "amount": 50.00000000,
    "confirmations": 101,
    "spendable": true,
    "solvable": true,
    "safe": true
  }
]

第一个问题: 我了解到 "listunspent" 列出的唯一交易是 UTXO, 这意味着这是一笔交易,我收到我的地址 "n1queZpweTHjrMLvwSmcfrrJSQjsrYG3nG",金额为 50 BTC。 这个地址是从哪里来的?通过什么 bitcoin-cli 命令我可以 see/find 它在我的钱包里?

第二个问题: 我如何创建一个带有一些余额的新钱包并在它们之间切换(使用 bitcoin-cli )? 基本上,我希望能够使用 bitcoin-cli 测试我的应用程序——我需要能够创建钱包,在它们之间切换并在地址之间发送 btc。

Coinbase 硬币在创建 100 个区块后才能被传输运行。

(为什么要专门生成“101”块?)

因此,您在钱包中看到的金额来自您开采的第一个区块。您可以通过 return 中的 bitcoin-cli -regtest getblock "<hash of first block>" 验证 generate 101 命令您之前 运行 (101 个块哈希的数组)。

尝试以下方法

  • 再生成一个区块bitcoin-cli -regtest generate 1
  • 现在 listunspent 你应该看到 2 个 utxos 而不是 1 个。

根据您想要测试的内容,也许您只需创建一个新地址并向其汇款就足够了?

[编辑]

  1. 正确关闭核心。
  2. 重命名您的 wallet.dat 文件
  3. 重新启动后,将创建一个新钱包(wallet.dat)。您可以通过向 bitcoin-qt
  4. 提供 -wallet 参数来使用它们

例如,如果您在 linux:

创建 4 个钱包,启动 bitcoin core,停止 bitcoin core,然后在 ~/.bitcoin[=51= 中重命名 wallet.dat ] 文件夹(然后重复该过程)。例如运行这个过程4次生成:

  • 我的wallet.dat
  • 妻子wallet.dat
  • 孩子们wallet.dat
  • 商业wallet.dat

然后,在 linux 中,在你的 .bashrc 中:

alias mywallet="bitcoin-qt -wallet=~/.bitcoin/mywallet.dat"
alias wifeswallet="bitcoin-qt -wallet=~/.bitcoin/wifeswallet.dat"
alias kidswallet="bitcoin-qt -wallet=~/.bitcoin/kidswallet.dat"
alias businesswallet="bitcoin-qt -wallet=~/.bitcoin/businesswallet.dat"