Antminers - можно контролировать по протоколу SNMP, а также настроить файл конфигурации хрона вакансии

У меня antminer и очень громко. Можно ли настроить работу хрона прекратить добычу полезных ископаемых, применить новый файл конфигурации с более низкой тактовой частотой и заданной скорости вентилятора в одночасье? Затем сделать то же самое в 7 утра, но разогнать его, чтобы компенсировать меньшую мощность сети на ночь.

Они также совместимы по SNMP? Хотелось бы следить за температурой и если система перезагружается.

+443
jacquie 3 сент. 2016 г., 21:26:12
30 ответов

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

За последний tar-файлов: https://electrum.org/#download

В будущем, как бы я идти об обновлении Электрум? Какую команду мне использовать для обновления?

Кроме того, где установлен Электрум файлы, которые содержат мои личные ключи и кошелек?

enter image description here

+989
njkzfknftd 03 февр. '09 в 4:24

Вы можете вычислить это самостоятельно. Использовать API, чтобы получить прибыли и убытки за период 14 очков и положил его в формуле, описанной здесь: http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:relative_strength_index_rsi

+988
ZachHofmeister 30 дек. 2016 г., 21:14:05

и сожалею о вашей потере.

Вы можете сделать поиск файла для "кошелька.дат" на его компьютер(Ы) и поиск по всему диску(с), включая вложенные папки, и скрытые файлы. Обратите внимание, в каком каталоге он находится. Если он находится в каталоге "биткоин", вы, возможно, нашли бумажник. Если да, то просто попробуйте и запустить его биткойн-клиент (программа) и посмотреть, если вы можете получить доступ к данным кошелька. Если Сомс вверх, он покажет вам баланс. Если нет баланса, то любой БТЦ, что у него, возможно, были сохранены в "обмен" кошелек или бумажный кошелек, somwehere в интернете. если есть баланс, он может изменится на другой кошелек, или отправлены в обмен на денежные стоимости. Это может, возможно, быть защищен зашифрованным паролем, который вы должны выяснить, прежде чем вы можете делать с ней что угодно.

Искать текстовые файлы, также (.txt) файл, который может содержать свой логин и пароль(ы). Они могут быть под одним из ряда программ, таких как Microsoft Office, в блокноте, в WordPad. и т. д.

Вы должны дать немного больше информации, мы можем помочь больше. Какую операционную систему он использовал (Windows 7 и Windows XP, и т. д.)

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

Я буду хранить свои данные в текстовый файл, называется "(что-то)_login.txt" и я держать их в зашифрованном виде, но я всегда держу копию пароля. Он ,возможно, также сохранить их на USB-накопителе, если вы видите какие-либо заложить вокруг, что это самый надежный способ их сохранить.

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

Я могу дать более подробные инструкции, если я знаю, какую операционную систему он использует (Windows 7 и Windows XP, и т. д.)

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

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

Одна вещь, я могу, также, предположить, что у вас есть друг, компьютерщик, пусть он/она осмотрелась вокруг на компьютер, чтобы помочь, но держать глаз на него, а я не доверяю никому. Не позволяйте никому ничего удалить, период. Заставить их работать на нем, то и есть. БТЦ стоит много денег, и вы можете потерять значительную сумму, если он делал это на некоторое время.

+956
Lan Nguyen 6 февр. 2016 г., 12:08:01

О Bitcoin, Что более анонимно?

1.с помощью сервиса смешивания(я слышал, есть много мошенничества)

2.покупка с Amazon подарочные карты в Paxful

+947
gusenicaA 6 нояб. 2010 г., 14:55:05

Биткоин-исследователь команды ВХ принести-заголовок -Т 1 выбирает первый биткоин блока и показывает блок заголовка.
Если я проверю "первого" блока заголовка, где "предыдущий блок, хэш" берутся?

bx fetch-header

+920
user79295 25 окт. 2011 г., 4:30:36

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

+896
WarlordSmoke 1 мар. 2010 г., 19:33:06

