Может bitcoind/с Bitcoin-Qt в (Через или командной строки-параметры RPC) используется, чтобы обнаружить, когда существуют две конкурирующие лучшие блоки?

Стандартный bitcoind/биткойн-клиент на Qt можно задать на самый высокий блок, с помощью RPC, или получать уведомления, когда новые 'лучшая защита' локально признал (по -blocknotify вариант).

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

+568
Pamps 11 февр. 2019 г., 3:57:00
23 ответов

Есть какие-то справочники или материалы, доступные за помощь в создании специализированного оборудования ASIC для bitcoin-майнинга .

+952
zico69 03 февр. '09 в 4:24

Я получил это работает на моем Mac (ОС Х Маверикс 10.9.0), используя http://spaceman.ca/cgminerно первые шаги первой. Откройте терминал и введите:

судо kextunload -б ком.яблоко.водитель.AppleUSBCDC
судо kextunload -б ком.яблоко.водитель.AppleUSBCDCACMData

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

Затем откройте мое приложение cgminer и введите его в поле:

-о имя-пула:номер_порта -U имя_пользователя -P пароль
+783
bl17zar 22 окт. 2015 г., 11:58:38
Другие ответы

Связанные вопросы


Похожие вопросы

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

Вот это интересно:

cvToken: Усилия по стабилизации цен Bitcoin с помощью разметки маркером, подкрепленные товаров к нему.

+672
RyBOT 12 янв. 2015 г., 18:46:54

Бы этот код на Python создать действительный закрытый ключ алгоритма ECDSA?

импорт случайных

деф Р(А, Б):
 sys_ran = случайное.SystemRandom()
 возвращение sys_ran.randint(A, Б)

деф create_private_key():
 0123456789ABCDEF hex_chars =''
 ran_hex = ";

 Для я в диапазоне(64):
 ran_hex += hex_chars[Р(0, 15)]

 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 max_hex =''

 если int(ran_hex, 16) <= инт(max_hex, 16):
 возвращение ran_hex
другое:
 возвращение create_private_key()

private_key = create_private_key()
печать('секретный ключ:' + private_key)

Насколько я могу сказать с биткоин Вики, с уровнем закрытый ключ любой 64 шестнадцатеричных (или соответствующее десятичное) число между 0x1 и 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFfebaaedce6af48a03bbfd25e8cd0364141. Ничего не сказано о каких-либо специальных алгоритмов, необходимых для закрытого ключа, чтобы быть действительным.

+623
automatix 19 февр. 2014 г., 19:44:00

Я заинтересована в развитии крипто-валюта (кто не), но я не заинтересован в Blockchain горно аспект. Я хочу программу, которая излучает монеты, когда кто-то совершил какой-проверена работа в Реале.

Так, это все равно требует использования блокчейна?

+618
Milova 26 июл. 2013 г., 4:34:56

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

+570
19701801 19 дек. 2018 г., 9:09:20

Кажется, что Blockchain.info, в частности, соответствует биткоин в JSON RPC в АПИ. Что дано, можно использовать наиболее распространенные языки программирования, чтобы открыть свой бумажник, последнее, но не менее простой биткоин-интерфейс командной строки команды, от первоначального распределения биткоин:

$ биткоин-кли -rpcconnect=rpc.blockchain.info -чтобы=443 -rpcssl -rpcuser=YourWalletIdentifier -rpcpassword=getinfo ваш пароль 

-rpcconnect=rpc.blockchain.info проинструктирует биткоин-интерфейса командной строки для подключения к blockchain.info с RPC интерфейс; -чтобы=443 задает удаленный порт; -rpcssl должен требовать SSL-соединения; -rpcuser и -rpcpassword говорят сами за себя.

Последнее слово, getinfo, является самой команде.

В вашем случае, это должно быть нечто вроде:

importaddress <bitcoinaddress> "" ложные

