Bitcoin Forum
May 26, 2024, 05:32:05 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 [21] 22 23 24 25 26 »
401  Local / Кодеры / Re: Вышел Bitcoin 0.5.0 on: February 08, 2012, 03:21:28 PM
bitcoin-qt.exe не понимает параметра datadir, да и других параметров тоже. Как теперь с ним работать?
Странно, у меня все понимает

Я вот таким батником запускаю.
"bitcoin-qt.exe" -gen=0 -rpcuser=xxx -rpcpassword=xxx -rpcport=8335 -rpcallowip=192.168.0.2 -server -debug -datadir=с:\bitcoin\

ну если не делать его сервером, тогда так

"bitcoin-qt.exe" -gen=0 -datadir=с:\bitcoin\

все работает , версия последняя, скачанная с оффсайта.

как вариант указать путь к конфигу , а в нем уже указать папку
402  Local / Кодеры / Re: Мануал по установке bitcoind на бесплатный Amazon EC2 on: February 06, 2012, 11:27:00 PM
База блоков закачивалась вручную или клиентом?
В смысле? Smiley На Амазон? Качал на другом сервере через bitcoind , а потом просто перенес базу в архиве. Можно было и полностью качать, но это лишние i/o операции.

Где-то видел ссылку на ежедневный слепок базы, если кто вспомнит, поделитесь плз.
403  Local / Кодеры / Re: Мануал по установке bitcoind на бесплатный Amazon EC2 on: February 06, 2012, 05:07:18 PM
Минимизация рисков, в том числе рисков человеческих ошибок, это важная часть работы настоящего инженера.
Я предлагал рассмотреть вариант установки на двух виртуалках - сайт на EC2, данные на S3.
Считаю, что за это предложение меня надо похвалить, а не поругать.
Да просто я о похожем писал в англоязычной ветке, там сразу написали мол мы боимси , ибо так биржа потеряла кошелек. А то, что это произошло из-за криворукости админа ни кто во внимание не берет. Прям детский импринтинг эдакий.

Мой вариант бакапа. Делаем задание для крона, которое :
а). будет заставлять демона сделать копию кошелька
б). Будет паковать этот кошелек с ядреным паролем и для особых параноиков, шифровать поверху ключом
в). Ложить запакованный файл в определенную папку, единственнодоступную специально для этого созданному юзеру, например bit_baker

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

С удаленного компьютера делаем также кроном:
scp -i приватный.ключ  wallet.bak bit_baker@1.1.1.1:/backups

Все! на сервере крон будет по интервалу создавать копию , шифровать, а со второго сервера этот файлик будет стандартно забираться по тому же интервалу.
Для этого не нужно каких-то сторонних сервисов по типу фтп + ssh безопасный протокол.
404  Local / Кодеры / Re: Мануал по установке bitcoind на бесплатный Amazon EC2 on: February 06, 2012, 03:53:35 PM
Какая-то биржа у нас уже навернулась из-за того, чтоб хостилась на облаке и не реплицировала записи кошелька
UPD2:
я не читал статью внимательно и не проникся, как именно используется Amazon S3 (он вроде бы данные терять не должен). Если в статье используется только он, то еще надо описать связь между сайтом на EC2 и базой на S3 (как эта связь шифруется и всё такое)
Уважаемые, ну хватит уже перецитировать этот бред. Из-за того, что какой-то криворукий админ накосячил и грохнул виртуалку с кошельком обвинять весь облачный хостинг это мягко говоря неправильно.
О криворукости говорит уже тот факт , что он не сделал резервной копии кошелька перед началом каких-либо операций. Удаленный бакап кошелька делается ОДНОЙ шелловской коммандой, настроить ее в крон дело 5 минут. Умереть может любой сервер в любом ДЦ, чтобы избежать вышеописанных проблем и придумали бакапы, если вы их не делаете, то сами себе ЗБ.

Quote
I noticed that bitcoin server was out of resources and I had to increase RAM. As a result of this operation, the virtual machine was deleted ...
I will be able to recover the lost data. Unfortunately cooperation with Amazon Web Services is very difficult
Хотел добавить памяти, случайно грохнул виртуалку. Амазон ни чем не смог помочь. Интересно, а чем они могут помочь, если при удалении виртуалка полностью уничтожается? Понятно что его деликатно кебенизировали.  Ни кто не будет хранить удаленные виртуалки вечно, даже из соображений безопасности.
Точно также как это делают обычные vps/vds провайдеры. По крайней мере нормальные ДЦ после того как снимают ваш сервер с обслуживания жестко форматируют хард.
Многие (большинство) ДЦ также могут отформатировать хард , после 5-7 дневной неоплаты. на амазоне же у меня простроченная виртуалка болталась несколько месяцев, а амазон терпеливо просил ее оплатить.

