Что же них. это {"ошибка": "недопустимый маркер"} в смысле?

Я создаю веб-приложение, которое использует них. для платежей. Я пишу это в Ruby (но это не важно), и есть метод класса bitpay_client с телом них.:: клиент.новый('mYs3cretAPIkey').

В любое время я делаю BitcoinInvoice.bitpay_client.получить("счет-фактура/#{invoice_id}") я получаю в формате JSON {"ошибка": "недопустимый маркер"} с сервера. В них. в документации нет упоминания об этом сообщение. Я использую правильный ключ API, и я уверен, что это реальный счет. Что же значит это послание?

+93
user38221 15 янв. 2011 г., 14:20:30
15 ответов

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

Если вы установили xxd, вы могли бы попробовать:

е "my_value_as_string" | xxd в

Если нет то xxd (систем тип BSD):

е $( эхо "my_value_as_string" | СЭД с/[[:xdigit:]]\{2\}/\\х&/г') > tmp_file.наговор
шестнадцатеричного представления -с tmp_file.наговор

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

исправление: добавлена 16 января 2018 года, 17:30

Я скопировал файл со страницы BIP39 в bip39_words.txt и потом быстро собрал этот скрипт. Он работает вперед и назад, и слегка прокомментировал... этот скрипт создает правильное значение хэша и хэш байт с примером строки (на самом деле слово "случайный" и SHA256 бы):

#!/Бен/ш
Эхо " "
Эхо "создать 128 бит (32 байта/64 символов) пример строки: "
Echo "случайная" | в OpenSSL dgst -то SHA256

Эхо "проверить длину, должно быть 64"
е "87c1b129fbadd7b6e9abc0a9ef7695436d767aece042bec198a97e949fcbe14c" | сан. узел-с

Эхо "преобразовать в шестнадцатеричный файл для подготовки и SHA256"
е $( эхо "87c1b129fbadd7b6e9abc0a9ef7695436d767aece042bec198a97e949fcbe14c" | СЭД с/[[:xdigit:]]\{2\}/\\х&/г') > tmp_file.наговор

Эхо "проверить содержимое файл hex"
шестнадцатеричного представления -с tmp_file.наговор

Эхо "сделать SHA256 на это, и берем первый байт"
в OpenSSL dgst -SHA256 на <tmp_file.наговор

Эхо "получит первый байт"
в OpenSSL dgst -SHA256 на <tmp_file.шестигранный | вырезать -с 10,11

Эхо "объединить в шестнадцатеричную строку, и проверьте длина=264 бит (33 байта, 66 символов)"
е "87C1B129FBADD7B6E9ABC0A9EF7695436D767AECE042BEC198A97E949FCBE14C0D" | сан. узел-с

# преобразовать Hex в двоичную строку
Эхо "obase=2;Сайт iBase=16;87C1B129FBADD7B6E9ABC0A9EF7695436D767AECE042BEC198A97E949FCBE14C0D" | до н. э.
# в результате в этой строке:
# 10000111110000011011000100101001111110111010110111010111101101101110
# 10011010101111000000101010011110111101110110100101010100001101101101
# 01110110011110101110110011100000010000101011111011000001100110001010
# 100101111110100101001001111111001011111000010100110000001101

# петле в каждом 11-м Чаре через строку поиска слово
смещение=10
от=1
к=$смещение

 Эхо "бит декабря + 1=строка --> слово"
 Эхо " (файл+ 1 причина начинается с номер строки 1)"
 Эхо "==== ============================================="
 в то время как [ $до Ле 256 ]
делать
 к=$(( $с $зачет ))
 word11bits=$( е "100001111100000110110001001010011111101110101101110101111011011011101001101010111100000010101001111011110111011010010101010000110110110101110110011110101110110011100000010000101011111011000001100110001010100101111110100101001001111111001011111000010100110000001101" | "вырезать" - Б $от-долларов )
 word_num=$( Эхо "сайт iBase=2;$word11bits" | до н. э. )
 word_line=$(( word_num + 1 ))
 слово=$( СЕПГ -Н ${word_line}п bip39_words.txt )
 функции printf "%11С %4С + 1=%4С %11С \п" $word11bits $word_num $word_line $слово
 из=$(( $к + 1 ))
сделано

Эхо " "
эхо "############################ а теперь назад ############################"
Эхо " "

е "бит декабря <-- слово \п"
# петле в каждом 11-м Чаре через строку поиска слово
 за словом в нападении двигателя март воин талант Роя сорвут задание подготовить нож трубы человек студент кости получают аналитик салют искусств чистой древесины противника туристический обед как
делать
 строка=$( грэп -Н ^$слово$ bip39_words.txt | вырезать -д: -Ф1 )
 строка=$(( $строки - 1 ))
 word_bits=$( Эхо "obase=2;$Линия" | до н. э. )
 функции printf "%11С %5С %11С \Н" $word_bits $линии $слово
сделано


Эхо " "
Эхо "заполнения пространства с" 0 " показывает это:"
Эхо "1000011111000001101100010010100111111011101011011101011110110110111010011010101111000000"
Эхо "1010100111101111011101101001010101000011011011010111011001111010111011001110000001000010"
Эхо "1011111011000001100110001010100101111110100101001001111111001011111000010100110000001101"

Эхо " "
Эхо "преобразование строки в hex:"
bitstr1=$( Эхо "obase=16;ibase=2;1000011111000001101100010010100111111011101011011101011110110110111010011010101111000000" | до н. э. )
bitstr2=$( Эхо "obase=16;ibase=2;1010100111101111011101101001010101000011011011010111011001111010111011001110000001000010" | до н. э. )
bitstr3=$( Эхо "obase=16;ibase=2;1011111011000001100110001010100101111110100101001001111111001011111000010100110000001101" | до н. э. )
Эхо $bitstr1
Эхо $bitstr2
Эхо $bitstr3

Эхо " "
Эхо "объединены в одно шестнадцатеричное значение:"
с printf "%ы%ы%з\п" $bitstr1 $bitstr2 $bitstr3
Эхо " "
Эхо "оригинальные 32bytes/строки 64chars был:"
Эхо "87c1b129fbadd7b6e9abc0a9ef7695436d767aece042bec198a97e949fcbe14c"
Эхо " "
Эхо " "
+839
user207732 03 февр. '09 в 4:24

Стороны могут заключить договор для доставки и выплаты на чем угодно, в том числе Bitcoin. В отсутствие формальных обмен, стороны должны принять риск того, что их контрагент не в состоянии выполнять по контракту, и должна отработать юридические детали каждого контракта в отдельности. Официального обмена, таких как CME или на COMEX выполняет должной осмотрительности со стороны покупателя и продавца и держит маржу в качестве залога в отношении способности сторон выполнить, такие, что обмен может смело выступать в качестве контрагента как покупателя, так и продавца на фьючерсные контракты. Биржи также стандартизации условий договоров, что снижает судебные издержки и увеличивает взаимозаменяемость контрактов, что значительно повышает ликвидность рынка фьючерсного контракта.

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

+664
maogenc 30 мая 2018 г., 0:10:38

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

+649
Yevgeniy Boreesov 26 мар. 2019 г., 10:07:03

Я хочу сделать криптовалют платежей на PHP на моем сайте, все уже инфо "ОК". Проблема лишь в том, как узнать, если мой член уже платят платежи, и если уже платить обновление моей базы данных,

кто-нибудь знает об этом?

+616
fabricioflores 13 нояб. 2013 г., 4:11:25

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

+412
meghantosh 27 авг. 2017 г., 10:04:56

Все XRPs стоит ту же сумму, независимо от каждого шлюза вы используете их?

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

Вопрос

  • Как влияет величина сообщества нормализации всех рынках?

  • Это нормализация часть процесса проверки сделано OpenCoin, для обеспечения качества шлюзы?

  • Что происходит в шлюз, который имеет больше сообщества, чем золото? .. или будет плохой актер, кто неблагонадежен (Мэдофф)?

+409
Faisal Mukhtar 26 февр. 2010 г., 1:43:31

Я когда-то создавал аккаунт биткоин

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

и получил адрес

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

Что происходит с моим переводом?

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

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

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

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

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

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

20-30% всех биткойнов, будут потеряны навсегда и никогда не могут быть потрачены ни на кого вообще.

+402
luigi Soviero 2 окт. 2018 г., 16:07:17

В blockexplorer показывает баланс БТЦ еще в газете бумажник, а не в Электруме кошелек.

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

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

Два или более кошельков могут содержать один и тот же биткоин-адрес и, следовательно, обе кошельки, можно сказать, "содержать" те же деньги (БТД).

Поэтому если оба кошелька содержат один и тот же биткоин-адрес, блокчейн-исследователь не сможет сказать вам, что сумма в кошельке, а не в другом.

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

Если ваш новый Eelectrum кошелек не показывает такой же баланс, как блокчейн-Explorer показывает на Bitcoin-адрес, он предполагает, что кошелек не содержат, что биткоин-адрес (или содержит более одного биткоин-адрес с неизрасходованным суммам, или не полностью синхронизированы)


А руководство для начинающих Электруме кошелек говорит

на вкладке "адреса" ... будут скрыты по умолчанию. Чтобы открыть ее, выберите Показать адреса пункт Просмотреть меню.

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

Вы также можете проверить статус синхронизации:

Если блок графа под “блокчейн” равна высоте указаны для сервера, к которому вы подключаетесь, Электрум будет полностью синхронизированы

+386
binary 17 июн. 2010 г., 17:52:35

Может кто-нибудь сказать мне, что происходит с моей операции ...

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

Я думал, что они отменены, поэтому я сделал еще один с высшим плату. После этого, когда я проверить его в блокчейн это был "двойной транжира" таг и в Электрум был "неофициальный". Еще через 24 часа еще раз, что сделка исчез и мой баланс вернулся. Сегодня я попытался пошевелить BTC на другой кошелек .. сделал сделка с высокую плату и еще не подтвердились и я не могу видеть ее в блокчейн. Может кто-нибудь сказать мне, что я делаю неправильно? Мои предыдущие 15 операции прошел без каких-либо проблем ...

+292
user36083 27 янв. 2015 г., 2:48:19

Лично я бы искал недавно провел выходов в отличие от TXIDs. Выходы уходит так же, как и в атаке ковкость.

Чтобы создать хеш из входов в сделку, а когда приходит TX в расчет, что внутренняя хэш и проверить это.

+249
Avantika Saini 27 мар. 2010 г., 7:33:47

Я установил биткоин ядром и друг прислал мне 0.2 биткоинов, используя адрес автоматически в ядра биткоин. Однако, Биткоин-ядра не удается извлечь блок цепи и пытается перезагрузить; который занимает несколько дней. Поэтому я никогда не получил биткоины.

У меня есть адрес для приема.
Я могу использовать это в другого (надеюсь, более надежный ) кошелек? например, Электровый.

+224
Mert 2 февр. 2018 г., 10:27:15

Попробовать CoinCorner - все основные кредитные карты и дебетовые карты не принимаются.

+148
Redd 8 окт. 2015 г., 3:20:52

Мы знаем, что биткоин распределенные регистры хранятся в сериализованном блокчейн на основе операций порядок Хроника.

Текущий размер базы данных составляет около 100 ГБ. Как они могут легко найти в этой базе? Например, если у меня есть бумага-бумажник ранее загружены некоторые биты от Xapo, и я стараюсь выкинуть ее стоимость биткоина в кошелек доплата (не Xapo), она занимает около 75 второй для поиска и баланс!

Так, как они могут искать в этом большом сериализованной базе в течение этого короткого времени? Я спрашиваю о технологии, за что!

+147
zamanyambose Nyambose 16 авг. 2019 г., 0:24:01

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

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

У меня эта ошибка при попытке загрузки блока от сверстников

Ошибка: AcceptBlockHeader: консенсус::ContextualCheckBlockHeader: 90e718e6878f4b7ae4de4ae83db75881d00ca017f5a117c2054798bcb76c4178, БАД-версия(0x00000002), отклонены nVersion=0x00000002 блок (код 17)
2017-07-28 04:12:10 ошибка: неверный заголовок получил
2017-07-28 04:12:10 ProcessMessages(заголовки, 162003 байт) не равный=0
2017-07-28 04:12:10 получит версию сообщение: /Сатоши:1.0.0/: версия 70002, блоков=3293, США=х.х.х.х:12815, равный=1

в

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

 // Проверяем доказательство работы
 если (блок.nBits != GetNextWorkRequired(pindexPrev, и блок, consensusParams))
 возвращение государства.Дос(100, ложь, REJECT_INVALID, "плохо-diffbits", ложь, "неправильные доказательства работы");

 // Проверяем метку против пред'
 если (блок.GetBlockTime() <= pindexPrev->GetMedianTimePast())
 возвращение государства.Неверные(ложные, REJECT_INVALID, "время-слишком старый", "метка времени блока слишком рано");

 // Проверяем метки
 если (блок.GetBlockTime() > nAdjustedTime + 2 * 60 * 60)
 возвращение государства.Неверные(ложные, REJECT_INVALID, "время-тоже-новая", "заблокировать метку слишком далеко в будущее");

 // Отбросить устаревшую версию блоков для 95% (75% в тестовом режиме) из сети модернизировала:
 // проверяем для версий 2, 3 и 4 обновление
 если((блок.nVersion < 2 && простого >= consensusParams.BIP34Height) ||
 (блок.nVersion < 3 && простого >= consensusParams.BIP66Height) ||
 (блок.nVersion < 4 && простого >= consensusParams.BIP65Height))
 возвращение государства.Неверные(ложные, REJECT_OBSOLETE, strprintf("плохой-версия(значение 0x%08x)", блок.nVersion),
 strprintf("отклонил nVersion=значение 0x%08x блок", блок.nVersion));

 если (блок.nVersion < VERSIONBITS_TOP_BITS && IsWitnessEnabled(pindexPrev, consensusParams))
 возвращение государства.Неверные(ложные, REJECT_OBSOLETE, strprintf("плохой-версия(значение 0x%08x)", блок.nVersion),
 strprintf("отклонил nVersion=значение 0x%08x блок", блок.nVersion));

 возвратите True;
}

в настройках генезис блоке у меня

 бытие = CreateGenesisBlock(1498204210, 215446, 0x1e0ffff0, 1, 500 * монета);

но у меня в старых источниках этот параметр

 // Проверяем, что блок цепи совпадает с известным блокировать цепи до контрольно-пропускного пункта
 если (!Контрольно-пропускные пункты::CheckBlock(простого, хэш))
 возвращение государства.Дос(100, ошибка("AcceptBlock() : отклонены КПП с блокировкой на %D", а простого));

 // Не принимаем никаких вилок от главной цепи до последней контрольной точки
 CBlockIndex* pcheckpoint = ориентир::GetLastCheckpoint(mapBlockIndex);
 если (pcheckpoint && простого < pcheckpoint->простого)
 возвращение государства.Дос(100, ошибка("AcceptBlock() : раздвоенный цепи старше последнего контрольно-пропускного пункта (рост на %D)", простого));

 // Отклонения блок.nVersion=1 блоков (mainnet >= 710000, тестовом режиме >= 400000)
 если (nVersion < 2)
{
 если ((!fTestNet && простого >= 710000) ||
 (fTestNet && простого >= 400000))
{
 возвращение государства.Неверный(ошибка("AcceptBlock() : отклонен nVersion=1 блок"));
}
}
 // Исполнения блока.nVersion=2 правило, что компания начинается с сериализованный блок высота
 если (nVersion >= 2)
{
 если ((!fTestNet && простого >= 710000) ||
 (fTestNet && простого >= 400000))
{
 Команду cscript ожидать = команду cscript() << простого;
 если (vtx[0].ВВХ[0].scriptSig.размер() < ожидать.размер() ||
 !СТД::равный(надейтесь.начать(), ожидать.конец(), vtx[0].ВВХ[0].scriptSig.начать()))
 возвращение государства.Дос(100, ошибка("AcceptBlock() : высота блока рассогласования в blockchain кошелек"));
}
}
}

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