где importaddress является команда (или метод), который предписывает кошелек для включения <bitcoinaddress> в кошелек себе. Поскольку вы не указываете секретный ключ-адресу, но только в адрес себя, он станет "смотреть адрес" внутри вашего кошелька: вы сможете отслеживать его состояние, но не для трансляции операций, который включает его. Пара двойных кавычек "" может быть заменен бумажник имя, если вы его установили. ложь - это логическое значение, которое указывает, что биткоин двигатель не пересканировать весь блокчейн операций, который включает адрес, который вы добавляете. Я не blockchain.info клиента, так что я не знаю последствий этого конкретного флага. Я считаю, что это ОК, чтобы установить его истинные, так blockchain.info сканирует блокчейн в реальном времени.

+567
Tony Giaccone 13 апр. 2011 г., 17:29:03

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

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

На данный момент да, попробуйте снова зашифровать его, может быть, ты сделал misstake?

Статус сделки на компьютер Б тоже, 8 подтверждений? Является ли это признаком ошибки. Кроме того, 'от' помечено как неизвестное - это важно?

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

Также нет значка замка на Qt клиента, которые, как мне сказали там должно быть, если кошелек зашифрован?

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

+556
Lex Luthor 6 мар. 2012 г., 15:01:23

Я готов поставить некоторые из моих БТЦ предприятием в пару различные холодные кошельки для хранения. Я прошел через процесс уже движется вокруг нескольких Мбитс как испытания, созданные ключи на автономном ПК, отправлено реальные средства, затем побежал импорта в Bitcoin-Qt, то все там хорошо!

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

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

+545
Hanns Broun 26 сент. 2018 г., 4:57:13

Я записалась на harborly счет, но я еще не совсем уверен, как это работает. Я хотел бы купить биткоины, но как мне получить деньги на сайте?

+538
SvenBr 1 сент. 2013 г., 3:41:53

Вы можете найти другой блокатор.Ио лайткоин блок Эксплорер для Alt валюты.

Bockr.Ио Лайткоин блок Эксплорер

+509
Alexander Rutz 22 авг. 2016 г., 4:50:00

Тонкие клиенты (СПВ)

  • MultiBit.org
    • Инструменты -> экспорт закрытых ключей -> откройте файл, который вы экспортировали
  • grabHive.com (только для Mac)
    • Экспорт пока не реализовано

Надстройки браузера

  • SpareCoins.Ио(хром)
    • Значок -> ключ резервного копирования бумажник (в зашифрованном виде)

Полное Клиентами

  • Биткоин-Кварты
    • Помощь -> окно отладки -> консоль
      • walletpassphrase {пароль} {ожидания}
      • dumpwallet {именем} (рекомендуемый способ, сваливает все бумажник ключи в человека-readble формат, в файл с именем filename)
      • dumpprivkey {bitcoinaddress} (дополнительный метод, экспорт закрытого ключа)

Клиенты с Детерминистические кошельки

  • BitcoinArmory.com
    • Свойства -> Бумажник Индивидуальными Ключами -> Резервное Копирование Закрытого Ключа (Обычный Base58)
  • Electrum.org
    • Экспорт -> личные ключи -> откройте экспортированный файл

Гибридные Веб-Кошельки

  • StrongCoin.com
    • Ваши аккаунты -> выберите -> расшифровать приватный ключ (с пароль)
  • BlockChain.info
    • Импорт/экспорт -> Экспорт в незашифрованном виде -> ищем 5*, л* и к* личные ключи

Кошельки Андроид

  • Mycelium.com

    • Ключи -> (параметры-бар |) -> экспорт
    • (Устарело) управление ключами -> (параметры) -> экспортировать на SD-карту(JPG в "мицелий-экспорт папки"), QR-код или в буфер обмена
  • BitcoinSpinner

    • (Параметры) -> настройки -> дополнительно -> экспорт закрытого ключа -> QR-код или буфер обмена
  • Биткоин кошелек (Андреас Шильдбах)

    • (Параметры) -> резервное копирование ключей (зашифрованные)
      • в OpenSSL энк -д -алгоритма AES-256-CBC С -а-в

.... будет больше времени, надеюсь сохранить этот ответ обновлен

+507
GalB1t 25 авг. 2016 г., 4:34:06

Частные адреса.

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

Это одна из див-расчетных операций (есть несколько из них каждую среду): http://blockchain.info/tx/8e26e8fd5eada1dc5d5125b39db66129bb55645d654b4c6dfc4a0611f3de358d