405  Local / Кодеры / Re: Мануал по установке bitcoind на бесплатный Amazon EC2 on: February 04, 2012, 04:27:26 AM
Да, бесплатные лимиты позволяют поставить сейчас и Windows сервер, если кому-то он покажется ближе. При желании можно там разместить свой кошелек с запасом монет, и в случае надобности использовать из любой точки земного шара. Понятно не забыв о шифровании кошелька.
406  Local / Работа / Re: Написание материалов о Bitcoin за оплату on: February 04, 2012, 04:23:54 AM
Принимайте https://bitcointalk.org/index.php?topic=62498.0 Smiley
Первая из цикла статей.
407  Local / Кодеры / Мануал по установке bitcoind на бесплатный Amazon EC2 on: February 04, 2012, 04:09:33 AM
Предположим нам нужно разместить нашего демона bitcoind в надежном и безопасном месте , также неплохо если бы за это можно было не платить восе или платить по минимуму.

Для тех, кто только что переключился Smiley , демон необходим для автономного осуществления организации приема BTC на своем ресурсе (серверная часть).
Тут можно посмотреть живой пример https://bitcointalk.org/index.php?topic=60144.0 и скачать исходники клиентской части, непосредственно встраиваемой на ваш сайт. Если у вас уже есть свой сервер, можете перейти сразу к шагу 8, иначе читаем ниже.

Для решения задачи размещения демона идеально подходит Веб сервис от Амазона в котором удивительным образом сочетается способность выдерживать большие нагрузки с бесплатным пакетом ресурсов на первый год после регистрации. В бесплатный пакет входит много чего, но в данный момент нас будут интересовать:
  • Виртуальный сервер в формате micro на основе Linux/Windows с доступом по SSH/RDP.
  • 30Гб места в Elastic Block Storage 2 млн обращений к диску, плюс 1Гб под бэкапы.
  • 5 Гб of Amazon S3 , 20,000 Get запросов, and 2,000 Put запросов
  • 15 Гб трафика в месяц.
  • Выделенный внешний IP адрес.

Причем все это при желании можно зарегистрировать и подготовить к работе за полчаса, но понадобится кредитная карта, которую примет Amazon (и снимет 2 доллара, которые потом по идее должна вернуть) и сотовый телефон под рукой (домашний не подойдет).

Шаг 1: Регистрируемся на Amazon.

Процедура регистрации обычно не вызывает вопросов. Единственный совет — вводить реальные или близкие к реальным данные. Семенов Горбунковых с улицы Горького давно не регистрируют, а если неправильно указать индекс города, то система даст скрытый отлуп на этапе проверки кода по телефону.
Перед тем как вбивать данные кредитной карты, нужно убедиться что по ней доступно для снятия минимум 85р для Mastercard и 75р для Visa. В зависимости от региона и типа кредитной карты в конце процесса регистрации нас могут попросить подтвердить свой сотовый телефон. Тут правил 3 — вписывать номер нужно без восьмерки и кода страны (10 цифр), не забывать правильно выбирать страну и начинать вводить код с клавиатуры только после того как синтезированная телефонная барышня перестанет говорить и затаится в ожидании. Если подтвердить не попросят, значит Амазону очень понравилась ваша кредитка и у них еще еще не было проблем с пользователями из вашего диапазона адресов. Но поскольку нас больше всего интересует сервис EC2 (для которого верификация обязательна), то подтверждать 4 цифры по телефону придется в любом случае. После регистрации с карты снимут 1 доллар (и потом его не вернут) и сразу предоставят доступ к сервису хранения файлов S3 и к шикарной консоли управления



Шаг 2: Подготовка к созданию EC2 сервера.

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


а с карты спишется еще один доллар.

Шаг 3: Добавление пользовательской группы.

Не теряя времени даром, щелкаем на ссылку Security Groups слева. Создаваемую по умолчанию группу лучше не трогать, но она нас никак не устраивает с точки зрения прав доступа (все порты любые действия). Поэтому создадим свою группу с более ограниченными правами



