Как использовать биткоин-питон

Я пытаюсь создать биткоин адрес биткоин-питон библиотека. Я попробовал этот код:

импорт bitcoinrpc
bitcoinrpc.connect_to_local().getnewaddress()

Но я получил эту ошибку:

ошибка: [значение errno 10061] подключение не может быть, т. к. конечный компьютер отверг

Я бегу демон bitcoind. Почему я получаю эту ошибку и как это исправить? или может кто-то направить меня на самый легкий путь научиться разрабатывать с Bitcoin -

+683
MaX1287 15 мар. 2016 г., 23:59:35
19 ответов

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

Вы можете использовать его как это:

требуют('CryptoPHP.php');
$wif_key = 'Kzy3fea4xCwLczAj3g8TYvDw6QRKCMqvvzx2j7vaxgy78vhierdv'; //это ваш ключ Виф 
$private_key = $этом -> wif2key($wif_key); //получаем Виф ключ шестигранный секретный ключ
$хэш = 'просто образец текст'; //это то, что вы пытаетесь подписать.

$подпись = $этом -> знак($хэш,$private_key);
+977
380969699028 03 февр. '09 в 4:24

Есть много отличий в поддерживаемых функциях, но принципиальное отличие в архитектуре: встроенный и клиент-серверных узла протокола Bitcoin и кошелек.

BitcoinJ-это Java-библиотека для размещения упрощенную или полную проверку биткоин узел и кошелек в приложение.

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

+975
Billy Cruse 25 мар. 2018 г., 3:34:01

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

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

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

+948
illiquent 5 авг. 2010 г., 19:46:43

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

+921
Toel 11 янв. 2016 г., 8:48:42

От того, что я знаю, да. Существуют бумажник и Blockchain данных независимо друг от друга. Файл кошелька отслеживает все транзакции, связанные с самой, что появилась в блокчейн, а также информацию о последнем блоке он увидел. Если вы используете старый кошелек на новый блокчейн, клиент должен сканировать любые блоки, которые пришли после последней синхронизации Уоллер и, соответственно, обновлять информацию.

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

+897
Mir Muhammad Muhammad 30 авг. 2013 г., 12:24:25

Какая будет плата в $ за 500$ сделки ?

+851
user31179 24 янв. 2010 г., 1:51:21

Вы можете получить UTXO баланс для Zcash Т-адрес с помощью https://chain.so/api/ API-интерфейса https://chain.so/api/v2/get_tx_unspent/ZECTEST/t2BqpZq16caHXC92LDTWg2pc8RQdmRFw5dF в тестовом режиме.

+790
miscemw 28 окт. 2018 г., 9:02:29

Нет, нет решения этой проблемы. По данным этого на GitHub вопрос, Эклер версии v0.2-beta9 полностью несовместимы с Bitcoin ядро 0.18. Следующий выпуск Эклер будет исправить это.

+671
Dylan DuClos 27 мая 2016 г., 18:09:22

Биткоин секретного ключа всегда есть ровно один соответствующий открытый ключ от биткоин-адрес могут быть получены. Деривация путей выглядит следующим образом: Закрытый ключ -> открытый ключ -> биткоин-адрес. Если вы, например, только публичный ключ вы можете определить биткоин-адрес, но не закрытый ключ. Дали только адрес Bitcoin вы можете на самом деле даже не определить лежащие в основе открытого ключа.

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

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

+668
user59230 13 сент. 2013 г., 7:53:51

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

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

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

Это значит, что обмен будет только написать на блокчейн при передаче валюты или вывести деньги с биржи?

+665
Blue Ice 24 нояб. 2011 г., 21:06:31

Я хотел бы сделать форк биткоина, так как это новый тренд ;)

Первое, что я сделал, чтобы создать Docker-образ операционной системы Ubuntu со всеми зависимостями, то я хотел, чтобы запустить программное обеспечение, - но первое, что он сделал после того, как я его построил и запустил загрузку был начать пытаться подключиться себя в реальном мире сеть Bitcoin- не то, что я хочу!

