Биткоин двусторонней связи с клиентами

Когда клиент открывает соединение клиенту, он открывает соединение TCP для второго клиента порт 8333. Это соединение используется только для запросов и ответов Б на запрос, или может также запросить, используя то же подключение?

Например, можно задать в для список известных узлов с помощью этого соединения, но можно задать для же с помощью подключения в установленном, или B нужно установить новое соединение на порт 8333, обмен версией сообщения, а только потом отправить его запросы?

+891
Beimbet 25 нояб. 2012 г., 20:25:08
25 ответов

Пожалуйста, взгляните на эту ссылку транзакций биткоин :
https://www.blockchain.com/btc/tx/28d2e2117c9c19f9134225169365dd7c1dbb2051674cab373618b0796ac4zzzz

Мой биткоин-адрес : 1KvADTZU93T57x4HxyzEdoePsnuLhnzzzz
Вы можете посмотреть все мои транзакции по этой ссылке :
https://www.blockchain.com/btc/address/1KvADTZU93T57x4HxyzEdoePsnuLhnzzzz

Мой друг адрес : bc1qhkshfzwzm6cl8ezsg5fw7yhpsdqtp4r3vfzzzz
Но вы не можете видеть все свои транзакции по этой ссылке :
https://www.blockchain.com/btc/address/bc1qhkshfzwzm6cl8ezsg5fw7yhpsdqtp4r3vfzzzz


Что это за адрес : bc1qhkshfzwzm6cl8ezsg5fw7yhpsdqtp4r3vfzzzz
И почему это невозможно?
Как я могу скрывать свои сделки от других, как этот адрес?



+968
Andrew Dellimore 03 февр. '09 в 4:24

В этой ссылке говорится, что

"[данные] может быть использован для получения проводок, но только если они находятся в памяти бассейне или реле набор - произвольный доступ к сделок в цепочке не допускается..."

Но не могу узел СПВ выполните следующие действия, чтобы иметь произвольный доступ к транзакции Т (Я предполагаю, что узел СПВ знает блок хэш-Н блок Б, содержащие Т):

  1. набор цветение фильтр, используя filterload для T в какой-то полный узел
  2. отправить данные запроса с типом MSG_FILTERED_BLOCK и блока хеш H
  3. тогда в ответ, весь узел будет генерировать два сообщения для СПВ узла: во-первых, merkleblock Б; а во-вторых, сделки Т (как уже упоминалось здесь и здесь)

Не этот механизм дает произвольный доступ к операции?

+951
Mick29 5 февр. 2018 г., 20:21:52

Я просто сделал простой сайт, который показывает цену сообщества по разным шлюзам. Никаких исторических графиках, но.. http://xrpvalue.com/

+933
Wirawan Purwanto 17 дек. 2010 г., 11:02:10

Сказать, что я создаю 2/3 multisig кошелек, используя доплата.

  • Я могу хранить все три ключа на различных устройствах книги?
  • Я могу хранить все три ключа на одном устройстве книга?
+930
ktr 5 июн. 2014 г., 1:25:12

Лучший способ получить доступ к транзакции базы данных для анализа является, пожалуй, через blockchain.info API-интерфейс. Вы можете также использовать Bitcoin блок Проводнике; в действительности, это исследование сети Bitcoin сделал.

+920
user150158 1 июн. 2016 г., 3:47:42

Мне нужен ВПС посредником между ASIC майнер и пул ...

нормальный режим : ASIC Шахтер >> горный бассейн

Нужный Режим: ASIC Шахтер >> ВПС >> добыча бассейн

Как я могу это сделать?

+919
masxa27 23 нояб. 2017 г., 9:52:11

16: плохие-txns-в-belowout (код -26) Биткоин основной консоли Я получаю этот код, когда я подписывал мои сделки. Я получаю это сообщение вместо ID транзакции. Что это ?

+826
masik72 10 июн. 2019 г., 1:38:24

Я пытаюсь понять, как алгоритм выполнения заказа работает с технической точки зрения.

Допустим я создал ордер на продажу 0.8 БТЦ и покупайте сообщества 5400 вместе с другими заказами на продажу 0.35 БТД, БТД, 2.7 и т. д. С другой стороны, есть и такие торговцы, которые продают различное количество сообщества, но БТЦ.

Чтобы быть более конкретным, представить:

trader1 хочет продать 0.8 БТЦ,

trader2 хочет продать 2.7 БТЦ ...

Но нет трейдеров, которые готовы продать точно такое же количество сообщества. Есть traderX, кто хочет продать 7000 сообщества, так что в этом случае он может иметь дело с trader1 и частично справиться с trader2. Однако, это не так, как все обменники работают, верно? Обычно все заказы обрабатываются в одной транзакции.

Так как все эти заказы матч для торговли? Любой алгоритм или код на любом языке программирования было бы очень полезно. Спасибо!

