Bitcoin Forum

Local => Новички => Topic started by: albertvert on October 12, 2014, 10:36:50 AM



Title: База данных
Post by: albertvert on October 12, 2014, 10:36:50 AM
Скачал базу данных Биткоин с помощью торрента (https://bitcoin.org/ru/download). Получил файл данных bootstrat.dat в 21 Гб.
1. Можно ли доверять этой базе данных ?
2. Куда положить этот файл на Маке при использовании родной программы Bitcoin Core, в корневую папку, где лежит wallet.dat или в папку database, где лежит log.0000000001 ?


Title: Re: База данных
Post by: fsb4000 on October 12, 2014, 12:53:41 PM
1. Bitcoin core всё равно проверяет каждый блок. Доверие не нужно. Максимум что может случиться, что Bitcoin core не примет эту базу и получается зря потрачен траффик на закачку файла...
2. Туда где лежит wallet.dat


Title: Re: База данных
Post by: albertvert on October 12, 2014, 03:28:25 PM
1. Да, положил в корень и теперь программа импортирует блоки с диска. Только то же крайне медленно. Практически скорость осталась та же когда из сети качал. Почему так медленно ? У меня диск SSD. Это связано с проверкой блоков ?
2. Каким образом BC проверяет каждый блок закаченной в него БД из вне (с чем сравнивает) ?
3. Что это за папка database в которой лежит файл log.0000000001 всегда равный 1 Mb (не локальная ли это БД) ? И почему эта папка всегда самоудаляется, когда я закрываю программу BC ? Что хранится в этом файле log.0000000001 ?
4. Куда должна была лечь база данных если бы я продолжал качать ее из сети ?


Title: Re: База данных
Post by: amaclin on October 12, 2014, 03:41:56 PM
1. Да, положил в корень и теперь программа импортирует блоки с диска. Только то же крайне медленно. Практически скорость осталась та же когда из сети качал. Почему так медленно ? У меня диск SSD. Это связано с проверкой блоков ?
Да, биткойн так устроен. Он должен проверить, что ему не подсунули лажу.
Quote
2. Каким образом BC проверяет каждый блок закаченной в него БД из вне (с чем сравнивает) ?
Тут в двух словах не объяснить того, о чем в интернете куча статей.
Грубо говоря, если у нас есть 10 проверенных блоков, то кусок байтов (блок) подвергается проверке и определяется ответ на вопрос - это может быть 11-ым блоком?
Если да - то теперь у нас 11 блоков - и повторяем процесс заново.

Quote
3. Что это за папка database в которой лежит файл log.0000000001 всегда равный 1 Mb (не локальная ли это БД) ? И почему эта папка всегда самоудаляется, когда я закрываю программу BC ? Что хранится в этом файле log.0000000001 ?
На этот вопрос я ответа не знаю. Блоки хранятся в файлах blk***.dat
В остальных файлах какие-то логи и индексы, которые клиент строит для быстрого доступа к данным
Quote
4. Куда должна была лечь база данных если бы я продолжал качать ее из сети ?
blocks/blk***.dat


Title: Re: База данных
Post by: fsb4000 on October 12, 2014, 03:53:02 PM
1. Да, положил в корень и теперь программа импортирует блоки с диска. Только то же крайне медленно. Практически скорость осталась та же когда из сети качал. Почему так медленно ? У меня диск SSD. Это связано с проверкой блоков ?
2. Каким образом BC проверяет каждый блок закаченной в него БД из вне (с чем сравнивает) ?
3. Что это за папка database в которой лежит файл log.0000000001 всегда равный 1 Mb (не локальная ли это БД) ? И почему эта папка всегда самоудаляется, когда я закрываю программу BC ? Что хранится в этом файле log.0000000001 ?
4. Куда должна была лечь база данных если бы я продолжал качать ее из сети ?
1. Видимо узким местом была не интернет скорость, а скорость процессора. Если бы у вас был HDD было бы ещё медленнее  :) (Когда у меня происходила синхронизация, то HDD был загружен на 100%, в отличии от CPU)
На остальные вопросы уже ответили выше...


