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

时间:2018-02-14 21:23:08

标签: bitcoin bitcoind

我是比特币和区块链的相对新手,希望你能帮我解决一些问题。 所以我推出了一个" regtest"网络并使用

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

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

[
  "mwpKJNJ4UZL7yFyj53RSVcwauGAK84UvV2"
]

当然,我现在不应该有任何其他帐户。 当我推出比特币-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作为金额。 这个地址来自哪里?通过比特币-cli命令,我可以在钱包中看到/找到它?

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

1 个答案:

答案 0 :(得分:3)

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)。您可以通过向-wallet
  4. 提供bitcoin-qt arg来使用它们

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

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

    • mywallet.dat
    • wifeswallet.dat
    • kidswallet.dat
    • businesswallet.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"