и назовем ее, например, basic.

После создания добавим несколько правил в закладке Inbound
Разрешим доступ по ssh для ip из подсети 1.1.0.0/16 (с этого адреса будет досутпен 22 порт)



По аналогии добавим порт , на котором наш RPC демон будет общатся с интерфейсом магазина 8332 (или другой). Ип 2.2.2.2 - адрес сервера , на котором находится магазин, подставите свой.
После каждого правила жмем Add Rule , а после того как добавлены все порты "Apply Rule Change". Если у нас будет работать только демон, остальные порты лучше не открывать из соображений безопасности.


Теперь наш сервер защищен от вторжений извне.

Шаг 4: Создание SSH ключей.

Ключи нужны для доступа на сервер по SSH и они могут быть созданы и в процессе развертывания образа выбранной ОС, но в IE и Chrome наблюдаются периодические глюки с отдачей файла ключей на скачивание. Поэтому лучше сделать это заранее и если заглючит, то повторить.
Для генерации ключей выбираем Key Pairs в меню и давим пару кнопок.

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

Шаг 5: Развертывание образа Операционной Системы.

Итак, у нас есть ключ и дополнительная пользовательская группа. Теперь можно смело нажимать Launch Instance из меню EC2 Dashboard.



Согласимся на Classic Wizard.

Далее выбираем себе подходящую ось. Для bitcoind сервера это не принципиально , дело вкуса.
Если вы приверженец Centos, Redhat, Suse, тогда выбирайте эти дистрибутивы из вкладки QuickStart ,
Мне больше нравится дистрибутив Debian 6 x64, под него я писал и все скрипты, если вам он тоже по душе, переходим во вкладку Comunity AIMs и вводим в поле поиска ami-e00df089  , после чего выбираем этот дистрибутив кнопкой Select.

Оставляем все установки по умолчанию.    


Включаем защиту от удаления.    


Теги вбивать не обязательно.


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


В конфигурации фаервола оставляем только Security Group индекс-basic.


Проверяем установки и запускаем.


После запуска в списке Instances появится наш микро-сервер.

Шаг 6: Регистрируем IP адрес для сервера.

В меню Elastic IPs сначала резервируем себе IP адрес.


И тут же присваиваем его нашему запущенному серверу.


Обратите внимание что резервирование незакрепленного за работающим сервером IP адреса не входит в бесплатный пакет. За это придется платить по центу в час. Как только IP присваивается запущенному северу, он тут же становится бесплатным.
В нашем примере Амазон выдал серверу адрес 107.21.246.159 и в дальнейшем мы его будем часто использовать, но в вашем случае во всех действиях и командах его нужно будет заменять на адрес, который выдали лично вам.

Шаг 7: Подключаемся к серверу по SSH.

Для этой цели можно использовать массу разнообразных программ, но вся дальнейшая инструкция написана для виндового и бесплатного PuTTY(прямая ссылка на загрузку).
Из архива нам в первую очередь понадобится puttygen.exe. Запускаем, выбираем Conversions/Import key.


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


После этого запускаем putty.exe, вбиваем наш IP в поле Host Name.


в разделе SSH-Auth указываем путь к .ppk ключу.


и нажимаем кнопку Open. В окошке терминала не должно быть никаких сообщений об ошибках, а в предложение:
login as: ,нужно ввести ec2-user.