+812
user1850720 14 дек. 2018 г., 22:17:51

Я бы не попробовать оба bitcoindс прикрепленным к одному хранилищу, это звучит как рецепт для катастрофы, если начнут вообще.

Вы можете либо туннель порт 8332 на ваш персональный компьютер к удаленному серверу, как это:

СШ -л 8332 ниже:localhost:8332 <remoteip>

Это в основном говорят "всякий раз, когда я подключиться на локальный порт 8332, откройте подключение на удаленном конце к адресу localhost:8332, т. е. ваш сервер 8332 порт, а туннель весь трафик через него". Так это имитирует локальную bitcoind , но прозрачно передает все на сервер. Не надо делиться на всех.

Другой вариант-добавить следующую строку в ваш биткоин.конф файл:

rpcconnect=<remoteip>

Это сделает биткоин-интерфейс командной строки подключиться к удаленному bitcoind вместо. Вы также должны убедиться, что вы на самом деле разрешить входящие соединения на сервере, так что это может быть немного менее безопасным, чем выше СШ вариант.

+812
Josh Webb 3 дек. 2017 г., 9:03:53

Во-первых, вы должны создать резервную копию вашего бумажника.DAT в случае если что-то пойдет не так. Этот файл находится в каталог данных:

Окна

C:\Documents и settings\Вашеимяпользователя\данные приложения\биткоин (ХР)

C:\Users\YourUserName\Appdata\Roaming\Bitcoin (Vista и 7)

Самый простой способ открыть папку AppData является на нажатием клавиш Windows-R, затем введите %appdata% и нажмите Enter.

Линукс

~/.биткоин/

Мак

~/Библиотеки/Application Поддержки/Биткоин/

Затем установите новую версию в обычном порядке. Новый клиент должен использовать предыдущие настройки (включая бумажник и данных Blockchain).
Если, по какой-то странной магии, ваш кошелек будет поврежден, просто скопируйте резервную копию в папку data.

+673
devon Reed 16 мар. 2017 г., 21:19:18

BIP141 говорит wtxid это SHA256 из [nVersion][маркер][флаг][txins][txouts][свидетель][nLockTime]. Данные хэшируются, как txid включает в себя свидетелем?

И txid быть представлены в блок, например, будет учитываться при построении дерева Меркле?

+667
John Lambert 24 сент. 2016 г., 21:35:06

Чтобы сохранить копию/переименуйте вашего кошелька.DAT вы также можете использовать один из альт-клиентам, которые имеют встроенную поддержку нескольких кошелек. Как оружейная и многоразрядные показать несколько кошельков непосредственно в пользовательском интерфейсе.

+626
Shakhu 30 июл. 2013 г., 11:33:25

Это особенность оригинальной реализации Послания подписания логики, которая была введена в Bitcoin Core в 2011.

Когда подписанное сообщение, он должен быть сериализован, прежде чем он хэшируется. Методы сериализации в Bitcoin Core являются общими между сети, хэш-прообраз, файл и т. д. сериализации, большинство из которых требуют, чтобы данные должны добавляться с компактным размером типу uint, который определяет длину данных. Таким образом, эти методы будут добавлять такой компактный размер uint с при сериализации любые данные.

Выполнение подписи логики используются те же методы сериализации для создания прообраза, что бы быть хэширован. Таким образом, строки должны предваряться их длины хэш-прообраза.

+536
Yheremi Gutierrez 10 апр. 2013 г., 4:25:00

Я сгенерировал бумажный кошелек в автономном режиме и под управлением из свежих ОС, и я не собираюсь когда-нибудь тип, что закрытый ключ в компьютер пока не пришло время тратить монеты.

Но я буду отправлять монеты на этот адрес как 'копилка'

Мой вопрос: Может ли в Qt клиент будет настроен на отслеживание и обновление доступного баланса по адрес, не закрытый ключ не вводится?

+478
DJQB 16 июл. 2017 г., 18:58:11

Возможен поиск сделок по сумме, используя блокчейн или другой веб-сайт, не имея хэш, просто диапазон или точное количество?

+443
Xerxes Battiwalla 29 мар. 2010 г., 13:41:19

Получил ответ и разместил его здесь:

https://bitcointalk.org/index.php?topic=214512.msg4998082#msg4998082

+422
Manuel Perez 1 янв. 2013 г., 15:17:49

Вот это забавная вещь о подписи ECDSA: вы всегда можете заменить С С (П) и подпись еще действительна. Поэтому, когда вы не выводящее к стоимости, возможно, что кто-то другой перевернул знак С , и вы будете иметь, чтобы отменить его. Поэтому, вы должны составить список кандидатов для к (kandidates?) а затем выберите, какой на самом деле работает. Хороший список кандидатов K будут:

  • (З1 - З2) / (С1 - С2)
  • (З1 - З2) / (С1 + С2)
  • (З1 - З2) / (С1 - С2)
  • (З1 - З2) / (С1 + С2)

