bitcoin-cli: как создать кошелек и адрес utxo

Я относительно новичок в биткойнах и блокчейне и надеюсь, что вы поможете мне с некоторыми вопросами. Итак, я запустил сеть «regtest» и сгенерировал 101 блок, используя

bitcoin-cli -regtest generate 101

Теперь, если я запускаю 'bitcoin-cli -regtest getaddressesbyaccount ""', я получаю публичный адрес своей учетной записи по умолчанию:

[
  "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 я могу увидеть / найти его в своем кошельке?

Второй вопрос: как я могу создать новый кошелек с некоторыми балансами и переключаться между ними (используя bitcoin-cli)? По сути, я хотел бы иметь возможность протестировать свое приложение с помощью bitcoin-cli - мне нужно иметь возможность создавать кошельки, переключаться между ними и отправлять btc между адресами.


person user3489820    schedule 14.02.2018    source источник


Ответы (1)


Монеты 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 аргумент bitcoin-qt

Например, если вы используете Linux:

Создайте 4 кошелька, запустив биткойн-ядро, остановив биткойн-ядро и переименовав wallet.dat в папке ~ / .bitcoin (затем повторив процесс). Например, запустите этот процесс 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"
person skang404    schedule 15.02.2018
comment
По поводу 101: честно говоря, я просто взял это из какого-то примера. Но я все еще не понимаю, откуда берется адрес n1queZpweTHjrMLvwSmcfrrJSQjsrYG3nG и как его найти (или убедиться, что он принадлежит моему кошельку)? Могу ли я создать новый кошелек и переключаться между кошельками (а не между учетными записями в одном кошельке)? - person user3489820; 15.02.2018
comment
@ user3489820 Этот адрес является адресом вашего кошелька, на который были произведены выплаты / майнинг в первом блоке. Вы можете найти его в первом блоке. Для нескольких кошельков вы можете просто использовать bitcoin-cli -rpcwallet=<file>. Дополнительно редактируем ответ. - person skang404; 15.02.2018
comment
Спасибо за ответ, как создать дополнительные кошельки. Однако до сих пор не понимаю, откуда этот адрес. Я понимаю, что этот адрес должен быть моим, и первый созданный блок имеет транзакцию Coinbase на этот адрес, вот как я его получил. Я не понимаю, как проверить, мой адрес это или нет. Как узнать, есть ли это в моих адресах или нет. Я пытаюсь сделать «bitcoin-cli -regtest getaddressesbyaccount», но этого адреса нет. Получу ли я монеты, если совершу новую транзакцию на этот адрес? - person user3489820; 17.02.2018