Шаг 8: Устанавливаем bitcoind демона.

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

  • 1). Закачиваем к себе скрипт установки
    wget http://dl.dropbox.com/u/60284981/Bitcoin/install.zip (в архиве бинарник от linux x64 , если у вас другая операционка, соберите под нее свой или скопируйте готовый с оффсайта)
    и базу , состоянием на 01.02.2012 (около 1 гб)
    wget http://dl.dropbox.com/u/60284981/Bitcoin/bitcoin_base.zip
    * Примечание. Особенность облачных хостингов в том, что вы платите не фиксированную плату, а за фактически потребляемые ресурсы. В случае bitcoind таким ресурсом будут дисковые операции , которые ограничены 2 млн I/O в мес. Сервер тратит около 0,3 млн в сутки, каждый млн I/O операций сверх лимита стоит недорого 0,1$, всего в месяц за i/o заплатить около 0,50$-0,80$. Однако если сервер заставить качать все блоки с ноля, количество затраченных i/o на пуск сильно возрастет, поэтому я рекомендую сначала скачать базу целиком, а потом уже докачать оставшиеся блоки. Можете воспользоваться своим архивом , сделанным на локальном компьютере или взять мой.
  • 2). Распаковываем и запускаем setup.sh (дав предварительно ему права на запуск chmod +x setup.sh)
    Действия , которые произведет скрипт:
    • а). Создаст пользователя bitcoin и группу bitcoin от которых будет запускаться демон
    • б). Скопирует файл конфигурации /etc/bitcoin/bitcoin.conf
    • в). Скопирует демона в папку /usr/local/bin/
    • г). Развернет базу в папку /var/lib/bitcoin/
    • д). Скопирует скипт автозапуска в  /etc/init.d/
    • е). Установит все необходимые права
  • 3). Последний штрих, подредактируем /etc/bitcoin/bitcoin.conf
    вместо rpcallowip=107.21.246.159 пропишите ваш ип адрес, выданный Amazon
    также обязательно добавить строку с ип адресом вашего сервера , который будет обращатсья к демону  rpcallowip=2.2.2.2 ну и опционально ип вашего рабочего компьютера.
    rpcuser=xxx
    rpcpassword=xxx
    таже замените на свои , при желании можете сменить порт
    4). Запускаем демона /etc/init.d/bitcoin start
    посмотреть лог в реальном времени можно коммандой tail -f /var/lib/bitcoin/.bitcoin/debug.log
P.S. Отдельного пользователя под демона можно не создавать, но все же лучше перестраховаться. Папки также можете разместить где вам удобно, не забыв  подредактировать скрипт автозапуска /etc/init.d/bitcoin

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

P.P.S. Пользование демоном практически полностью вкладывается в бесплатные лимиты http://aws.amazon.com/free/ . Перерасход , как было сказано выше, идет лишь по дисковым операциям, за которые прийдется заплатить сущие копейки (около 50-80 центов в мес).
Пользоваться таким хосингом можно целый год, после чего перерегистрировать на другую карту или оплачивать платные услуги . По моим подсчетам месячная плата, по окончанию бесплатного года, не превысит 4-5$ , что вполне приемлимо, ибо это цена обычного шаред хостинга, за полноценный сервер.
Нагрузка на процессор у меня не превышала несколько %, так что вы можете использовать данный сервер и под другие нужды, хотя с точки зрения безопасности этого делать не желатыльно.
Перерасходов по трафику также небыло, демон расходует около 10-20% от бесплатных лимитов.

В статье были использованы материалы взятые из статьи http://habrahabr.ru/blogs/hosting/135713/ с согласия автора.

(c) Вы можете свободно использовать и перепечатывать данный материал в своих целях с указанием ссылки или без.
Удачной работы!
408  Local / Кодеры / Re: Прием коинов в Магазине Эквид on: February 02, 2012, 03:48:53 PM
Вот задал вопрос в супорт okpay:
Quote
Department: Бизнес / Партнерство
Subject: прием оплаты Bitcoin
Message: Слышал что при помощи вашего сервиса можно осуществлять прием оплаты в bitcoin, насколько работоспособна сейчас схема приема данной валюты?

Ответ okpay:
Quote
Здравствуйте, на данный момент мы заканчиваем работу над интграцией bitcoin, на след. неделе будет полностью функциональна