Реализация по умолчанию не дам тебе мою, если ты не подключен к сверстникам (за исключением на тестовой сети регресс), потому что любые блоки шахты вы не сможете быть распределены. Проверьте Шахтер.НПК::идти() (https://github.com/bitcoin/bitcoin/blob/v0.9.3/src/miner.cpp#L512-L517).

Вы можете создать свой собственный искусственный метод добычи, как MineGenesisBlock(), в chainparams.cpp и запустите его при инициализации каждого набора параметров. Таким образом, вы не должны повернуть добычу на ('setgenerate True' с) помоему генезис блока.

+866
archiman 4 июл. 2011 г., 5:41:09

Устойчивость, как биткоин может продолжать работать в менее оптимальных условиях. Примеры включают в себя сбои в работе сети, в автономном режиме обработки транзакций, отдельный ключ передачи собственности, альтернативные сети (например, радио, DASH7, сетки, сети, Bluetooth, коммуникация ближнего поля и т. д.).

+858
Satya Mishra 15 мая 2019 г., 23:11:14

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

Там более подробный и более актуальный пример тратя P2SH multisig выход на Bitcoin.org разработчика примеры страниц.

+784
Alexh 1 июл. 2019 г., 7:02:53

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

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

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

Совместимость стало возможным, потому что даже когда SegWit используется и присутствует, то SegWit клиента, рассчитает txid , зачистив проводки обратно в устаревший формат (удаление свидетеля частей) перед хэшированием. В txid общего между SegWit и не SegWit клиентов в качестве средства, чтобы определить, какие сделки идет речь. SegWit клиенты могут определить данные по wtxid , который является хэш-код сериализации транзакций с свидетель формате - но это wtxid не используется как часть txOutPoint сослаться на предыдущие сделки - txid всегда используется.

SegWit сделок совместимость с non-поддержка программного обеспечения клиентов, потому что сделки с его свидетелем данных зачищен от Кажется, как будто это ANYONECANSPEND сделки - стек остается ненулевое значение на вершине оценив scriptPubKey, который указывает на успешное оценке.

+747
Brian McKaig 1 июн. 2011 г., 19:52:12

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

+626
John Barr 1 окт. 2010 г., 1:05:16

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

UTXOs должны быть полностью израсходованы, так что, скорее всего, общая стоимость сумма вклада будет больше, чем сумма, которую вы хотели передать. Там где выходы изменения вступают в игру (дополнительные выходы вы получаете). Для того, чтобы избежать того, чтобы отправить большую сумму, чем вы хотели адрес назначения (addr_dst), разница между суммой затрат (ви) и значение, которое будет отправлено (во) направляется к смене адреса (addr_chng), я.е:

во - плату отправляется addr_dst

ви - во - плату отправляется addr_chng

Что изменение адреса обычно принадлежат вам.

+535
Firefaiii 20 мая 2011 г., 21:03:41

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

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

+532
step231220 6 сент. 2015 г., 1:35:57

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

mempool.дат был введен в 0.14.0 и будет сохраняться в mempool на выключение. Для того, чтобы очистить mempool вы должны:

  1. Отключение ядра Биткоин $ Биткоин-Кинк -testnet3 стоп
  2. Удалить mempool.дат $ РМ ~/.биткоин/testnet3/mempool.дат
  3. Перезапустите демон $ bitcoind -тестовом режиме -zapwallettxes

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

Еще одно замечание: если вы только хотите удалить операций, связанных с ваш кошелек, вы можете пропустить Шаг 2: https://github.com/bitcoin/bitcoin/pull/10330

+519
LSZ 7 дек. 2017 г., 18:39:41

Я хочу создать биткоин моделирования, где я могу имитировать распространения информации аналогична реальной сети Bitcoin.

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

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

+497
baha alligator 27 сент. 2014 г., 13:54:59

20 ОФЗ откройте панель мини буровых установок (каждая, $30К) даст о 30THash/сек мощность майнинга за $600к. Это путь выше 60% хэш-мощности то всего 51THash/сек.

10.694 м общая биткоин * 18.5 $текущая бирже MtGox лучше задать скорость = 197.839 $м

Так, ОФЗ должны доставить, по крайней мере, 6595 такие шахтеры, или цена ее основе, (общая стоимость всех Bitcoin / нет шахтеров планируют отгрузить).

Это значит, эти шахтеры цене так низко, или на данный момент биткоины сравнительно ценится так высоко? Или эти два параметра просто не связаны?

Обратите внимание, что эти шахтеры еще не отправлен.

+488
enoy 5 дек. 2018 г., 12:04:11

Любая разница между стоимостью, содержащейся в материалах и общая стоимость мероприятия будет потеряна навсегда.

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

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

Три соответствующих настоящим Правилам являются:

  1. Для обычной сделки: Σ(входы) ≥ Σ(выходы)
    Разница может быть собрана как плата за сделку.
  2. Для Coinbase транзакции: вывод ≤ блок субсидия + операционные издержки
    Выход равен блока субсидий и сборов, когда Шахтер собирает его в полном объеме.
  3. Для блока: Σ(входы) + блок субсидии ≥ Σ(выходы)
    Опять же, это все равно, когда Шахтер собирает максимальное вознаграждение.
+483
Johny Cage 27 апр. 2014 г., 18:28:44

Безусловно, ваша идея заметна, но есть некоторые тонкие моменты нужно учитывать, некоторые из них я постаралась собрать в этой. Похожие идеи в существование и сообщество работает, чтобы исправить отверстия. Я предлагаю прочитать о Casper(PoS для Эфириума), Algorand(Микали Ы), биткоин-НГ, теоремы Cap, византийского соглашения и т. д.

2) протокола блокчейн занимает х и далее (допустим) 100 транзакций и ставит их в блок.

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