Мне нравится использовать рубиновый уровнем драгоценный камень , чтобы поиграть с такого рода вещи. Вот код, который я написал, который успешно находит закрытый ключ для первого ввода данных, которые вы дали:

требуют 'уровнем'

public_key_hex = '02a50eb66887d03fe186b608f477d99bc7631c56e64bb3af7dc97e71b917c5b364'
msghash1_hex = '01b125d18422cdfa7b153f5bcf5b01927cf59791d1d9810009c70cd37b14f4e6'
msghash2_hex = '339ff7b1ced3a45c988b3e4e239ea745db3b2b3fda6208134691bd2e4a37d6e1'
304402200861cce1da15fc2dd79f1164c4f7b3e6c1526e7e8d85716578689ca9a5dc349d02206cf26e2776f7c94cafcee05cc810471ddca16fa864d13d57bee1c06ce39a3188 sig1_hex = ''
sig2_hex = '304402200861cce1da15fc2dd79f1164c4f7b3e6c1526e7e8d85716578689ca9a5dc349d02204ba75bdda43b3aab84b895cfd9ef13a477182657faaf286a7b0d25f0cb9a7de2'

группа = алгоритма ECDSA::группа::кривая secp256k1

деф hex_to_binary(ул.)
ул. сканирование(/../).карта(&:шестигранный).пакет('с*')
конец

public_key_str = hex_to_binary(public_key_hex)
открытый_ключ = алгоритма ECDSA::формат::PointOctetString.расшифруйте(public_key_str, группа)

ставит 'открытый ключ х: %#х' % открытый_ключ.х
ставит 'открытый ключ y: %#х' % открытый_ключ.г

msghash1 = hex_to_binary(msghash1_hex)
msghash2 = hex_to_binary(msghash2_hex)
sig1 = алгоритма ECDSA::формат::SignatureDerString.расшифруйте(hex_to_binary(sig1_hex))
sig2 = алгоритма ECDSA::формат::SignatureDerString.расшифруйте(hex_to_binary(sig2_hex))

значения поднимать 'р не то же самое, если sig1.Р != sig2.Р

Р = sig1.Р
ставит 'Зиг р: %#х % р
ставит 'sig1 ы: %#х' % sig1.с
ставит 'sig2 ы: %#х' % sig2.с

sig1_valid = уровнем.valid_signature?(открытый_ключ, msghash1, sig1)
sig2_valid = уровнем.valid_signature?(открытый_ключ, msghash2, sig2)
ставит "sig1 действует: #{sig1_valid}"
ставит "sig2 действует: #{sig2_valid}"

# Шаг 1: к = (З1 - З2)/(С1 - С2)
поле = по алгоритму ECDSA::PrimeField.новый(группы.заказа)
З1 = алгоритма ECDSA::формат::IntegerOctetString.расшифруйте(msghash1)
З2 = алгоритма ECDSA::формат::IntegerOctetString.расшифруйте(msghash2)

k_candidates = [
 поле.мод((З1 - З2) * поле.обратная(sig1.с - sig2.ы)),
 поле.мод((З1 - З2) * поле.обратная(sig1.с + sig2.ы)),
 поле.мод((З1 - З2) * поле.обратная(-sig1.с - sig2.ы)),
 поле.мод((З1 - З2) * поле.обратная(-sig1.с + sig2.ы)),
]

private_key = шь
k_candidates.каждый у |к|
 далее, если группа.new_point(к).х == р
 private_key_maybe = поле.мод(поле.мод(sig1.с * к - З1) * поле.инверсия(Р))
 если открытый_ключ == группа.new_point(private_key_maybe)
 private_key = private_key_maybe
конец
конец

закрытый ключ кладет ': %#х' % private_key

Выход из программы:

открытый ключ х: 0xa50eb66887d03fe186b608f477d99bc7631c56e64bb3af7dc97e71b917c5b364
открытый ключ y: 0x7954da3444d33b8d1f90a0d7168b2f158a2c96db46733286619fccaafbaca6bc
Зиг Р: 0x861cce1da15fc2dd79f1164c4f7b3e6c1526e7e8d85716578689ca9a5dc349d
sig1 ы: 0x6cf26e2776f7c94cafcee05cc810471ddca16fa864d13d57bee1c06ce39a3188
sig2 ы: 0x4ba75bdda43b3aab84b895cfd9ef13a477182657faaf286a7b0d25f0cb9a7de2
sig1 действует: правда
sig2 действует: правда
закрытый ключ: 0xe773cf35fce567d0622203c28f67478a3361bae7e6eb4366b50e1d27eb1ed82e
+348
wwwkatiwww 29 июл. 2013 г., 3:18:31

