Перейти к публикации
cgmax

Кошелек и api к нему

Рекомендованные сообщения

Хочу организовать прием btc на сайте. Что за сайт - не спрашивать, секрет фирмы пока что.

Принцип работы:

- на каждый товар свой адрес кошелька

- транзакции о поступлениях и баланс каждого из адреса в админке

- идентификация клиента не нужна, так как он получает услугу на сайте

 

Свой сервер есть, мощный, на линухе, с самим сайтом тоже проблем нету, нужен сам кошелек и api для работы с ним.

Он-лайн кошели и сервисы для приема не подходят, т.к. нет 100% гарантий работоспособности, к примеру http://blockchain.info/ вроде как удобный, но сервер лежит с утра, и это беда.

 

Вопросы:

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

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

- может кто делал что-то подобное?

 

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

на каждый товар свой адрес кошелька

идентификация клиента не нужна, так как он получает услугу на сайте

как обезопасить?

Кошелёк на сервере нужно держать с нулевым балансом. А адреса заранее нагенерить в нужном количестве и держать wallet.dat(ы) этих адресов в офлайне.

Проверить поступление средств на адреса можно через публичную БД пустого онлайнового кошелька.

Изменено пользователем Exdeath

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

на каждый товар свой адрес кошелька

идентификация клиента не нужна, так как он получает услугу на сайте

>как обезопасить?

Кошелёк на сервере нужно держать кошелёк с нулевым балансом. А адреса заранее нагенерить в нужном количестве и держать в офлайне.

Проверить послепление средств на адреса можно через публичную БД кошелька.

 

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

отсюда другой вопрос - как смотреть с публичной бд кошелька?? от кого инфу то брать??

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

Генеришь большой запас адресов.

Бэкапишь wallet.dat на нескольких флешках. И удаляешь его с сервера(а лучше затереть из /dev/zero или /dev/rand).

Запускаешь кошель и на сервере создаётся новый пустой wallet.dat.  (А ещё лучше нагенерить адреса на другом офлайновом компьютере).

Заносишь нагенереные адреса в свою БД (MySQL, или что у тебя там?).

Держишь кошель с пустым wallet.dat всегда запущеным на сервере. Всегда синхронизированным. Через его БД проверяешь постули ли деньги на такой-то адрес или нет.

(Желательно дожидаться хотя бы одного подтверждения тразакции).

 

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

Изменено пользователем Exdeath

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

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

 

Генеришь большой запас адресов.

Бэкапишь wallet.dat на нескольких флешках. И удаляешь его с сервера(а лучше затереть из /dev/zero или /dev/rand).

Запускаешь кошель и на сервере создаётся новый пустой wallet.dat.  (А ещё лучше нагенерить адреса на другом офлайновом компьютере).

Заносишь нагенереные адреса в свою БД (MySQL, или что у тебя там?).

Держишь кошель с пустым wallet.dat всегда запущеным на сервере. Всегда синхронизированным. Через его БД проверяешь постули ли деньги на такой-то адрес или нет.

(Желательно дожидаться хотя бы одного подтверждения тразакции).

 

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

Понял, спасибо за ответы.

Чет не додумался до пустого второго кошелька, а решение вроде простое и удобное.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Есть bitcoind, который для этого и предназначен.

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

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

- может кто делал что-то подобное?

Возможно вот это окажется полезным.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо, разобрался.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

Во-первых, не придётся платить повторных комиссий во-вторых на сервере не будет никогда храниться вообще никаких средств.

Я бы предпочёл сделать именно так. Я был свидетелем взлома btc-e стандартных мер там не хватило.

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

Да. Все транзакции и балансы хранятся в открытом виде вот в этом формате:

http://code.google.com/p/leveldb/

(актуально, если через bitcoind нельзя смотреть чужие балансы)

Изменено пользователем Exdeath

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

bitcoind и json-rpc настроил, все работает, а как другие балансы посмотреть?

или транзакцию по какому-либо адресу?

и еще поставил maxconnections =1000, прописал нод 20, не поднимается больше 9-10

Изменено пользователем cgmax

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а как другие балансы посмотреть?

Что значит "другие балансы"?

или транзакцию по какому-либо адресу?

Если адрес свой - можно вывод listtransactions по аккаунту распарсить, или не держать больше одного адреса на аккаунте. Если чужой - то проще всего забрать информацию с blockexplorer/blockchain.info.

и еще поставил maxconnections =1000, прописал нод 20, не поднимается больше 9-10

Клиент держит 8 исходящих соединений с сетью (это жестко забито в коде), все остальное - входящие, наличие которых зависит от активности других пользователей в сети. Для полноценной работы клиента 8 соединений вполне достаточно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Quote

еще поставил maxconnections =1000, прописал нод 20, не поднимается больше 9-10

порт для входящих соединений открыт?

Quote

а как другие балансы посмотреть?

или транзакцию по какому-либо адресу?

Нагуглил вот это:

https://github.com/mambaru/leveldb-daemon (для 0.8.1, в 0.7.x- использовался другой формат базы данных)

Транзакции, а значит и балансы на всех адресах храняться там в открытом виде.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×