К1. Кто будет иметь право создать блок и как это решить? Кроме того, как обеспечить справедливость среди шахтеров, что они получат взамен пропорциональные затраты.

В2. Кроме того, что дает им возможность участвовать в протоколе консенсуса

Распределенные одноранговые узлы проверить все транзакции в этом блоке. Они все работают на тот же консенсус блок протокола, а не создавать отдельные конкурирующие блоки.

Q3: как блока будет распространяться на всю сеть и что консенсус механизм им следовать? Он должен быть византийский договор или PoS или PoW?

Как только 51% узлов проверить и подписать, что все транзакции в протоколе блока являются законными

Q4: что составляет 51% узлов в протоколе, например в рыхлом снегу она составляет 51% вычислительной мощности. Конечно, это не может быть число узлов в сети, как минер может создать столько номеров узлов как он хочет, набирает абсолютного большинства(нападение Сибил).

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

Сейчас, учитывая выгоды, которые вы заявляете.

Дорогостоящие расчеты и потребление энергии будут устранены

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

Централизация майнинга (и его нормативно-опасный) уменьшается;

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

Ничто на кону (нос) проблема сведена к минимуму, потому что шахтеры просто не могут создать другие блоки или цепи;

Хронологическая проверка и мгновенно неизменяемые блоки предотвращения двойных расходов;

Над двумя точками неявно предполагая синхронизации между клиентами и рассмотреть теоремы cap в рассмотрение.

Монеты не будут освобождены и потратил, а не копили и поставил как POS-систем; Шахтерам платят в любое время, а не эпизодически с течением времени;

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

Я не уверен, я понял следующая вещь довольно четко.

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

+435
vdor 20 февр. 2019 г., 13:09:08

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

Как двигатель торговли вывести монеты/депозит?

+357
ZeroKG 1 июл. 2010 г., 14:32:54

Нет точных извращенец найти протокол.

Шахтер может произвольно выбрать случайное число C, чтобы выполнить хэширование операции.

Горно-математическая игра, где цель состоит в том, чтобы сделать результат хэш-функции, меньших данного числа (это то, что "в результате, начиная с X нулями" ищет). Количество непосредственно на основе текущего биткоин сложность сети и меняется каждые две недели, чтобы сохранить среднее время нахождения на 600 секунд.

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

+327
user36302 10 мая 2011 г., 18:56:35

В чем основная разница между делегирован доказательство доли (ДПОС) и доказательство Кола? Есть ли существенное преимущество для безопасности? (с пос в целом испытывает проблемы с безопасностью.) И что ДЛЦ / блокчейнами использовать ДПОС?

П. С. по ссылке, указанной в этом ответ про ОИ не существует.

+293
Yasmine 26 авг. 2010 г., 12:56:43

Каждый бип (биткоин предложение по улучшению) имеет присвоенный номер. Например , БПИ-2, БПИ-42 и бип-152. Как это число будет назначено и кем?

+195
Dan Shartle 13 февр. 2016 г., 17:09:01

У меня Биткоин в моем blockchain кошелек кошелек. Я хочу купить гофре на другой бирже, поскольку компания не торгует пульсации.

Мне скопировать и вставить мой биткоин буквенно-цифровой код от Coinbase чтобы другие биржи? или У меня руки написать приложение Coinbase биткоин-буквенно-цифровой код в окне адреса в другой бирже, которая торгует пульсации для того, чтобы пополнить blockchain кошелек биткоин на другие биржи, чтобы купить гофре с Bitcoin?

+186
Riva 19 дек. 2014 г., 14:59:57

Почему тот же самый хэш-160 имеет различные баланса в сети Bitcoin?

Хэш-160 является B0D5D1FB94B76B39EE82771027BEFD17131042FA.