Если я уйду немного от темы, я рекомендую вам внедрить решение, используя закон доверяет ли ваша юридическая система, она включена.

Я все еще о рекомендуем вам доплата кошелек, как это с открытым исходным кодом. Вы даже можете сделать это в вашей собственной компании.

Вы должны помнить, что вы можете использовать HD-кошелька с доплата. Вы можете использовать Bitcoin Трезор с доплатой, так что у вас есть сильная охрана. И все это может быть сохранен в безопасном месте.

+334
Jack A 26 нояб. 2017 г., 15:22:30

Вы спрашиваете о двух разных вещах, поэтому непонятно, какой ответ правильный.

Да, подрезают полный узел проверяет все сделки. Вот почему его еще называют полный узел.

Нет, подрезать не совместима с txindex.

Но, вы уверены, что вам нужно txindex? Если вы только принимать платежи для себя не надо txindex.

+304
pandersraisin 1 нояб. 2019 г., 15:09:59

Какой самый лучший способ ввести биткоин для семьи и друзей? У кого-нибудь успешный опыт в теме?

+303
anika3160 4 июн. 2012 г., 17:26:04

Я читал сайт, но они предполагают, что вы уже знаете, почему это ценно. Кто-нибудь может просветить меня по этому вопросу?

+290
kjyon2 7 июл. 2010 г., 2:44:16

Если вы хотите получить полную функциональность и установка недоверчивым, вам нужно запустить свой собственный биткойн-узел, чтобы посмотреть блокчейн, и запустить реализацию молнии (ЛНД, с-молнией или эклер) на вершине.

  • ЛНД использует BTCD или Bitcoin ядро (начиная с версии v0.4?)
  • с-молния использует ядра биткоин
  • Эклер использует ядра биткоин

Но вы не может работать полный узел на ваш мобильный телефон, таким образом, мобильный узел молния/бумажник для подключения к удаленному узлу биткоин. Это, вероятно, может быть достигнуто, используя текущие SPV, но это плохо для конфиденциальности и я не в курсе мобильное приложение, которое делает это. В будущем, другой метод (нейтрино) будет использоваться для этой цели, на котором опробуется в тестовом режиме.

Вы уже можете использовать Эклер молнии бумажник на вашем (андроид 5+) телефон. Не знаю, как они подключаться к удаленному узлу биткоин. Это приложение также поддерживает открытие канала на случайный узел.

Для полного узел ЛНД, без конфигурации, так как у этого узла есть функция "автопилот", который открывается и закрывается автоматически каналы.

+272
Nonsuch Ned 15 сент. 2019 г., 22:01:59

Существуют ли какие-либо уроки о том, как dnsseeder установки на новые альткоины. Я боролся с этим за последние пару дней.

Я изменение догкоин сеялки и я просто не могу установить на мой сервер. Мой демон монета работает на том же АРМ сервер. Я открыл порты 53 и для демона и RPC. У меня только один IP работает как демон и dnsseed. Мое понимание заключается в том, что чем больше узлов подключения к dnsseed, он будет автоматически добавлять узлы в его списке DNS.

я поставил это на GoDaddy записи

dnsseed.example.com -> ИС 

и IP работает dnsseeder.

Вот я бегу

./dnsseed -ч dnsseed.example.com -Н ИС

и я вижу это

Поддержка фильтров белый список: 0х1,0x5,0x9,0xd
Нет электронной почты на заданный адрес. Пожалуйста, используйте -м.

Когда я проверить dnsseed работает,

команды netstat -АНП

Я не мог найти любой процесс прослушивает порт 53.

Как я могу проверить, если dnsseed работает? Спасибо за ваше время, как я считаю, эта тема смущает.

+207
frz 11 дек. 2011 г., 0:52:14

Для удобства использования я рекомендую приложение Coinbase. Это веб-кошелек с мгновенным сервисом.

+137
Sriram Srinivasan 3 окт. 2018 г., 21:30:57

Я что-то подобное в PHP с использованием https://github.com/aceat64/EasyBitcoin-PHP подключение к полному bitcoind клиента, а не Электрума. Также Ввнешних API, если вы будете.

С другой стороны, он будет скачать весь блокчейн. С другой стороны, только вверх-к-Дата он обрабатывает почти всю тяжелую работу, описанных во втором пункте.

Пока я не ассоциирую пользователей/транзакций как вы описываете, если я сделал я бы расследовать ли счетов поддерживается в bitcoind клиент будет помочь вам:

$адрес = $биткоин->getnewaddress($функция user_id)
смотрит, чтобы связать два таких, что
$баланс = $биткоин->метода getbalance($ид_пользователя, 6)
даст вам баланс с более шести подтверждений этого пользователя во всех его адресов.

+85
Ann Lesley Williams 25 сент. 2011 г., 9:21:22

Показать вопросы с тегом