Title: Re: База данных
Post by: albertvert on October 13, 2014, 06:57:42 AM
BC закончил проверять блоки из локальной базы данных и дал этой базе второе расширенеие - .old (что интересно). В правом нижнем углу программы теперь стоит зеленая галочка. Заняло все это примерно 10 -12 часов.


Title: Re: База данных
Post by: albertvert on October 13, 2014, 07:04:10 AM
Как импортировать приватные ключи в BC ?



Title: Re: База данных
Post by: amaclin on October 13, 2014, 07:04:35 AM
BC закончил проверять блоки из локальной базы данных и дал этой базе второе расширенеие - .old (что интересно). В правом нижнем углу программы теперь стоит зеленая галочка. Заняло все это примерно 10 -12 часов.
Я таким образом базу не синхронизировал.
Потому что когда первый раз ставил - у меня знаний ещё не было, а потом можно уже и самому такое делать - использовать не сеть, а уже скачанные блоки. 20 гигов места на винте для бэкапа у меня пока есть.
По идее, клиент просто создает blk-файлы со всеми индексами (могу ошибаться, конечно)
После чего этот boot-файл уже и вообще не нужен
То есть хранить его дальше особо смысла нет - если у вас есть blk-файлы


Title: Re: База данных
Post by: amaclin on October 13, 2014, 07:06:59 AM
Как импортировать приватные ключи в BC ?
BC - это Вооруженные Силы или Бефор Крайст? Никто кроме вас такую аббревиатуру для BitcoinCore не использует.
Хелп почитать не судьба что ли?
Открываете консоль... и там все есть...


Title: Re: База данных
Post by: albertvert on October 13, 2014, 07:21:26 AM
Консоль открыл давно и даже ввел команду importprivkey. Получил окно с примером, но мне не понятно.
Как импортировать приватные ключи в ВС (ВС на латинице - Bitcoine Core).


Title: Re: База данных
Post by: amaclin on October 13, 2014, 07:24:16 AM
Консоль открыл давно и даже ввел команду importprivkey. Получил окно с примером, но мне не понятно.
Как импортировать приватные ключи в ВС (ВС на латинице - Bitcoine Core).

а что именно может быть непонятного?
Так прям и пишем
importprivkey L4rK1yDtCWekvXuE6oXD9jCYfFNV2cWRpVuPLBcCU2z8TrisoyY1


Title: Re: База данных
Post by: albertvert on October 13, 2014, 07:27:28 AM
Против логики не попрешь.
Странно что экcпорт ключей в программе назвали dump, а не export.
А что означает - bitcoin-cli ?


Title: Re: База данных
Post by: amaclin on October 13, 2014, 07:31:49 AM
Против логики не попрешь.
Странно что экcпорт ключей в программе назвали dump, а не export.
Наверно, потому что экспорт - это куда-то в файл
а дамп - это просто показать.
не все ли равно как называть?

Quote
А что означает - bitcoin-cli ?
комманд-лайн-интерфейс
разработчики пытаются дистанцировать ядро от гуёвой оболочки
я вообще остановился на прошлогодних 0.8.5 / 0.8.6 - они меня вполне удовлетворяют


Title: Re: База данных
Post by: albertvert on October 13, 2014, 07:48:37 AM
1. Будет ли разница если вводить команду - bitcoin-cli importprivkey "mykey" или - importprivkey "bitcoinprivkey" ?
2. А это что такое:
As a json rpc call
> curl --user myusername --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "importprivkey", "params": ["mykey", "testing", false] }' -H 'content-type: text/plain;' http://127.0.0.1:8332/
(code -1)


Title: Re: База данных
Post by: albertvert on October 13, 2014, 10:24:18 AM
Что за лебл нужно вводить в этой команде - importprivkey "bitcoinprivkey" ( "label" rescan ) ?
Каковы его функции ?