+436
Qumo 16 сент. 2012 г., 18:42:22

Начнем с печально известного биткоин.conf, который не существует, и никто не знает точно, как он должен прийти в существование.

Ну, я знаю.

Он должен прийти в существование, вы создаете его с помощью текстового редактора в переменной datadir каталог, если вы хотите сделать так. Это совершенно необязательно. Если есть параметры командной строки, которые вы хотите использовать в любое время без того, чтобы указать их (например, -txindex=1), Вы можете положить их в биткоин.конф. Если вы счастливы, продолжая давать их в командной строке, то нет необходимости в биткоин.конф существовать вообще.

И теперь вы тоже знаете.


Что касается вашего другого вопроса, если вы используете getblockchaininfo вместо getinfo, вы получите более подробную информацию. Текущие версии ядра биткоин попробовать скачать заголовки блоков, прежде чем сами блоки. Вы увидите заголовки полей в getblockchaininfo , который, возможно, будет увеличиваться.

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

+410
Lora Mehringer 3 мар. 2010 г., 12:20:31

mSIGNA является multisignature кошелек для биткоин. Сайт Продукта.

+375
irbiz 10 окт. 2016 г., 16:50:16

Пожалуйста, помогите! Я получил .116 биткоин на свой счет Электрум, а затем отправили .115 Bitcoin на мой рынок счета сне. Раздражающе низкая плата появилась на Электрума (см. скриншот).

enter image description here

Я добавил еще один .0108 биткоин на счет Электрум, полагая, что это заставит оплаты через так как будет достаточно баланса, чтобы увидеть его - но безрезультатно!Сообщение я получаю на рынок мечта-вы ожидающий входящий депозит ฿0.115. Подтверждение занимает 20 минут (2 подтверждения) в среднем'. (см. скриншот 2) enter image description here

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

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

Любое простое решение с основными пошаговое руководство будет высоко ценится

+335
bajji 21 янв. 2016 г., 7:44:12

Я считаю, что поведение вы видите, это действительно ошибка.

По умолчанию, addmultisigaddress использует p2sh-segwit по умолчанию тип адреса для кошелька. По умолчанию createmultisig использует наследие. Эти два различных типа адреса, и обычно, вы получаете два разных адреса.

Однако segwit не допускает открытых ключей несжатый. Поэтому, когда redeemScript создается, если открытый ключ несжатого обнаруживается, как РСПК вернется устаревших адресов. Вот почему вы видите один и тот же адрес во втором примере.

Но я считаю, что это ошибка. Ваш первый пример должен также дать такие же устаревшие адреса, но это не так. Я думаю, что это потому, что без сжатия по умолчанию не является частью бумажника, поэтому он не правильно определяет, что это несжатый умолчанию. Таким образом addmultisigaddress следует его по умолчанию, чтобы дать вам p2sh-segwit адреса и createmultisig следует его по умолчанию, чтобы дать вам наследие адресу.

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

Для p2sh-segwit, в redeemScript фактически не redeemScript вы получаете от ЭКП. А это скрипт для вывода P2WSH. В "redeemScript" на самом деле witnessScript для сценария P2WSH это реальная redeemScript. Тип сценария (либо в scriptPubKey или в redeemScript) определить, что выход segwit или нет.

+260
Casebash 28 мар. 2011 г., 12:24:33

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

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

+237
Bernardo Mosquea 30 июн. 2019 г., 19:30:33

Теперь, МТ. Гора Gox больше не предлагает МТГ обменять коды долларов США, что другие биржи предлагают эти ваучеры / обменять коды / купоны?

+189
Hunter 27 мар. 2013 г., 18:38:24

Есть ли разница в структуре segwit блока по сравнению с традиционным не segwit блок? Схема будет полезна, если возможно.

+116
Marjorie Dawn Edwards 24 окт. 2014 г., 1:39:16

Пока P2SH-P2WPKH UTXO тратятся и redeemScript подвергается, а P2SH-P2WPKH адрес неотличима от не-segwit P2SH-адрес (например для segwit мульти-подписи адрес)