Что я хочу сделать, это определить свою собственную сеть, что я могу просто работать на некоторых машинах, которые находятся под моим личным контролем - передавать по кругу монеты - все типичные вещи - проверьте кошелек- очень простой

но я в растерянности, как это сделать.

Я сказал , что мне нужно изменить chainparams.cppэто так? Если да, то что для этого нужно делать?

Это единственное, что мне нужно изменить? если есть другие вещи, каковы они?

+652
Belo4ka 13 июн. 2015 г., 5:15:52

Я работает Bitcoin-Qt в 0.15.01 на имак (4 ГГц Intel сердечника i7, ОЗУ 40ГБ). Похоже, я получаю новейшие блоки, но остальное работает как надо?

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

Основные доклады 19 подключений к сети, но журнал имеет много ошибок, как эти:

09:20:08' прогресс=1.000000 кэш=64.8 Мб(478821txo)
2017-10-01 09:21:26 Connect (), чтобы 65.130.52.89:8333 не после выбрать(): соединение сброшено (61)
2017-10-01 09:21:36 получите версией сообщение: /Сатоши:0.14.1/: версия 70015, блоков=487780, нас=Н. Н. Н. Н.: 8333, равный=1634
2017-10-01 09:21:44 получите версией сообщение: /Снупи:0.2.1/: версия 70001, блоков=0, ус=Н. Н. Н. Н.: 8333, равный=1635
2017-10-01 09:21:44 гнездо приема ошибка соединение сброшено Пеер (54)
2017-10-01 09:21:46 получите версией сообщение: /Сатоши:0.14.1/: версия 70015, блоков=487780, нас=Н. Н. Н. Н.: 8333, равный=1636
2017-10-01 09:22:28 получите версией сообщение: /bitnode.ли/: версия 70015, блоков=487780, нас=Н. Н. Н. Н.: 8333, равный=1637
2017-10-01 09:22:49 UpdateTip: новый лучший=000000000000000000792640fb97fb9a8ed07ba99b37479a48ebbeff3b1c1044 высота=487782 версии=значения 0x20000000 log2_work=87.201974 ТХ=258394764 дата='2017-10-01 09:22:42' прогресс=1.000000 кэш=64.8 Мб(479294txo)
2017-10-01 09:23:27 ProcessMessages(версия, 111 байт) не равный=1638
2017-10-01 09:23:37 получите версией сообщение: /bitnodes.21.ко:0.1/: версия 70015, блоков=487780, США=Н. Н. Н. Н.: 8333, равный=1639
2017-10-01 09:23:39 предварительно выделить до установки 0x7000000 в blk01013.дат
2017-10-01 09:23:39 UpdateTip: новый лучший=000000000000000000a86b2c788d7d3acd3493b05b2e8a626d7a5aca20a3ecc1 высота=487783 версии=значения 0x20000000 log2_work=Техас=258397039 дата='2017-10-01 87.202013 09:23:00' прогресс=1.000000 кэш=65.1 Мб(482014txo)
2017-10-01 09:23:51 UpdateTip: новый лучший=высота 0000000000000000004927be61b84dc22202b49e55e635ce746023436c1ed14d=487784 версии=значения 0x20000000 log2_work=Техас=258397146 дата='2017-10-01 87.202051 09:23:51' прогресс=1.000000 кэш=65.2 Мб(482144txo)
2017-10-01 09:24:04 гнездо приема ошибка соединение сброшено Пеер (54)
2017-10-01 09:24:07 получите версией сообщение: /биткоин-сеялка:0.01/: версия 60000, блоков=350000, США=Н. Н. Н. Н.: 8333, равный=1640
2017-10-01 09:24:18 получите версией сообщение: /bitcoinj:0.14.4/: версия 70014, блоков=437811, США=127.0.0.1:8333, равный=1641
+339
akotian 22 окт. 2019 г., 4:42:05