В одну сторону это адрес 1H825FgspbkznbiGAnAjFjan7dmYFjpsfe , которая имеет нулевой баланс.

Второй способ, это другой адрес 3Hp2zoBKNW5NsmQhHsqKgMwiGA4FoUj9q4 , что имеет ненулевой баланс.

Я стараюсь отслеживать его на blockchain.info сайте.

Почему есть различия?

+98
Carosella Pablo Martin 14 окт. 2015 г., 5:36:03

Я понимаю, что мнение на конкретный бассейн субъективен и склонен к переменам.

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

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

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

Это выглядит как идеальный сценарий для бассейна для выкачивания всех пользователей от всех других бассейнов и стать конгломератов горнодобывающей Центральный'? Вернее, для всех остальных шахтеров в бассейн B и C для выхода.

Пожалуйста, поправьте мои предположения, если они не правы.

+86
TRex 28 сент. 2011 г., 18:09:36

Я краду Петра комментировать, потому что это должен быть ответ. ;)

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

Вы можете просто позвонить

биткоин-qт -zapwalletxes

вместо.

+58
HaydnWVN 12 июл. 2015 г., 3:05:45

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

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

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

+56
JuneEHouston 20 мар. 2011 г., 6:06:39

Есть термин появился как пост на форуме в декабре 2013 года, как - то, что я могу только предположить, чтобы быть пьяным днем трейдера. Что держит его монет, как цена падает.

Я не думаю, что он был предназначен, чтобы означать "держись за дорогой жизни", но он определенно вырос в том смысле, что как ОП объясняет, что есть три человека, неудачники (трейдеров) и победителей(для опытных трейдеров) и группа в середине, что купить и держать на для дорогой жизни. Сообщение на форуме само по себе интересно читать, и я defz рекомендуем вам проверить это самостоятельно: https://bitcointalk.org/index.php?topic=375643.0

+44
Starkey 6 дек. 2011 г., 15:34:09

Я пытаюсь "извлечь" адреса отправителя от операций OP_RETURN биткоин, но мой код не работает должным образом.

getWalletAddressOfSender(окончательной сделки Техас)

публичный статический адрес getWalletAddressOfSender(окончательной сделки Техас) {

 Адрес fromAddress = нуль;

 для (окончательной TransactionInput ти : Техас.getInputs()) {

 попробовать {

 Сценарий scriptSig = ти.getScriptSig();
 Список<ScriptChunk> чанков = scriptSig.getChunks();

 байт[] по умолчанию = scriptSig.getPubKey();
 fromAddress = новый адрес(MainNetParams.получить(), утилиты.sha256hash160(по умолчанию));// scriptSig.getFromAddress(MainNetParams.получить());

 возвращение fromAddress;

 } поймать (финал для scriptexception х) {
Системы.из.println(х.метод GetMessage());
}
}

 возвращать значение null;
}

Когда TransactionInput из адреса начиная с 3... (P2SH) scriptSig список '.getChunks()' будет иметь 5 товаров и getPubKey()' будет кидать скрипт за исключением не правильного размера, ожидал 2, но получил 5'.

scriptSig.getPubKey()

/**
 * Возвращает открытый ключ в этом скрипте. Если скрипт содержит две константы, и ничего, это считается
 * быть scriptSig (ввод) для оплаты и адреса выход и второй константа возвращается (первый
 * подписи). Если скрипт содержит постоянную и OP_CHECKSIG операции, постоянно возвращается, как это
 * предполагается прямой оплаты-ключ scriptPubKey (выход) и первый постоянный публичный ключ.
*
 * @бросает для scriptexception если сценарий ни один из названных форм.
*/
публичных байт[] getPubKey() броски для scriptexception {
 если (чанки.размер() != 2) {
 бросить новый для scriptexception("скрипт не правильный размер, ожидал 2, но получил" + куски.размер());
}
 окончательный ScriptChunk chunk0 = ломти.получить(0);
 последний байт[] chunk0data = chunk0.данных;
 окончательный ScriptChunk chunk1 = ломти.получить(1);
 последний байт[] chunk1data = chunk1.данных;
 если (chunk0data != значение null && chunk0data.длина > 2 && chunk1data != значение null && chunk1data.длина > 2) {
 // Если у нас есть две большие константы предполагать, что входные на платные и адресов вывода.
 возвращение chunk1data;
 } остальное, если (chunk1.equalsOpCode(OP_CHECKSIG) && chunk0data != значение null && chunk0data.длина > 2) {
 // Большой постоянный последующим OP_CHECKSIG ключ.
 возвращение chunk0data;
 } еще {
 бросить новый для scriptexception("сценарий не совпадает с ожидаемой форма:" + это);
}
}

