И SHA256 * 2 в заголовке - что я делаю не так?

Я экспериментировал с PHP-код здесь: https://en.bitcoin.it/wiki/Block_hashing_algorithm (после исправления небольшой ошибки в размере $х=; значение $x=""; )

С этих блоков 0 и 125552 (например) он отлично работает и я получаю ожидаемый хэш.

С блоками 225552 и 300000, я получаю:

7a7bb195e8bcc8e73205df7906eb68f26144c6fbc577d59dd4e8a0cfdb8b90df (а не 00000000000001f4f14b09019b23d71c222a2c1245ef3df52875d79ff4488709)

и

178d6fe6cbf696311e7f46263067eeb688797e4c790060c1f6edf6daec76c59e (а не 000000000000000082ccf8f1557c5d40b21edabb18d2d691cfbf87118bac7254)

...соответственно - что не совпадает с хеш-либо блока.

Что я упускаю или делаю неправильно?

Дополнительное примечание - Я подтвердил эти результаты, используя "в OpenSSL dgst -SHA256 для двоичных тест-сигнала.Бин |в OpenSSL dgst -то SHA256"...

В дополнение к этому, используя код Python с той же страницы:

>>> импорт hashlib
>>> header_hex = ("01000000" +
... "81cd02ab7e569e8bcd9317e2fe99f2de44d49ab2b8851ba4a308000000000000" +
... "e320b6c2fffc8d750423db8b1eb942ae710e951ed797f7affc8892b0f1fc122b" +
... "c7f5d74d" +
... "f2b9441a" +
... "42a14695")
>>> header_bin = header_hex.декодирования('Хекс')
>>> хэш = hashlib.и SHA256(hashlib.и SHA256(header_bin).дайджест()).дайджест()
>>> хэш.кодировать('hex_codec')
'1dbd981fe6985776b644b173a4d0385ddc1aa2a829688d1e0000000000000000'
>>> хэш - [:: -1].кодировать('hex_codec')
'00000000000000001e8d6829a8a21adc5d38d0a473b144b6765798e61f98bd1d'

...работает отлично... но:

>>> импорт hashlib
>>> header_hex = ("01000000" +
... "7ef055e1674d2e6551dba41cd214debbee34aeb544c7ec670000000000000000" +
... "d3998963f80c5bab43fe8c26228e98d030edf4dcbe48a666f5c39e2d7a885c91" +
... "02c86d53" +
... "6c890019" +
... "593a470d")
>>> header_bin = header_hex.декодирования('Хекс')
>>> хэш = hashlib.и SHA256(hashlib.и SHA256(header_bin).дайджест()).дайджест()
>>> хэш.кодировать('hex_codec')
'9ec576ecdaf6edf6c16000794c7e7988b6ee673026467f1e3196f6cbe66f8d17'
>>> хэш - [:: -1].кодировать('hex_codec')
'178d6fe6cbf696311e7f46263067eeb688797e4c790060c1f6edf6daec76c59e'

...получает тот же ошибочный результат, так как PHP-код.

+454
Alex Deva 9 февр. 2017 г., 19:16:35
22 ответов

Компании ice3x новый и усовершенствованный сайт для южноафриканцев.

Покупать и продавать: биткоин (БТД) / Лайткоин (ЛТК) / Рэнд (ZAR).

Ссылки непосредственно на ваш счет в Южной Африке банк. Быстрый и прямой передачи электронного платежа на наш банковский счет, хранение валюты и быстрой торговли.

+994
lenko 03 февр. '09 в 4:24

Делает слой горной использовать что-то похожее на "HTTPS" для защиты трафика между бассейном и шахтеры?

+973
mithrandir 24 окт. 2017 г., 5:59:41

Мы просто сделали нашу биржи MarginCall, с открытым исходным кодом. Проверить. Мы идем с новым проектом, где каждый может запустить его в обмен и соединить их в глобальной системе ECN.

Это написано в эликсир и PHP, а также включает в себя API-интерфейс и клиенты для этого API.

Исходный код.

https://www.reddit.com/r/Bitcoin/comments/33y97d/our_contribution_to_bitcoin_community/

+960
user3718497 8 апр. 2019 г., 22:01:28