+120
ZorkiiSokol 16 мая 2016 г., 23:51:52

Я бегу BitcoinUnlimited по giga_perf филиал Bitcoin в regest режим, и я замечаю другой формат, чем P2PKH в scriptPubKey при запуске listunspent через RPC.

Обычно я вижу scriptPubKey в формате P2PKH:

'76a914' + b58check_to_hex(адрес) + '88ac'

Но с этой реализации я вижу:

'2103' + ??? + 'переменного тока'

Некоторые примеры ниже, в каком формате проходят эти scriptPubKey в?

{
 "txid": "07ad742b0bab1c5e65fe720459747aa687d293fef0d0f168297bcaafbe73f17b",
 "Uвых": 0,
 "адрес": "mrjTCJGC7aYdZsy3gUJMpBesgtH1ymybsn",
 "scriptPubKey": "21031f5ce0854d50e632bd7002ae5aff977396376082e45329fcdf1af52ab68f766bac",
 "сумма": 50.00000500,
 "подтверждений": 101,
 "расходуемого": правда
}, 
{
 "txid": "d7f623f59d8fa37eea5fafeb3819ecd76750bea9bb48d453e0eb13426c7e707e",
 "Uвых": 0,
 "адрес": "n2Faf95smgYu6e9aBVAwwzp6oULnL7SSss",
 "scriptPubKey": "21039ff795e5433e67b418e100938ac72e2713a1661c15f48a5c198a5086d96285beac",
 "сумма": 50.00000000,
 "подтверждений": 108,
 "расходуемого": правда
}
+89
Elmer Thomas 19 нояб. 2014 г., 19:32:27

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