Title: Re: База данных
Post by: fsb4000 on October 13, 2014, 10:42:04 AM
1. Будет ли разница если вводить команду - bitcoin-cli importprivkey "mykey" или - importprivkey "bitcoinprivkey" ?
2. А это что такое:
As a json rpc call
> curl --user myusername --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "importprivkey", "params": ["mykey", "testing", false] }' -H 'content-type: text/plain;' http://127.0.0.1:8332/
(code -1)
1. Нет
2. Не знаю, описание json rpc

Что за лебл нужно вводить в этой команде - importprivkey "bitcoinprivkey" ( "label" rescan ) ?
Каковы его функции ?
Не "нужно вводить", а "можно вводить", так как в скобках указаны необязательные параметры.
label это метка адреса. То есть напротив адреса будет его метка.
Удобно использовать для того чтобы не забыть для чего раньше использовался этот адрес.

Quote from: albertvert
Что такое URI в URI: bitcoin:1LrV45ZEvnj5JjmfbegpamgEBu4MNHhn1E ?
Это чтобы биткоин адрес был кликабельным. То есть делать ссылки, чтобы кто-то нажал на них и у него открылся биткоин кошелёк и там уже подставился этот адрес и количество btc.
1LrV45ZEvnj5JjmfbegpamgEBu4MNHhn1E (bitcoin:1LrV45ZEvnj5JjmfbegpamgEBu4MNHhn1E)


Title: Re: База данных
Post by: albertvert on October 13, 2014, 11:00:39 AM
Что в данном случае обозначает URI: bitcoin:16yAzYsiVZrbStf2G3yigNzQKqkbvah5QC при запросе платежа ?


Title: Re: База данных
Post by: fsb4000 on October 13, 2014, 11:19:14 AM
Что в данном случае обозначает URI: bitcoin:16yAzYsiVZrbStf2G3yigNzQKqkbvah5QC при запросе платежа ?
то что у того кто нажмёт на эту ссылку в биткоин кошельке отобразится адрес 16yAzYsiVZrbStf2G3yigNzQKqkbvah5QC
Лучше показать на примере.
Вот возьмём сайт "легкого" bitcoin кошелька multibit
https://multibit.org/
Переходим к секции "Donate"
Там кроме QR кода, есть URI bitcoin:1AhN6rPdrMuKBGFDKR1k9A8SCLYaNgXhty?amount=0.01&label=Please donate to multibit.org

Попробуйте нажать на адрес 1AhN6rPdrMuKBGFDKR1k9A8SCLYaNgXhty на сайте multibit и увидите что произойдёт  ;)
(лично у меня Bitcoin Core переходит на вкладку "Отправить" и
поле получатель меняется на 1AhN6rPdrMuKBGFDKR1k9A8SCLYaNgXhty
поле метка меняется на Please donate to multibit.org
поле количество меняется на 0.01000000)

Надеюсь теперь стало понятнее что такое URI, и для чего он нужен.


Title: Re: База данных
Post by: albertvert on October 13, 2014, 12:52:24 PM
Да. Спасибо. Теперь понятно.
А как вводить лейбл, через пробел или в скобках ?


Title: Re: База данных
Post by: fsb4000 on October 13, 2014, 02:15:03 PM
Да. Спасибо. Теперь понятно.
А как вводить лейбл, через пробел или в скобках ?
Через пробел вроде. Я хотя через командную строку метки не назначаю. Просто в GUI в "Файл" -> "Адреса получения" и напротив нужного адреса вместо [нет метки] два клика и пишу своё обозначение адреса.


Title: Re: База данных
Post by: albertvert on October 13, 2014, 04:03:51 PM
Что в данном случае обозначает URI: bitcoin:16yAzYsiVZrbStf2G3yigNzQKqkbvah5QC при запросе платежа ?
то что у того кто нажмёт на эту ссылку в биткоин кошельке отобразится адрес 16yAzYsiVZrbStf2G3yigNzQKqkbvah5QC
Лучше показать на примере.
Вот возьмём сайт "легкого" bitcoin кошелька multibit
https://multibit.org/
Переходим к секции "Donate"
Там кроме QR кода, есть URI bitcoin:1AhN6rPdrMuKBGFDKR1k9A8SCLYaNgXhty?amount=0.01&label=Please donate to multibit.org