Поэтому я изменил код, чтобы

публичный статический адрес getWalletAddressOfSender(окончательной сделки Техас) {

 Адрес fromAddress = нуль;

 для (окончательной TransactionInput ти : Техас.getInputs()) {

 попробовать {
 Сценарий scriptSig = ти.getScriptSig();
 Список<ScriptChunk> чанков = scriptSig.getChunks();
 если(чанки.размер() > 2) {
 Системы.из.Print("это сделка 5 чанков... ");
 байт[] pubKeyHash = scriptSig.getPubKeyHash();
 fromAddress = адрес.fromP2SHHash(MainNetParams.получить(), pubKeyHash);
 } еще {
 байт[] по умолчанию = scriptSig.getPubKey();
 fromAddress = новый адрес(MainNetParams.получить(), утилиты.sha256hash160(по умолчанию));// scriptSig.getFromAddress(MainNetParams.получить()); 
}

 возвращение fromAddress;
 } поймать (финал для scriptexception х) {
Системы.из.println(х.метод GetMessage());
}
}

 возвращать значение null;
}

но он также будет бросить еще одно исключение-скрипт не в стандартной форме scriptPubKey' (когда чанки.размер() > 2)

scriptSig.getPubKeyHash()

/**
 * <P>если программа соответствует стандартным шаблоном HASH160 ДУП &ЛТ;по умолчанию хэш&ГТ; EQUALVERIFY опция -- checksig
 * тогда эта функция получает третий элемент.
 * В этом случае, это полезно для получения адреса назначения сделки.</п>
 * 
 * <P>если программа соответствует стандарту HASH160 шаблон &lt;сценарий хэш&ГТ; равные
 * эта функция возвращает второй элемент.
 * В этом случае, это полезно для извлечения хэш выкупить сценарий сделки.</п>
 * 
 * <P>в противном случае он бросает для scriptexception.</п>
*
*/
публичных байт[] getPubKeyHash() броски для scriptexception {
 если (isSentToAddress())
 вернуть куски.получим(2).данных;
 еще если (isPayToScriptHash())
 вернуть куски.получить(1).данных;
еще
 бросить новый для scriptexception("скрипт не в стандартной форме scriptPubKey");
}

Вот такой сделке, где куски.размер() == 2, и я в состоянии извлечь адрес отправителя (1KYiKJEfdJtap9QX2v9BXJMpz2SfU4pgzw)

https://www.blockchain.com/btc/tx/b5765d54e275794939eb48c77dd8862a6e865dee6d71bc7004660dca32de8c43

Вот некоторые операции, где куски.размер() == 5 и я не в состоянии извлечь адрес отправителя (3....)

https://www.blockchain.com/btc/tx/b02e17479660a4685daba4e8f0f73aea96e0c36ab14142b68f868ac76a77455a

https://www.blockchain.com/btc/tx/f0a6708167eca88b9fe4dad4c110ddff2b3f6c5e08771793b8ca40400d4effab

https://www.blockchain.com/btc/tx/28a91393393916367e890965200d4f8af04416b65ee6fea22c0adf29af8ea3b8

Каков правильный способ получить адрес отправителя в этих случаях ?

К вашему сведению: вот мой говенный способ получить адрес получателя

// ЭТО ЕСЛИ ПИЗДЕЦ ОБХОДНОЙ ПУТЬ, ЧТОБЫ ИСПРАВИТЬ КАК МОЖНО СКОРЕЕ
@Обнуляемыми
публичный статический адрес getWalletAddressOfReceiver(окончательной сделки Техас, конечный адрес senderAddress) {

 для (окончательного вывода TransactionOutput : Техас.getOutputs()) {
 попробовать {
 заключительный сценарий сценарий = выход.getScriptPubKey(); 
 Адрес receiverAddress = скрипта.getToAddress(MainNetParams.получить(), истина);
если(receiverAddress.равна(senderAddress))
продолжить;
 возвращение receiverAddress;

 } поймать (финал для scriptexception х) {

}
}

 возвращать значение null;
}

В качестве адреса получателя в случайной позиции в "Техас.getOutputs()" я просто пропустить его, если он равен адреса отправителя и получить следующий.

+40
Josie Giles 5 февр. 2015 г., 6:20:13

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