Так что остается дождаться внедрения с их стороны и можно просить сделать модуль под ваш эквид. Даже если они сами не захотят, можно вручную написать, там ерунда работы, может я вам помогу.
409  Local / Работа / Re: Написание материалов о Bitcoin за оплату on: February 02, 2012, 02:59:38 PM
А в каком виде должны быть статьи? Вот сейчас хочу сделать статью по установке bitcoind на Amazon Cloud с подробными иллюстрациями всего процесса. Награда мне постольку-поскольку, цели иные.
Если я, например, на этом форуме в каком-то подходящем разделе размещу мануал темой, а Вы у себя на btcsec, если посчитаете нужным, дадите ссылку или перепечатаете. Так нормально будет?
410  Local / Кодеры / Re: Идея инструментария client/server приема Bitcoin платежей on: February 01, 2012, 09:55:15 PM
Вообще все здорово.
Lexiko, а тебе в голову не приходила идея не только оплаты, но и вывода бтц в каком-либо виде?
Вывод можно сделать легко, и это прекрасно вписывается в вышепредоставленную идею. Можно сделать задание, при накоплении определенной суммы в BTC, автоматом будет выполнен перевод на кошелек mtgox, и создан ордер на продажу по текущему курсу. Ну или через метабанк в WebMoney или другую валюту.
В такой ситуации для магазина минимум риска погореть на курсе.
411  Local / Кодеры / Re: Проблема с bitcoind на FreeBSD on: February 01, 2012, 07:28:38 PM
Для localhost вроде всегда доступ открыт. Если, конечно, хостинг действительно loopback не запретил.
Для localhost может и открыт, а вот для ip , прикрученного к серверу, скорее всего нет. Клиент же будет коннектиться скорее всего не от имени localhost , а от имени серверного айпишника.
412  Local / Кодеры / Re: Прием коинов в Магазине Эквид on: February 01, 2012, 06:07:30 PM
Как вариант, предложу вам такое решение:

Вот заметил, что такая себе система okpay принимает биткоины, аж с Ноября их офиц релиз https://www.okpay.com/ru/company/news/okpay-bitcoin.html
тарифы https://www.okpay.com/ru/services/fees-e-currency.html (вполне себе приятные)
вот тут
https://www.okpay.com/ru/developers/shop-systems/index.html
Они пишут:
Quote
Если вы хотите использовать интернет-магазин или приложение, которое пока еще не связано с OKPAY вы можете отправить нам запрос и мы передадим его нашему сообществу разработчиков. Кроме того, к вашим услугам предлагаются различные типы API / SCI (Application Program Interface / Shopping Cart Interface).
413  Local / Кодеры / Re: Идея инструментария client/server приема Bitcoin платежей on: February 01, 2012, 04:40:37 PM
правда я там ничего подобного не нашел
Я тоже, темболее русскоязычного.

Вот весь небогатый выбор

Web interfaces for merchants
Bitcoin Evolution - Non wallet-based Buy Now button to insert into websites (handles sales tracking; client must be used for actual transaction)
Задумка вроде какая-то неплохая , но исполнение конечно хромает. Регистрация кривая, на сайте ошибки, отсутствующие картинки и вообще выглядит заброшенным. Цветовая гамма сайта наводит на стойкие мысли о том, что админ сервиса курит что-то забористое, а это несколько напрягает. Исходного кода понятно нет.

Btceconomy - a JavaScript widget listing items for sale
Тоже выглядит как однодневка, толкового описания как оно работает не нашел, даже желания зарегистрироваться не появилось.

Javascript Bitcoin Converter - currency conversion
этот вообще показывает дефолтную страницу хостинга (одного из самых дешевых к слову). Земля ему пухом.


Я так понимаю реализации под разные движки с исходными кодами:

Zen Cart Bitcoin Payment Module - a payment module that interacts with bitcoind for the Zen Cart eCommerce shopping chart.
Модуль под Zen Cart , последний коммит в августе

Karsha Shopping Cart Interface - is a mobile payment-interface which enables its users to accept payments.
Так и не дождался от них письма с активацией, но выглядит все тоже уныло. Опять-таки, насколько я понял из описания, система совсем не автономная и не бесплатная.

Bitcoin-Cash - an easy to use payment module for xt:Commerce
Модуль под xt-commerce , не слышал , чтобы у нас кто-то пользовался этими магазинами.

Из всех вот это офигительная штука http://bitcoinjs.org/ ребята написали сервер полностью на nodejs и обвязки под него. Работает все как с внутренним форматом, так и с MongoDb , можно ставить сделать свою ноду и хуки на любые события в сети. Правда RPC протокол у них там несколько свой, с пхп мне не удалось его согласовать, хотя может есть какой-то проксик, я не нашел, да и написать не проблема в принципе. Но опять-таки, простым все это дело назвать сложно, скорей это отличный инструментарий для написания какого-то фреймворка более высокого уровня.
414  Local / Кодеры / Re: Проблема с bitcoind на FreeBSD on: February 01, 2012, 02:35:55 PM
Не думаю что на фряхе будет какая-то специфика настройки.

вот мой bitcoin.conf

Quote
server=1
gen=0
rpcuser=xxx
rpcpassword=xxx
rpcport=8332
rpcallowip=1.2.3.4 (это внутренний ип самого дедика)
daemon=1
debug=0