Я следовал этой серии видео ( https://www.youtube.com/watch?v=mDGxGYvkDEE ) для создания альт-монеты, порождения Лайткоин версии v0.8, которой я следовал видео и успешно получать деньги.

Сейчас я пытаюсь сделать то же самое с биткоином (версии v0.8). Я выбрал биткоины версии v0.8 поскольку исходный код очень похож на Лайткоин версии v0.8. Все работает так же, как в развилке лайткоинов, за исключением той части, где я есть мое бытие блока.

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

Некоторые исследования, которые я сделал:

  1. Лайткоин использует Scrypt пока биткоин использует алгоритм SHA-256.
  2. Сложность может быть снижен путем изменения блока.nBits в генезис блоке создания кода.
  3. Для биткойн - блока.nBits = 0x1d00ffff; и для лайткоинов блока.nBits = 0x1e0ffff0. Из этого я предполагаю, что чем больше значение, тем ниже цель.

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

Как я могу настроить это регистрация в Bitcoin источника, начиная с версии v0.8.

Алгоритм интеллектуального анализа генезиса, представленная в видео-серии не работает в Bitcoin источник из-за алгоритме Scrypt. Так что я добавил Очень простой код в мой блок.

 функции printf("в поисках бытия заблокировать...\Н");
 // Это позволит выяснить действительные хэш и Окказиональной, если вы
 // создание различного генеза блока:

 uint256 hashTarget = CBigNum().SetCompact(блок.nBits).getuint256();
 блок.nNonce = 0;
 uint256 minHash = блок.GetHash();

 функции printf("хэш-цель= %з\п", hashTarget.Метод toString().c_str());

 в то время как(правда) {
 хэш = блок.GetHash();
 если(хэш - < = hashTarget) {
перерыв;
}
 если(хэш < minHash) {
 minHash = хэш; 
 функции printf("Код = %д, хэш=%з\п", блок.nNonce, minHash.Метод toString().c_str());
}
блок.nNonce++;
}


 хэш = блок.GetHash();
 функции printf("Код = %д, хэш=%з\п", блок.nNonce, хэш.Метод toString().c_str());
+953
ColCh 9 мар. 2013 г., 0:35:48

Несколько дней назад я получил биткоин трафика, который содержит некоторые сообщения TX. некоторые сообщения Техас содержать данные свидетеля. Я хочу сделать всех адресов вывода из вывода скриптов сделки. Я извлек некоторые из них, но в некоторых случаях, однако сгенерированный выходной адрес представляется правильным, но я не могу найти их на некоторых сайтах, как

https://www.blockchain.com

как пример, в Техас сценарий выхода, который показан ниже, как я могу извлечь истинный адрес?

00142f82e61a98eb7027672760c691784d5fbccf7ce3

похоже, скрипт, который имеет код_оператора = 0x00 и нажимаем длина данных = 0x14.

+881
esea123 25 янв. 2016 г., 13:13:47

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

+877
user2199561 23 февр. 2016 г., 4:22:43

Так что, если я хотел, чтобы Bitcoin как форма метода, где пользователи могли платить, как бы я сделать это? Очевидно, есть PayPal, где покупатель отправляет деньги через ПП, который разгоняет продавцу. Итак, мне нужно иметь этот тип системы на моем сайте, а также. Там ничего похожего на биткоины?

Спасибо!

+869
Seth Crosby 2 нояб. 2018 г., 13:37:02

Сценарий:

Вы работаете в узел bitcoind и прослушивание входящих блоков/сделок. Вы получите ТХ 1, который ставится на ваш mempool. Блок заминирован, и включает в себя Техас 1, который впоследствии удаляется из своего mempool. Блоки B и C заминированы, потерянных блока А. Блок ни в, ни с-Техас 1, поэтому его ставят обратно в mempool, которые должны быть включены в новый блок

Вопрос:

Как именно узел узнаем, что он должен включать ТХ1 раз в mempool? Это TX 1 эфир и получали таким же образом, как когда он был впервые транслировалась в узел? Или другими словами, если я слушаю для приема входящих блоков/сделок, это передается мне во второй раз или все-таки клиент "знает" только, чтобы вернуть его в mempool?

Дайте мне знать, если мое понимание является неправильным, или если вам нужна дополнительная разъяснения!

+862
Anoracx 13 июн. 2010 г., 4:56:03

Следующий протокол базируется на предоставлении задатка образец договора и предыдущий ответ.

При размещении заявку, участником торгов и аукционистом сделать следующее:

  1. Обе генерации новых открытых ключей.
  2. Участник создает транзакцию (депозит), который отправляет его заявку на multisignature сценарий, требующий подписи обоих вновь сгенерированные ключи тратить. Затем он посылает свой идентификатор аукционистом.
  3. Аукционист генерирует транзакции (возврата), который тратит депозит и отправляет деньги обратно покупателю. Он устанавливает время блокировки (nLockTime) в какое-то время после окончания аукциона. Он также создает транзакцию (платеж), которая тратит депозит и отправляет деньги к себе.

    Аукционист знаки возвращения, но не оплаты. Обе сделки не действительны без подписи участника. Он отправляет обе сделки на цену.

  4. Участник проверяет, что сделки, которые, как ожидалось, и что аукционист подпись на возврат действителен. Он вещает депозит. Он также знаки оплаты и отправляет его на аукциониста.
  5. Аукционист проверяет претендента подпись на оплату. Как только депозит будет подтвержден, то такой участник деньги заблокированы и не могут быть потрачены участником аукциона до завершения.
  6. После окончания аукциона, аукционист знаки и передачи платежных транзакций, соответствующая выигрышная ставка. Другие участники могут иметь свои заявки возвращается путем передачи в эфир вернуться транзакций, когда она становится действительной, или они могут сотрудничать с аукционистом, чтобы их ставки возвращаются сразу.

Сейчас есть небольшая проблема: аукционист может претендовать на несколько предложений. Чтобы решить эту проблему, у аукциониста обеспечить небольшой якорь выходных и сделать все платежные операции проводить этот выход. Сейчас в большинстве одной из платежных транзакций могут быть приняты в сети. Конечно, участникам необходимо проверить, что платеж проводит, что выход до его подписания, а также, чтобы убедиться, что тот же якорь используется для всех участников.

+762
Marcelo Espinosa 25 июн. 2013 г., 14:30:36

Я, возможно, пропустили несколько, но вот основные из них базируются в США:

Заметь, что многие другие обменов из других стран могут принимать средства через АСН.

+754
Ahmed Zayed 1 окт. 2018 г., 5:13:26

Если ваша цель просто получать стабильный биткоин-узел работает, и не способствовать сети, вы можете добавить слушают=0 на ваш Bitcoin.файл conf. Это обычно (хотя не всегда) сохраняет ваши загрузки пропускной способности в узде.

Если вы хотите внести свой вклад в биткоин-сети, не используя слишком много вашей собственной пропускной способности, однако, есть способы ограничить скорость загрузки для ядра Биткоин (Биткоин-Кварты), только. Инструкции зависят от вашей операционной системы, поэтому ниже приводится разбивка о том, что делать с каждой ОС.

Важное примечание: Если вы ограничиваете пропускную способность ядра биткоин гораздо ниже ваших фактических скорость загрузки, это на самом деле может нанести вред сети Bitcoin, а помогать ему. Чтобы быть ответственным специалистом по обслуживанию сети Bitcoin, вы должны проверить вашу скорость загрузки, а затем установить ограничение на пропускную способность, чтобы быть как можно ближе к вашей фактической скорости, как это возможно (например, 90%). Это руководство предназначено исключительно для людей, чей интернет соединения идут зависания из-за ядра биткоин полностью насыщая их скорость загрузки.

Следующие инструкции являются сокращениями от этой статьи я недавно писал: https://www.maxlaumeister.com/blog/how-to-limit-bandwidth-of-bitcoin-core-on-windows-mac-os-and-linux/


Биткоин ограничение пропускной способности на Windows

  1. Скачать и установить NetBalancer.

  2. Начать с Bitcoin Core, если он еще не запущен.

  3. Запустить NetBalancer.

  4. Найти “bitcoin-qt.exe” в списке запущенных приложений в диалоговом NetBalancer и дважды щелкните его, чтобы изменить свои правила пропускной способности.

  5. В разделе “приоритет загрузки” выбрать “общество”, установить максимальную пропускную способность для ядра биткоин в использовании, и подтвердить.

Ты молодец! NetBalancer теперь будет сидеть в фоновом режиме и убедитесь, что Bitcoin ядро не использует больше пропускной способности, чем вы хотите.


Ограничение пропускной способности на Mac ОС Х

ОС Х 10.10 Йосемити и позже

Для OS X 10.10 Йосемити и позже, не существует простого способа, чтобы ограничить полосу пропускания для конкретного приложения, но в целом пропускная способность системы может быть ограничена следующим образом:

  1. Посетить разработчиков Apple загрузки и войдите в свой идентификатор Apple.

  2. Поиск для “аппаратные средства ввода-вывода средств для Xcode” и скачать последнюю стабильную (не бета) версии.

  3. Открыть .DMG и дважды щелкните значок “сеть Интернет ссылке.prefpane ПО” для установки расширения prefpane. Отныне вы можете включить/отключить сетевые соединения кондиционера с системой предпочтений.

  4. На панели кондиционера сетевое соединение в настройках системы, пункт “управление профилями”, затем нажмите кнопку “+” для добавления нового профиля.

  5. Редактировать профиль и добавить желаемую максимальную скорость загрузки.

  6. Сохраните изменения, выйдите из менеджера профилей, выберите ваш новый профиль, и флип большой переключатель для включения лимитера.

Для Mac OS будет разместить значок в трее уведомление, чтобы вы помните, что это на. В отличие от решений Windows/Linux это будет ограничивать пропускную способность для всей вашей системы, так что будьте уверены, чтобы выключить его вы не используете ядра биткоин.

ОС X 10.9 Mavericks и более ранние версии

Для ОС X 10.9 Mavericks вы можете использовать IceFloor настроить пропускную способность правила. Для 10.8 горный лев и раньше, использовать Waterroof. Кроме того, если вы хотите простой способ, чтобы контролировать общую пропускную способность системы ограничивать, а не только ядра биткоин, следуйте приведенным выше инструкциям для OS X 10.10 Йосемити и позже.


Ограничение полосы пропускания на Linux

  1. Убедитесь, что у вас есть ТС установлен путем ввода ТС в командной строке. Если вы получаете ошибку “команда не найдена”, установите TC, используя ваш любимый менеджер пакетов. Если вы основанный на Debian дистрибутив, самый простой способ установить ТС с помощью apt-получить:

    судо apt-получить обновление

    судо apt-получить установку такие как iproute2

  2. Скачать сценарий tc.sh с официального биткоин основного репозитория с помощью wget:

    с wget https://raw.githubusercontent.com/bitcoin/bitcoin/master/contrib/qos/tc.sh

  3. Откройте скрипт в текстовом редакторе. Найдите строку, которая говорит, что если="eth0 В" и изменить интерфейс eth0 для отражения сетевой интерфейс, соединение с интернетом проходит через. Чтобы получить список компьютера сетевые интерфейсы, используйте команду ifconfig в командной строке. Мой компьютер подключен по беспроводной сети через wlan1, поэтому если линия моей tc.sh выглядит это так:

    Если="wlan1"

  4. LINKCEIL должны отражать ограничения сетевого интерфейса, и, скорее всего, не должны быть изменены.

    LINKCEIL="1 Гбит"

  5. Изменение лимита для максимальной пропускной способности, биткоин ядра использовать (я выбрал 1Мбит). Если вы не имеете любые другие биткоин основных узлов вашей локальной сети, вы можете удалить строку, которая говорит LOCALNET. Эта линия есть сделать исключение полосы пропускания на порт 8333 коммуникаций внутри вашей локальной сети (т. е. не в сети).

    Предел="1Мбит"

    Оставьте остальные команды в одиночку tc.sh если вы не знаете, что вы делаете. Окончательный верхней части моей tc.sh в итоге выглядела так:

    #сетевой интерфейс, на котором лимит трафика
    Если="wlan1"
    
    ограничьте сетевого интерфейса в вопрос
    LINKCEIL="1 Гбит"
    
    #ограничить количество исходящих Биткойн-протокол трафик на этом тарифе
    Предел="1Мбит"
    
  6. Выйдите из редактора и сделать скрипт исполняемым, выполнив следующую команду:

    чмод +х ./tc.sh

  7. Выполните скрипт в качестве суперпользователя:

    судо ./tc.sh

    Ваш биткоин основной пропускной способности будут ограничены, пока вы не перезагрузите компьютер!

При необходимости, вы можете установить скрипт для запуска каждый раз, когда вы начинаете ваш компьютер. Инструкции для запуска скриптов при загрузке системы будет варьироваться в зависимости от вашего дистрибутива Linux. На Ubuntu, один из способов запустить скрипт при загрузке , добавив скрипт в ваш файл/etc/rc автомобиль.локальный файл.

Заключение

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

+741
Kurt Lippert 21 окт. 2013 г., 17:29:17

Я хочу купить полный биткоины по текущей цене. Но компания только позволяет мне покупать по $250 с шагом. Куда я могу пойти купить целый биткоин?

Я бы пошел Localbitcoins.com но их гонорары, как правило, слишком высока.

Так что мне нужно это низкая плата способ покупки целый биткоин.

Спасибо

+675
Ed Mechem 3 апр. 2017 г., 10:26:39

Приходят несколько возможных причин на ум:

  1. Люди на самом деле уверены, что все пройдет хорошо: это самый маловероятный сценарий, учитывая все остальное, это демпинг, который является ожидаемым поведением паники.

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

  3. Люди продают свои взлеты и двигаться на BTC массово воспользоваться хард-форк и получить биткоин деньги, когда он разбивает: я думаю, что это тоже очень вероятно, и объясняет нынешнее поведение.

Я лично способствовал 3-й вариант.

+586
Grox Ni 16 апр. 2011 г., 16:20:11

Если вы не будете осуществлять прослойка на вашем сервере для подключения в "пул мода" в свой демон, вы должны использовать getwork или прямых методов подключения к шахте.

+528
jwgreg 13 нояб. 2014 г., 6:50:49

Никто не говорит, что это так далеко. Поэтому я: это звучит, как вы взломали. Кто-то или что-то скопированный ваш кошелек.DAT-файл и зашифровать его, прежде чем вы имели шанс. Теперь они контролируют средства, а не вы.

+465
Moshe Jonathan Gordon Radian 4 нояб. 2018 г., 21:17:48

Каждый адрес-это индивидуальный адрес. Вы можете иметь несколько адресов в один кошелек, но вы не можете иметь несколько адресов, указывающих на один и тот же ключ.

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

Помните, для резервного копирования кошелек каждый раз, когда вы создаете адрес, если это не HD-кошелька, или помните, для резервного копирования семя слова, если это.

+429
owdco 26 нояб. 2015 г., 8:37:07

Добавить некоторые узлы, чтобы помочь ускорить его, если он зависает здесь немного.

Сначала открыть биткоин.conf с помощью блокнота или Notepad++

Типа "добавление узла" и ИС

Пример задача addnode=66.228.49.201

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

+429
AamirR 27 мар. 2012 г., 1:37:28

Я пытаюсь написать BIP11-совместимый клиент C#, который создает 2 из 2 или 2 из 3 транзакций.

Я также пытаюсь понять, если 3 сделки 3 также поддерживается.

Этот пример говорит, что они создают PS2H адрес, но я уверен точно, что сценарий находится в стадии подписания, а смысл из параметров "2" в addmultisigaddress, и что происходит, когда addmultisigaddress называется.

Я исследовал бип в ЭКП документациии на форумах. Я путаюсь, где, если и когда P2SH нужен.

+331
Syed Ahmar Ali 27 апр. 2011 г., 7:54:26

Вместо того, что я сделал, чтобы снова запустить кошелек и заставить его забыть неподтвержденные транзакции, используя:

Файлы C:\Program (х86)\Bitcoin\bitcoin-qt.exe --zapwallettxes=1

И удалили мою локальную копию mempool. (Файл называется mempool.DAT в папке биткоина данных)

(Заняло около часа, чтобы пересканировать)

А потом еще раз в том же направлении с более высокие гонорары (сделаны из того же исходного узла, так что только одна из этих операций может происходить, минуя другие)

+291
DLosc 2 мар. 2010 г., 19:51:20

С общества общее количество биткоинов, и люди теряют свои кошельки постоянно уменьшается, что количество, не свирепствует дефляция уничтожить биткоин?

+260
user66239 2 янв. 2018 г., 8:07:34

используйте бесплатные easyminer от https://sourceforge.net/projects/easyminer/ , это правильный инструмент для тестирования скорости майнинга,Майнинг биткоинов или лайткоинах..также нет ограничений аппаратных , ЦПУ и ГПУ добычи допускаемые.Пока этот инструмент доступен только для Windows.

+78
qdequippe 18 февр. 2018 г., 21:36:40

Первый блок с половинки блока субсидия 420,000. Однако, блоки обнаружен в случайный процесс, тогда как протокол направлен для блоков нашли примерно каждые десять минут, в сущности блоки в настоящее время примерно каждый 8.94 минут. Поэтому можно только оценить точное прибытие наполовину:

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

Таким образом, представляется вероятным мне, что сокращение будет происходить на 8-м, 9-м или 10-го июля. Естественно, никаких прогнозов будет увеличиваться в точности как вдвое ближе.

+71
Natarajan R 29 янв. 2012 г., 21:39:44

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