Jump to content
cgmax

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

Recommended Posts

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

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

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

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

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

 

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

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

 

Вопросы:

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

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

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

 

 

 

 

 

Share this post


Link to post
Share on other sites

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

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

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

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

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

Edited by Exdeath

Share this post


Link to post
Share on other sites

 

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

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

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

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

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

 

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

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

Share this post


Link to post
Share on other sites

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

 

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

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

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

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

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

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

 

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

Edited by Exdeath

Share this post


Link to post
Share on other sites

 

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

 

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

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

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

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

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

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

 

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

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

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

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

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

Edited by Exdeath

Share this post


Link to post
Share on other sites

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

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

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

Edited by cgmax

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

Quote

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

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

Quote

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...