вот так запускаю
./bitcoind -datadir=/opt/bitcoin/.bitcoin -conf=/opt/bitcoin/bitcoin.conf

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

Кстати, я себе под дебианом сделал запуск человеческий, init.d скрипт, папки разнес по своим местам, запуск от ограниченного юзера bitcoin , monit, который следит за демоном и перезапускает, если тот свалился. Если кому интересно, выложу где-то.
415  Local / Кодеры / Re: Идея инструментария client/server приема Bitcoin платежей on: February 01, 2012, 02:27:12 PM
идея правильная, +1
еще можно сделать формат запросов/ответов похожим (или вообще совместимым) на какой-нибудь существующий крупный мерчант, чтобы людям быстрее разобраться Smiley
Думаю тут велосипедов изобретать не буду, встраивание будет по типу http://www.robokassa.ru/ru/DemoShop/Demo1.aspx?CodeLang=Php можно даже в виде виджета, который можно будет встроить куда угодно.

Кстати реализацию клиентской стороне можно будет элементарно сделать под любой язык , как в той же робокассе Php,AsP,Perl,.Net ...

Вот мне просто интересно, неужели ни кто до такого еще не додумался за столько времени. Может я не там смотрел, есть решения вэб-обвязок, но они все же, на мой взгляд, достаточно трудоемки и требуют хотя бы минимальных (а то и достаточно глубоких) знаний и понимания работы сети. А это существенно тормозит процесс создания реального сектора под биткоином.
416  Local / Кодеры / Re: Рабочий пример приема BTC на сайте с исходны on: February 01, 2012, 01:56:19 PM
Изменились квоты в лучшую сторону, как теперь обстоит дело?
Вы про амазон ? В лимиты почти укладываюсь, плачу только за 300 тыс операций ввода/вывода по 3 цента ежесуточно, с учетом бесплатных месячных 2 млн, будет 60-80 центов в мес обслуживание этого дела - шара!

Есть еще вариант сервак держать под nodejs на соответствующем хостинге, но реально думаю дешевле 3-4 баксов в мес не будет, так что на Амазоне пока самый выгодный вариант размещения. После окончания бесплатного периода можно или на другую кредитку перерегать или платить около 3-4$ в мес, что тоже в общем вполне себе доступно.
417  Local / Кодеры / Re: Идея инструментария client/server приема Bitcoin платежей on: February 01, 2012, 12:01:21 PM
многабукв в схеме. мелких. малопонятно

Картинка в pdf
http://ge.tt/8ckdO2D
418  Local / Кодеры / Идея инструментария client/server приема Bitcoin платежей on: February 01, 2012, 11:41:10 AM
Идея заключается в создании клиент-серверного OpenSource инструментария для быстрого и легкого разворачивания организации приема биткоинов на своем сайте (продажа товаров, услуг ...).
Главный принцип - независимость от сторонних сервисов (использование сторонних мерчантов нарушает основную идею биткоина) , простота развертывания (с установкой должен справится даже самый далекий человек) , минимум кода на клиентской стороне (простота обслуживания), универсальность ( т.е. код должен легко встраиваться в любой сервис).
Вот тут я описывал пример , как при помощи биткоина организовать прием платежей. Не смотря на то что код достаточно прост , все же переделывать его придется каждый раз под новый проект.
В любом случае нам не обойтись без серверной стороны, на которой будет хранится наш wallet.dat и работать демон bitcoind. Дак почему бы нам не вынести весь основной код, который будет по сути универсален для всех случаев, на сервер, а легкую часть на клиента.
Т.е. выглядеть это будет так же , как и работают все основные мерчанты - на frontend стороне сервиса, будет обычная html кнопка перехода на мерчант-сервер
Code:
<form>
 <form method="POST" action="http://our_merchant_server.com/index.php">
  <input name="method" type="hidden" value="pay">
  <input name="InvId" type="hidden" value="{$InvId}">
  <input name="hash" type="hidden" value="{$hash}">
  <input name="account" type="hidden" value="{$account}">
  <input name="Sum" type="text" >
  <input type="submit" value="Отправить">
