我是比特币和区块链的相对新手,希望您能帮助我解决一些问题。所以我启动了一个“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。
Coinbase 硬币在创建 100 个区块后才能转移。
(为什么专门生成“101”块?)
因此,您看到的钱包中的金额来自您开采的第一个区块。您可以验证bitcoin-cli -regtest getblock "<hash of first block>"您获得的返回值是generate 101您之前运行的命令(包含 101 个块哈希的数组)。
尝试以下
bitcoin-cli -regtest generate 1listunspent,您应该看到 2 个 utxos 而不是 1 个。根据您要测试的内容,也许只需创建一个新地址并向其汇款就足够了?
[编辑]
-walletarg 来使用它们bitcoin-qt例如,如果您使用的是 linux:
通过启动比特币核心,停止比特币芯,然后重命名创建4个钱包的wallet.dat在〜/ .bitcoin文件夹(然后重复该过程)。例如,运行此过程 4 次以生成:
然后,在 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)