Во-первых, нет "каждый биткоин". На техническом уровне, нет такого объекта как "биткоин". Скорее, это книга о сделках, и Биткоин, что люди собственные записи о том, что Леджер.

Когда биткоин будет украден, дополнительно добавляется к ГК, который говорит, что биткойн переходит от первоначального владельца в вора. Эта сделка точно такая же, как и любой другой биткойн-транзакций; он говорит, что деньги передаются от человека к человеку Б.

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

+281
JiMMaR 3 мар. 2018 г., 16:04:57

Ваша оценка-правильная.

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

Некоторых ответ на вашу заботу в их FAQ здесь

Зачем мне брать, если я могу просто продать?

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

Заимствования эфира для участия в различных Ико, Покупка другие жетоны обмен на различные инвестиционные стратегии, без необходимости продавать жетоны, Кредитование альткоинов и жетоны для короткой продажи или хеджирования, Финансирование интеллектуального разложения, Финансы для блокчейн-стартапы, Покупка рынка.

Этот список расширяется еще больше, когда мы включаем доллар привязан Etheruem кредиты:

Держать больше Эт в бычьем рынке, Покупки активов с $, при этом ваш крипто портфолио безопасный,

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

+280
genisage 4 мар. 2019 г., 4:10:04

7 транзакций в секунду умножить на 60 равно в минуту умножить на 60 равно в час умножаем на 24 равняется в день = 604800 Сатоши отправили в отдельных операциях.

Однако узлы фильтра так называемая "пыль" сделок. Минимальная сумма вывода по сделке, которая будет ретранслироваться в сеть 546 Сатоши. Итак: 330220800 Сатоши = 3.302208 БТЦ, чтобы заполнить сети в течение дня.