</form>
скрипт выписки счета на клиентской стороне будет выглядеть тоже несложно (прошу просить за говнокод, но это чисто для наглядности, на самом деле конечно все будет немного развернутей, со всеми требуемыми проверками валидности сделки).
Quote
<?php
//выписка счета
if ($action === 'pay')
    {
        $sum = $_REQUEST['sum'];
        $hash = md5(InvId+Account+OutSum+CLIENT_PASS);;
        $InvId = GetNewInvoice();//добавление записи в базу и возврат номера
        $smarty->assign('InvId',$InvId);
        $smarty->assign('hash',$hash);
        $smarty->assign('account',$account);
        $smarty->assign('account',$sum);
        $smarty->display('do_pay_bitcoin.tpl'); break;
    }
//оплата    
if ($action === 'result')
    {
         $InvId = $_REQUEST['InvId'];
        //извлекаем
        $InvData = GetInvoiceData($InvId);
        //
        //проверям валидность этого калбека через Crc
        //Выдаем товар
    }
?>


для оплаты, а также скрипт, который будет выписывать счет и ждать его оплаты, а после оплаты выдавать клиенту купленный товар или услугу.
Отличие будет лишь в том, что мерчант будет наш, собственный, и располагаться он будет на нашем же сервере вместе с bitcoind демоном.
Серверная часть будет универсальной для всех, и разворачиваться буквально в несколько шагов.
Клиент будет отправляться для оплаты нашему мерчант-сервису, который будет выводить адрес для оплаты и ожидать зачисления платежа. После того, как на выделенный клиенту адрес поступят BTC, скрипт сделает разноску и сравнит с требуемой суммой. Если сумма равна требуемой, он успешно отстучится на сторону магазина callback-ом и сообщит о том, что можно клиенту выдать желаемое.

Выглядеть будет как-то так:


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

Реализация будет тут достаточно несложная, а пользу такого решения для Bitcoin торговли просто сложно недооценить.

Я попробую начать и сделать рабочий прототип. Если есть желание помочь, пусть даже словом или советом, вэлкам!

Что вы думаете по этому поводу?
419  Local / Кодеры / Re: Рабочий пример приема BTC на сайте с исходны on: January 27, 2012, 02:06:27 AM
симпатичный пример, спасибо
twitter bootstrap везде Smiley
Всегда пожалуйста.

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

В исходниках теперь пример серверной и клиентской части , реализованной на socket.io (подобную схему используется bitcoinmonitor) .

Способ может не самый идеологически верный - зато универсальный!
На сервере под nodejs работает серверная часть , которая периодически просматривает debug.log в папке с базой bitcoind демона. Как только в логе появляется запись о новом блоке, тут же эмитится событие через socket.io и все подключенные клиенты в тот же момент получают уведомление. А клиентский скрипт получив данное сообщение сразу обновляет баланс и список транзакций.

Можно было конечно перекомпилировать bitcoind , чтобы он куда-то стучал при появлении нового блока или повесить демона под той же nodejs . Но все это дополнительные сложности в которых нет смысла имхо. Даже если учесть что тут что-то не сработает когда-то , поллинг все равно обновит данные, так что совершенно не критичная секция.

Чуть позже сделаю и курс через сокеты.

P.S. что самое интересное, демка работает даже на обычной читалке Kindle 4  Cheesy С вэбсокетами и всеми ajax скриптами.
420  Local / Бизнес / Re: Какие сервисы использовать для приема биm on: January 25, 2012, 04:07:55 PM
И еще, как раз подобное недавно обсуждали, наблюдение за адресами + уведомление разными способами
Quote
Users add a list of public addresses to be monitored, and BPN sends a notification when a payment is received.
Notifications can currently be made using Email, HTTP POST and Pubnub
http://www.bitping.net/

Что хорошо вдвойне, код сервиса открыт.
Интересно.

Кстати, по поводу уведомлений, запустил я демона не через bicoind а из под nodejs .
Есть такой проектик bitcoin-p2p занятная вещь. Там можно вешать хуки на любые события банальнейшим javascript-ом. Например сделал на сокетах (socket.io) , по типу того как работает http://bitcoincharts.com и mtgox api . Т.е. обновляет не раз в минуту, а можно обновлять баланс только после того, как блок был найден и высылать уведомление пользователю прям Realtime.

Постараюсь и по нему черкануть. Сейчас готовлю серию статей. Сначала по установке демонов на амазон, потом описание api bitcoind.
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 [21] 22 23 24 25 26 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!