Ссылка: https://bitcoincore.org/en/segwit_wallet_dev/

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

+98
Amiko Malania 11 окт. 2010 г., 23:53:03

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

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

+86
Anguel Roumenov Bogoev 4 сент. 2016 г., 12:36:20

Я по-прежнему использовать Bitcoin 0.13.2 по некоторым причинам. Последние размер mempool очень высока, поэтому синхронизация mempool занимает длительное время, в течение двух дней. Есть ли способы синхронизации mempool быстрее? У меня есть некоторые узлы bitcoind. Некоторые из них уже закончил синхронизацию полный mempool. Я надеюсь, что я могу копировать mempool с моим другом узлов.

+49
sevenbrokenbricks 9 сент. 2014 г., 20:54:43

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

buy cialis buy cialis online buy cialis online without script canadian cialis online pharmacy cheap cialis cheap cialis generic cialis cialis 20 mg best price cialis before and after cialis canada cialis canada pharmacy online cialis cost cialis coupon cialis coupons cialis dosage cialis for daily use cialis free trial cialis generic cialis generic release date cialis online cialis online pharmacy cialis over the counter cialis over the counter at walmart cialis side effects cialis vs viagra cialis without a doctor's prescription generic cialis generic cialis at walmart generic cialis canada pharmacy generic cialis tadalafil side effects of cialis tadalafil tadalafil 20 mg tadalafil 20mg tadalafil 5mg tadalafil generic tadalafil generic at walgreens tadalafil side effects viagra vs cialis where can i buy cialis over the counter at walmart buy cialis buy cialis online buy cialis online without script canadian cialis online pharmacy cheap cialis cheap cialis generic cialis cialis 20 mg best price cialis before and after cialis canada cialis canada pharmacy online cialis cost cialis coupon cialis coupons cialis dosage cialis for daily use cialis free trial cialis generic cialis generic release date cialis online cialis online pharmacy cialis over the counter cialis over the counter at walmart cialis side effects cialis vs viagra cialis without a doctor's prescription generic cialis generic cialis at walmart generic cialis canada pharmacy generic cialis tadalafil side effects of cialis tadalafil tadalafil 20 mg tadalafil 20mg tadalafil 5mg tadalafil generic tadalafil generic at walgreens tadalafil side effects viagra vs cialis where can i buy cialis over the counter at walmart blue chew viagra scam buy viagra buy viagra online buy viagra online canada pharmacy buy viagra online without script canada pharmacy viagra generic canadian pharcharmy online viagra canadian viagra canadian viagra without a doctor prescription cheap viagra cialis vs viagra cost of viagra female viagra female viagra pills free viagra free viagra samples generic viagra generic viagra 100mg generic viagra available generic viagra canada price generic viagra online pharmacy generic viagra sildenafil citrate generic viagra without a doctor prescription herbal viagra how does viagra work how long does viagra last how much does viagra cost how to take viagra for maximum effect i took viagra mom levitra vs viagra mom gives son viagra natural viagra natural viagra alternatives that work natural viagra substitute nizagara 100 mg vs viagra online viagra online viagra without subscription over the counter viagra real life viagra demonstration revatio vs viagra side effects of viagra sildenafil sildenafil 100mg sildenafil 20 mg sildenafil 20 mg tablet sildenafil 20 mg tablet vs viagra sildenafil citrate sildenafil citrate 100mg sildenafil citrate 20 mg sildenafil coupons sildenafil dosage sildenafil dosage recommendations sildenafil generic sildenafil side effects sophia viagra sophia viagra bikini sophia viagra hot stendra vs viagra stepmom gives son viagra viagra viagra 100mg viagra before after photo actual viagra boner viagra canada online pharmacy viagra coupon viagra coupons viagra coupons from pfizer viagra dosage viagra dosage recommendations viagra erection viagra erection after ejaculation viagra for men viagra for sale viagra for sale on amazon viagra for women viagra generic viagra generic availability viagra generic release date viagra in action viagra on line viagra online viagra online canada pharmacy viagra online pharmacy viagra patent expiration viagra pill viagra pills viagra porn viagra prank viagra prices viagra samples viagra sex viagra side effects viagra substitute viagra vs cialis viagra without a doctor prescription viagra without doctor prescription what is viagra when will generic viagra be available blue chew viagra scam buy viagra buy viagra online buy viagra online canada pharmacy buy viagra online without script canada pharmacy viagra generic canadian pharcharmy online viagra canadian viagra canadian viagra without a doctor prescription cheap viagra cialis vs viagra cost of viagra female viagra female viagra pills free viagra free viagra samples generic viagra generic viagra 100mg generic viagra available generic viagra canada price generic viagra online pharmacy generic viagra sildenafil citrate generic viagra without a doctor prescription herbal viagra how does viagra work how long does viagra last how much does viagra cost how to take viagra for maximum effect i took viagra mom levitra vs viagra mom gives son viagra natural viagra natural viagra alternatives that work natural viagra substitute nizagara 100 mg vs viagra online viagra online viagra without subscription over the counter viagra real life viagra demonstration revatio vs viagra side effects of viagra sildenafil sildenafil 100mg sildenafil 20 mg sildenafil 20 mg tablet sildenafil 20 mg tablet vs viagra sildenafil citrate sildenafil citrate 100mg sildenafil citrate 20 mg sildenafil coupons sildenafil dosage sildenafil dosage recommendations sildenafil generic sildenafil side effects sophia viagra sophia viagra bikini sophia viagra hot stendra vs viagra stepmom gives son viagra viagra viagra 100mg viagra before after photo actual viagra boner viagra canada online pharmacy viagra coupon viagra coupons viagra coupons from pfizer viagra dosage viagra dosage recommendations viagra erection viagra erection after ejaculation viagra for men viagra for sale viagra for sale on amazon viagra for women viagra generic viagra generic availability viagra generic release date viagra in action viagra on line viagra online viagra online canada pharmacy viagra online pharmacy viagra patent expiration viagra pill viagra pills viagra porn viagra prank viagra prices viagra samples viagra sex viagra side effects viagra substitute viagra vs cialis viagra without a doctor prescription viagra without doctor prescription what is viagra when will generic viagra be available $200 cialis coupon 10 mg tadalafil generic 5 mg cialis over the counter at walmart best price for tadalafil 20 mg buy cialis buy cialis generic tadalafil buy cialis online buy cialis online without script buy tadalafil buy tadalafil online canadian cialis online pharmacy canadian pharmacy cialis cheap cialis cheap cialis generic cialis cialis 20 mg best price cialis 20mg cialis 30 day sample cialis 30 day trial coupon cialis and alcohol cialis before and after cialis canada cialis canada pharmacy online cialis cost cialis coupon cialis coupons cialis coupons printable cialis dosage cialis dosage information cialis for daily use cialis for sale cialis free trial cialis free trial voucher for cialis cialis generic cialis generic release date cialis generic tadalafil cialis lowest price cialis online cialis online pharmacy cialis over the counter cialis over the counter at walmart cialis patent expiration date extended cialis picture testimonials cialis pills cialis price cialis prices cialis reviews cialis side effects cialis tadalafil cialis tadalafil 20 mg cialis vs viagra cialis vs viagra which is better cialis without a doctor's prescription cialis without doctor prescription cost of cialis cost of tadalafil generic at walgreens coupon for cialis by manufacturer does cialis lower blood pressure generic cialis generic cialis at walmart generic cialis canada generic cialis canada pharmacy generic cialis from india generic cialis tadalafil generic tadalafil generic tadalafil 20 mg is there a generic for cialis online cialis purchasing cialis on the internet side effects for cialis side effects for tadalafil side effects of cialis tadalafil tadalafil 20 mg tadalafil 20 mg canadian drug stores tadalafil 20mg tadalafil 20mg lowest price tadalafil 5 mg tadalafil 5mg tadalafil cost at walmart tadalafil dosage tadalafil generic tadalafil generic at walgreens tadalafil generic best prices tadalafil online tadalafil price tadalafil side effects tadalafil tablets tadalafil without a doctor's prescription viagra vs cialis viagra vs cialis vs levitra warnings for tadalafil