Попробуйте нажать на адрес 1AhN6rPdrMuKBGFDKR1k9A8SCLYaNgXhty на сайте multibit и увидите что произойдёт  ;)
(лично у меня Bitcoin Core переходит на вкладку "Отправить" и
поле получатель меняется на 1AhN6rPdrMuKBGFDKR1k9A8SCLYaNgXhty
поле метка меняется на Please donate to multibit.org
поле количество меняется на 0.01000000)

Надеюсь теперь стало понятнее что такое URI, и для чего он нужен.

Создал пробный URI - bitcoin:1GtzWUAzGiT2HwADfiM31NQdpuYprcqYUG?label=%D0%A2%D0%B5%D1%81%D1%82&message=%D0%9F%D1%80%D0%BE%D0%B1%D0%B0
Вставляю его в письмо. Посылаю (сам себе). Принимаю. Но в письме этот URI отображается в виде простого текста, а должен в виде ссылки (синим цветом) и при нажатии, при наличии программы Bitcoin в ней и открываться. Что не так ?


Title: Re: База данных
Post by: fsb4000 on October 13, 2014, 04:33:42 PM
Создал пробный URI - bitcoin:1GtzWUAzGiT2HwADfiM31NQdpuYprcqYUG?label=%D0%A2%D0%B5%D1%81%D1%82&message=%D0%9F%D1%80%D0%BE%D0%B1%D0%B0
Вставляю его в письмо. Посылаю (сам себе). Принимаю. Но в письме этот URI отображается в виде простого текста, а должен в виде ссылки (синим цветом) и при нажатии, при наличии программы Bitcoin в ней и открываться. Что не так ?
Не знаю, сейчас попробовал тоже в виде текста....
Ну всегда можно в email просто указать биткоин адрес, а не URI
На форуме помогают теги
Code:
[url] [/url]
, а в email не знаю :(
Возможно кто-то раскажет как использовать URI в email...
bitcoin:1GtzWUAzGiT2HwADfiM31NQdpuYprcqYUG?label=Тест&message=Проба (bitcoin:1GtzWUAzGiT2HwADfiM31NQdpuYprcqYUG?label=Тест&message=Проба)


Title: Re: База данных
Post by: albertvert on October 13, 2014, 06:09:55 PM
Пока тренировал запрос платежа накопилось куча биткоин адресов.
1. Их как то можно удалить или они навсегда будут в программе ?
2. Экспорт приватного ключа относится к одному конкретному биткоин адресу или ко всему кошельку со всеми адресами ?


Title: Re: База данных
Post by: fsb4000 on October 13, 2014, 09:29:28 PM
Пока тренировал запрос платежа накопилось куча биткоин адресов.
1. Их как то можно удалить или они навсегда будут в программе ?
2. Экспорт приватного ключа относится к одному конкретному биткоин адресу или ко всему кошельку со всеми адресами ?
1. Навсегда. Удалить средствами кошелька нельзя. Но есть сторонняя программа pywallet, через неё вроде можно удалить лишние адреса.
2. К одному. Но можно делать бекапы файла wallet.dat со всеми адресами.(Только периодически нужно обновлять бекап wallet.dat, чтобы сохранялись и новые адреса.)

Можно поставить галочку напротив "Повторно использовать существующий адрес получения(не рекомендуется)". Тогда новые адреса не будут создаваться.
 


Title: Re: База данных
Post by: albertvert on October 15, 2014, 09:38:26 PM
А разве сделав бекап кошелька в любом времени и затем спустя время открыв этот бекап, кошелек не загрузит все те транзакции которые были после бекапа (предположим сделал я бекап кошелька, затем открывались новые биткоин адреса и на них поступали биткоины. И вот я утерял комп вместе с кошельком и остался только мой старый бекап) ?


Title: Re: База данных
Post by: fsb4000 on October 15, 2014, 09:56:52 PM
А разве сделав бекап кошелька в любом времени и затем спустя время открыв этот бекап, кошелек не загрузит все те транзакции которые были после бекапа (предположим сделал я бекап кошелька, затем открывались новые биткоин адреса и на них поступали биткоины. И вот я утерял комп вместе с кошельком и остался только мой старый бекап) ?
Нет. Он загрузит все транзакции(даже те которые произошли после того как был сделан бекап кошелька) только тех адресов которые есть на этом бекапе кошелька.

Чтобы уж совсем точно всё показать:
Есть адреса
A          
B
C
D
E
F
G
Делаем бекап кошелька.
Пользуемся кошельком. У нас создаются новые адреса.
Теперь у нас есть адреса:
A          
B
C
D
E
F
G
F
H
K

Так вот биткоины на адресах F, H, K будут утеряны если с кошельком что-то случится и у нас нет обновлённого бекапа :(
Периодически делать бекапы, + повторно использовать адреса получения....
В armory и electrum кошельках(возможно и в некоторых других альтернативных биткоин кошельках)  реализован deterministic wallet. Это по одному ключу генерируются все будущие адреса в кошельке. В этих кошельках бекап будет актуален всегда. Возможно в будущем это будет реализовано и в Bitcoin Core.


Title: Re: База данных
Post by: albertvert on October 19, 2014, 11:25:44 AM
А по адресу Биткоин можно как то вычислить принадлежность предположим нескольких адресов к одному кошельку ?
То есть у меня в кошельке 10 адресов. Можно ли как то понять, что эти адреса были созданы в одном кошельке ?


Title: Re: База данных
Post by: UraN on October 19, 2014, 01:33:14 PM
А по адресу Биткоин можно как то вычислить принадлежность предположим нескольких адресов к одному кошельку ?
То есть у меня в кошельке 10 адресов. Можно ли как то понять, что эти адреса были созданы в одном кошельке ?
Нет, если на нем 0 btc. Но если на него поступали биткоины, а затем Вы отправили кому-либо транзакцию и часть израсходовалась с этого + других ваших адресов, то связь будет видна всем. Например через http://blockchain.info/

А разве сделав бекап кошелька в любом времени и затем спустя время открыв этот бекап, кошелек не загрузит все те транзакции которые были после бекапа (предположим сделал я бекап кошелька, затем открывались новые биткоин адреса и на них поступали биткоины. И вот я утерял комп вместе с кошельком и остался только мой старый бекап) ?
Нет. Он загрузит все транзакции(даже те которые произошли после того как был сделан бекап кошелька) только тех адресов которые есть на этом бекапе кошелька.

Чтобы уж совсем точно всё показать:
Есть адреса
A          
B
C
D
E
F
G
Делаем бекап кошелька.
Пользуемся кошельком. У нас создаются новые адреса.
Теперь у нас есть адреса:
A          
B
C
D
E
F
G
F
H
K

Так вот биткоины на адресах F, H, K будут утеряны если с кошельком что-то случится и у нас нет обновлённого бекапа :(
Периодически делать бекапы, + повторно использовать адреса получения....
В armory и electrum кошельках(возможно и в некоторых других альтернативных биткоин кошельках)  реализован deterministic wallet. Это по одному ключу генерируются все будущие адреса в кошельке. В этих кошельках бекап будет актуален всегда. Возможно в будущем это будет реализовано и в Bitcoin Core.
Не совсем так. По умолчанию создается пул из 100 адресов, на которые будет возвращаться "сдача" при исходящей транзакции. При каждой транзакции на новый адрес из пула. Так же когда вы создаете новый адрес, он становится видимым для вас из того же самого пула. Как только вы исчерпаете пул (например отправите 98 раз биткоины и создадите 3 новых адреса, в сумме 101) - BC пополнит пул новыми адресами. Как только ВС пополнил свой пул новыми адресами, с этого момента бэкап кошелька ТЕРЯЕТ АКТУАЛЬНОСТЬ.