(Как пояснили в, http://www.reddit.com/r/Bitcoin/comments/37z9ln/how_much_btc_needed_to_fill_entire_1_mb_block/crqzv63)

+268
Irfan Syah 26 авг. 2018 г., 6:31:18

Я не хочу показаться грубым (и я не хочу, поэтому прошу прощения, если я оторваться, как таковой). Но для этого нужно прочитать еще некоторые документы и изучить основы биткоин. Эта страница является действительно хорошим местом, чтобы получить идеи https://en.bitcoin.it/wiki/Running_Bitcoin ТТ говорит нам, что мы можем использовать интернет -версию Qt Bitcoin на разрешить в JSON-RPC с добавление строки к биткоин.файл conf

биткоин.файл conf, который обычно расположен

/Пользователи/Имя пользователя/библиотеки/application поддержки/биткоин/Биткоин.конф

Добавьте эту строку в биткоин.конф

сервер=1

Теперь причина его 1 против 0 потому что мы хотим его.

Также нужно добавить имя пользователя и пароль для подключения RPC

rpcuser=insertuserhere rpcpassword=passwordgoeshere

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

Для OSX инструкции по сборке и заметки ридми здесь проведет вас через шаги. https://github.com/bitcoin/bitcoin/blob/master/doc/build-osx.md

Кроме того, в целях развития XAMPP это хорошо, но пожалуйста, не используйте его на производство устройства, он полон уязвимостей и дыр. И если вы не решите прислушиваться к моим советам, позвольте мне рассказать вам историю о том, как 150 БТЦ были украдены мое отсутствие безопасности. Я использовал XAMPP и я использовал Друпал. я использовал силовых методов, описанных на оба. но есть брешь в безопасности, которая была неоткрытых в то время и бац, он пропал. если вы должны иметь в XAMPP, то, пожалуйста, ради Сатоши твердеют сервер как можно лучше https://security.stackexchange.com/questions/15310/securing-firewalls-for-xampp-on-mac-os-x

Пожалуйста, дайте мне знать, если я могу помочь вам больше. Я более чем рад провести некоторое время работает через код. и помогает некоторые базовые неисправности. но мое предостережение: будьте осторожны и сделать тщательного тестирования перед началом использования биткоин в "Дикий Запад" ака машинизации - многие люди настолько неуверены в себе множество окон, что это шок, больше средства не украли. Помните, что биткоины-это деньги, каждый хакер захочет денег.

Еще раз спасибо за чтение, удачи. Держите в касании

+266
Emmanuel Derozin 21 авг. 2017 г., 9:25:08

Поведение mempool или сирота Техас бассейн не должно влиять на действительность блоки на всех.

Когда блок поставляется в:

  • main.cpp:метода processmessage занимается обработкой сообщений и отправлений:
  • main.cpp:ProcessNewBlock занимается конкретно блок обработки сообщения, который сохраняет его на диск с помощью AcceptBlock и затем вызывает:
  • main.cpp:ActivateBestChain пытается проверить потенциально новые лучшие цепи и переключиться на него. Для каждой атомной "реорганизации" шаг, он призывает:
  • main.cpp:ActivatebestChainStep , который будет пытаться проверить новые блоки будут добавлены к кончику цепочки, используя:
  • main.cpp:ConnectTip который выполняет фактическую обработку с помощью:
  • main.cpp:ConnectBlock, который будет перебирать блока транзакции и проверить свои материалы, используя:
  • main.cpp:CheckInputs которая строит список CScriptCheck объектов для каждого сценария выполнения должны быть выполнены, которые проверяются из другого потока. ConnectBlock ждет этих потоков, чтобы закончить и разобраться с результатом. В эти потоки, мы называем:
  • main.cpp:CScriptCheck::оператор() , которая выполняет одну капсулированные выполнение скриптов, используя:
  • script/interpreter.cpp:VerifyScript делать проверку скрипта, который состоит из выполнения scriptPubKey + свои расходы scriptSig используя:
  • script/interpreter.cpp:EvalScript.

Так, EvalScript() должно быть выполнено для всех scriptPubKeys, которые тратятся на блок, до этого блоки заканчивает тем, что принято в качестве чаевых.

+110
smsearcy 22 июн. 2014 г., 12:33:48

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

В xpub/xprv/и т. д. строки просто больших чисел, представленных в базы-58, В отличие от базы-10 мы все знакомы. Если мы хотели взять "обычный" 5-значный номер и префикс, скажем, 889 на фронт, мы бы просто добавить 88900000 на 5-значный номер:

12345
+ 88900000
----------
88912345

Рабочей базы-58-это по сути тот же, но как всегда дьявол в деталях, потому что мы должны преобразовать из большой базы-58 номер большой базы-256 количество ("основание" массив байтов, который является, что мы ищем).

Далее следует скрипт на Python 3, который может быть запущен из командной строки, например, чтобы добавить строку xpub до 74 байт данных (длина BIP32 расширенного ключа, не включая 4 трейлинг проверьте байт), байтов в начале до базы-58-кодирования:

$ питон3 xpub prepend_bytes.py 74
0х04, 0x88, 0xb2, 0x1e

#!/usr/Бен/ОКР питон3

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


# таблицы подстановки для преобразования целых чисел в диапазоне [0, 58) до базы-58 цифры и обратно
int_to_b58_digit = '123456789ABCDEFGHJKLMNPQRSTUVWXYzabcdefghijkmnopqrstuvwxyz'
b58_digit_to_int = { b58:я для Я,b58 в перечисление(int_to_b58_digit) }

# конвертации (длинный) целое число к его основанию-58 строковое представление 
деф int_to_base58_str(int_rep):
 base58_str = "
 в то время как int_rep:
 int_rep, остаток = divmod(int_rep, 58)
 base58_str = int_to_b58_digit[остаток] + base58_str
 возвращение base58_str


деф prepended_bytes(prepended_b58_digits, b256_digit_count):

 # оны представляют собой особый случай в формат base58check;
 # граф и удалить их, они будут добавлены позже
 те = 0
 для b58 в prepended_b58_digits:
 если b58 != '1':
перерыв
 одни += 1
 prepended_b58_digits = prepended_b58_digits[1:]
 если не prepended_b58_digits: # если они все 1
 вернуть те * б'\0'

 # калькулятор # из base58 цифр, необходимых для b256_digit_count байт "реальные" данные
 # (не включая префикс base58 цифр)
 b58_digit_count = Сэл(b256_digit_count * журнал(256) / журнал(58))

 do_overflow_check = истина
 в то время как правда:
 # расч минимальное целое число, которое начинается с нужной цифры в базы-58
 min_int = 0
 для b58 в prepended_b58_digits:
 min_int *= 58
 min_int += b58_digit_to_int[b58]
#
 # Left-сдвиг (мульт. по мощности 58) просто слева от "реальной" базы-58 сведения
 min_int *= 58 ** b58_digit_count

 # раскомментируйте, чтобы можно проверить, что min_int правильно
 #печати(" min_int:", из них * '1' + int_to_base58_str(min_int))

 # сдвиг вправо, кратными 8 битам (база-256), чтобы получить только
 # значащий байт, которые находятся слева от "реальной" базы-данных 256
 min_int >>= b256_digit_count * 8
 # правильно-shifing округляет min_int, но мы
 # это нужно сгоняют, поэтому добавляем его в Вместо
 min_int += 1

 # потому что min_int были округлены вверх выше, вполне возможно, что добавив его в "Реал"
 # данные могут привести к переполнению базы-58 делает prepended_b58_digits инкремент
 # один; если это могло случиться, влево-вправо prepended_b58_digits и повторить
 если do_overflow_check:
 max_real_data_int = (1 << b256_digit_count*8) - 1
 max_base58_str = int_to_base58_str((min_int << b256_digit_count*8) + max_real_data_int)
 если не max_base58_str.как startswith(prepended_b58_digits):
 prepended_b58_digits += '1'
 do_overflow_check = ложь # это не имеет значения, если '1' добавленный выше переливается в '2'

 # раскомментируйте, чтобы подтвердить, что максимальное возможное значение
 # не нужные базы-58 добавлен цифр
 #печати("разольется", те * '1' + max_base58_str)

далее

 # добавить любой из них в соответствии с правилами в base58check, и конвертировать min_int в байтовую строку
 вернуть те * б'\0' + min_int.to_bytes(длина= (min_int.bit_length() + 7) // 8, byteorder='большой')


если __имя__ == '__главный__':
 если LEN(sys файла.из argv) != 3:
 Сыс.выход('использование: {} <строка-добавить> <данные байт-лен (кроме 4-байтовой контрольной суммой)>'.формат(представление sys.аргумент argv[0]))

 результат = prepended_bytes(Сыс.из argv[1], инт(представление sys.из argv[2]) + 4) # 4 добавить к контрольной сумме
 печать(', '.присоединяйтесь к('{:#04x}'.формат(я) для меня в итоге))
+104
Pim Hazebroek 9 апр. 2012 г., 10:08:37

Проверить libbtc (https://github.com/libbtc/libbtc), после компиляции вы получаете командной строки приложения под названием bitcointool.

libbtc компилируется без внешних зависимостей (скомпилировать его с помощью--disable-нет , если вам не нужно libevent на основе P2P, сетевые функции).

Затем вы можете создать суб-ключ от вашего хозяина что-то вроде...

./bitcointool -команда hdderive -ключевого М/1 -привчной xprv9s21ZrQH143K3C5hLMq2Upsh8mf9z1p5c4quxjkiodssihp324ynwpffrjvp7gqocjkz4oakvwzn5cugrythtnrvgqu5du2gn8mpm9jhvfc

(также должны работать для открытого ключа деривации)

Может быть, проверить документы: https://github.com/libbtc/libbtc#the-bitcointool-cli

+42
Sharon Wright 19 окт. 2015 г., 5:34:54

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