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

use*_*820 3 bitcoin bitcoind

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

bitcoin-cli -regtest generate 101
Run Code Online (Sandbox Code Playgroud)

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

[
  "mwpKJNJ4UZL7yFyj53RSVcwauGAK84UvV2"
]
Run Code Online (Sandbox Code Playgroud)

当然,我现在不应该有任何其他帐户。当我启动“bitcoin-cli -regtest listunspent”时:

[
  {
    "txid": "694030f8638318c8c54054515ec716159edc494b14234885deb48f294b75a2fe",
    "vout": 0,
    "address": "n1queZpweTHjrMLvwSmcfrrJSQjsrYG3nG",
    "scriptPubKey": "21038cadb266ed1ae6c474f5c1b74fc5f6790eacde843a673a16cfc924a100f2a679ac",
    "amount": 50.00000000,
    "confirmations": 101,
    "spendable": true,
    "solvable": true,
    "safe": true
  }
]
Run Code Online (Sandbox Code Playgroud)

第一个问题:我知道“listunspent”列出的唯一交易是 UTXO,这意味着这是我收到的地址“n1queZpweTHjrMLvwSmcfrrJSQjsrYG3nG”的交易,金额为 50 BTC。这个地址是哪里来的?我可以通过什么 bitcoin-cli 命令在我的钱包中看到/找到它?

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

ska*_*404 5

Coinbase 硬币在创建 100 个区块后才能转移。

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

因此,您看到的钱包中的金额来自您开采的第一个区块。您可以验证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)。您可以通过提供-walletarg 来使用它们bitcoin-qt

例如,如果您使用的是 linux:

通过启动比特币核心,停止比特币芯,然后重命名创建4个钱包的wallet.dat在〜/ .bitcoin文件夹(然后重复该过程)。例如,运行此过程 4 次以生成:

  • 我的钱包.dat
  • 妻子钱包.dat
  • 儿童钱包.dat
  • 商业钱包.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"
Run Code Online (Sandbox Code Playgroud)