биткойн пароль для каждого адреса

Мне нужна система, где мне нужно создать new address for every user(личный кабинет), где они будут transfer some bitcoinsк нему и buy some productsс моего сайта.

Итак, я начал bitcoindи через bitcoin-cli, я сгенерировал новый адрес( bitcoin-cli getnewaddress "USEREMAILID") и назначил его пользователям.

Теперь пользователи будут покупать некоторые продукты на моем веб-сайте (т.е. переводить сумму со своего счета на счет компании), а затем происходит перевод, и на основе подтверждений продукт будет куплен.

Теперь мой вопрос: всякий раз, когда пользователь начинает покупать продукт, он выполняет команду ( bitcoin-cli sendfrom), и для этого нам нужно сначала, unlock the wallet by walletpassphraseа затем выполнить транзакцию. так, было бы only 1 password which is assigned to the wallet but not every address.

Это правильный путь?

Если пользователю нужно ввести его custom password, а затем обработать транзакцию, возможно ли это?

Ответы (1)

Итак, я начал bitcoindи через bitcoin-cli, я сгенерировал новый адрес( bitcoin-cli getnewaddress "USEREMAILID") и назначил его пользователям.

Пожалуйста, не делайте этого. Вы используете систему учетных записей в Bitcoin Core, которая устарела, немного ненадежна/имеет странное поведение и будет удалена в будущем.

Поддерживайте свою собственную систему учета вне Bitcoin Core. Просто есть база данных с адресами и связанными с ними пользователями.

Теперь мой вопрос: всякий раз, когда пользователь начинает покупать продукт, он выполняет команду ( bitcoin-cli sendfrom), и для этого

Почему? Почему бы вам просто не изменить их баланс на сайте и оставить монеты там? Нет необходимости совершать фактические транзакции, которые перемещают монеты к вам, просто измените их внутри.

нам нужно сначала unlock the wallet by walletpassphrase, а затем сделать транзакцию. так, было бы only 1 password which is assigned to the wallet but not every address.

Нет, это не то, как работает Bitcoin Core, адреса или учетные записи. Аккаунты — это не кошельки. Все адреса для всех учетных записей принадлежат одному и тому же кошельку. Если вы не используете Bitcoin Core 0.15+ и не включили использование мультикошелька, вы используете только один кошелек в Bitcoin Core. Таким образом, можно использовать только одну кодовую фразу, walletpassphraseи она разблокирует весь кошелек, включая все адреса, которые вы указали на своем веб-сайте.

Это правильный путь?

Нет это не так.

Правильный способ — поддерживать отдельную базу данных с учетными записями пользователей, связанными адресами и балансом учетной записи. Когда вы переводите монеты внутри страны (т. е. от одного пользователя к другому или от одного пользователя к вам), обновляйте балансы в этой базе данных вместо совершения биткойн-транзакции. Если вы хотите отправить монеты извне (т.е. пользователь выводит средства), вы отправляете их из кошелька Bitcoin Core и обновляете свою собственную базу данных. Когда вы отправляете, просто используйте sendtoaddress. Не используйте систему учетных записей Bitcoin Core и не пытайтесь сделать так, чтобы вы отправляли с определенных адресов.

Если пользователю нужно ввести его custom password, а затем обработать транзакцию, возможно ли это?

Нет, как я объяснил выше, это не так.