Bitcoin Forum
April 25, 2024, 01:02:35 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 »  All
  Print  
Author Topic: Tulpenmanie, an exchange client  (Read 8285 times)
Emery (OP)
Newbie
*
Offline Offline

Activity: 12
Merit: 0



View Profile
September 05, 2012, 06:52:26 PM
Last edit: October 03, 2012, 03:53:09 PM by Emery
 #1

Are you tired of in-browser trading? Garish graphic designs got your inter-pipes clogged with cookies? Should you hit refresh or wait for that trade page to load? Is hand formating API calls because you lost your yubikey becoming tedious?

Then for you I present tulpenmanie, a multi-market exchange client: https://github.com/3M3RY/tulpenmanie
https://i.minus.com/idA9mesgKENwI.png
It displays tickers, makes limit and market orders, cancels orders, and can initiate bitcoin transfers between exchanges.

Right now I'm working on supporting streaming exchange APIs which looks like I'll be overhauling the exchange module system. I get that done and I can move on to things like charts and depth tables.

Supported exchanges:
  • Bitstamp
  • BTC-e
  • CambBX
  • MtGox
I'll be adding more, queued by volume.

Requires Python-2.7 and PyQt4.
Unless you're on Gentoo it's manual install only for now.
Gentoo install instructions
Code:
USE="git" emerge -u layman && layman -a bitcoin && emerge -av tulpenmanie

I've got it to run on windows, and I plan to make an installer. Please be patient, I don't have a windows install anywhere. Rest assured that I am making every effort to maintain cross-platform compatibility. First I need to stabilize what I have before I can deal with OS's that I never use.

Getting it to work on pre-intel OSx is almost impossible. As for later versions I don't know.

Consider it in beta for now.
If there are questions or problems I lurk in the #bitcoin channel when I can, nick EM3RY.
If it seems like there questions below that are answered above, it is because I previously didn't address those questions in this message and have made an edit.
1714050155
Hero Member
*
Offline Offline

Posts: 1714050155

View Profile Personal Message (Offline)

Ignore
1714050155
Reply with quote  #2

1714050155
Report to moderator
1714050155
Hero Member
*
Offline Offline

Posts: 1714050155

View Profile Personal Message (Offline)

Ignore
1714050155
Reply with quote  #2

1714050155
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714050155
Hero Member
*
Offline Offline

Posts: 1714050155

View Profile Personal Message (Offline)

Ignore
1714050155
Reply with quote  #2

1714050155
Report to moderator
1714050155
Hero Member
*
Offline Offline

Posts: 1714050155

View Profile Personal Message (Offline)

Ignore
1714050155
Reply with quote  #2

1714050155
Report to moderator
bitcoinspot.nl
Sr. Member
****
Offline Offline

Activity: 300
Merit: 250



View Profile WWW
September 06, 2012, 09:35:05 AM
 #2

probably a noob question, but i will ask anyway Smiley

does this run on windows?

roland.

- bitcoinspot.nl - Alles over bitcoin! -
Emery (OP)
Newbie
*
Offline Offline

Activity: 12
Merit: 0



View Profile
September 06, 2012, 09:33:12 PM
 #3

does this run on windows?

It should be fully cross-platform but I have not tested it on windows or OSX yet. I don't know what is involved in getting it running on windows but I plan on looking into it.

I should note that passwords and API key/secrets are stored plaintext, so keep that in mind if you run one of those crappy backdoored OSes or don't encrypt to disk.
eja
Newbie
*
Offline Offline

Activity: 39
Merit: 0



View Profile
September 06, 2012, 09:40:26 PM
 #4

I tried but I don't seem to get it too work completely.. I added my BTC-e api keys and on the console I can see it fetching ticker data from btc and mtgox (or at least trying to). But I don't see them on the market screen. Am I missing something ?

+1 for the name though Smiley
paraipan
In memoriam
Legendary
*
Offline Offline

Activity: 924
Merit: 1004


Firstbits: 1pirata


View Profile WWW
September 06, 2012, 09:50:38 PM
 #5

I get this error when trying to run it:

Code:
Traceback (most recent call last):
  File "/usr/local/bin/tulpenmanie", line 5, in <module>
    import tulpenmanie.manager
  File "/usr/local/lib/python2.6/dist-packages/tulpenmanie/manager.py", line 20, in <module>
    from tulpenmanie.model.commodity import CommoditiesModel
  File "/usr/local/lib/python2.6/dist-packages/tulpenmanie/model/commodity.py", line 20, in <module>
    from tulpenmanie.model.base import FlatSettingsModel
  File "/usr/local/lib/python2.6/dist-packages/tulpenmanie/model/base.py", line 19, in <module>
    from PyQt4 import QtCore, QtGui, QtSql
ImportError: cannot import name QtSql

BTCitcoin: An Idea Worth Saving - Q&A with bitcoins on rugatu.com - Check my rep
eja
Newbie
*
Offline Offline

Activity: 39
Merit: 0



View Profile
September 06, 2012, 10:01:30 PM
 #6

You probably need to install python-qt4-sql package.
paraipan
In memoriam
Legendary
*
Offline Offline

Activity: 924
Merit: 1004


Firstbits: 1pirata


View Profile WWW
September 06, 2012, 10:11:11 PM
 #7

You probably need to install python-qt4-sql package.

Thanks dude, that was the issue

Edit: Now i'm all set-up but after closing the app and trying to open again it gives this in the console:

Code:
Traceback (most recent call last):
  File "/usr/local/bin/tulpenmanie", line 8, in <module>
    manager = tulpenmanie.manager.Manager(sys.argv)
  File "/usr/local/lib/python2.6/dist-packages/tulpenmanie/manager.py", line 56, in __init__
    self.window = MainWindow()
  File "/usr/local/lib/python2.6/dist-packages/tulpenmanie/ui/mainwindow.py", line 50, in __init__
    self.parse_models()
  File "/usr/local/lib/python2.6/dist-packages/tulpenmanie/ui/mainwindow.py", line 110, in parse_models
    dock)
  File "/usr/local/lib/python2.6/dist-packages/tulpenmanie/ui/exchange.py", line 146, in __init__
    widget = tulpenmanie.ui.widget.CommodityLcdWidget(self.counter_row)
  File "/usr/local/lib/python2.6/dist-packages/tulpenmanie/ui/widget.py", line 52, in __init__
    self.precision = int(model.item(commodity_row, model.PRECISION).text())
ValueError: invalid literal for int() with base 10: ''

BTCitcoin: An Idea Worth Saving - Q&A with bitcoins on rugatu.com - Check my rep
Emery (OP)
Newbie
*
Offline Offline

Activity: 12
Merit: 0



View Profile
September 07, 2012, 05:59:39 PM
 #8

You probably need to install python-qt4-sql package.

Thanks dude, that was the issue

Edit: Now i'm all set-up but after closing the app and trying to open again it gives this in the console:

Code:
Traceback (most recent call last):
 ...
ValueError: invalid literal for int() with base 10: ''


That extraneous QtSql dependency has been removed, and that precision problem is fixed. Pull from git and reinstall and that should fix it.

I tried but I don't seem to get it too work completely.. I added my BTC-e api keys and on the console I can see it fetching ticker data from btc and mtgox (or at least trying to). But I don't see them on the market screen. Am I missing something ?


You will have to enable the market, the exchange, and the account from the two settings dialogs and then restart the program, I'm working on having the settings change the display dynamically right now.
paraipan
In memoriam
Legendary
*
Offline Offline

Activity: 924
Merit: 1004


Firstbits: 1pirata


View Profile WWW
September 07, 2012, 06:09:30 PM
 #9

You probably need to install python-qt4-sql package.

Thanks dude, that was the issue

Edit: Now i'm all set-up but after closing the app and trying to open again it gives this in the console:

Code:
Traceback (most recent call last):
 ...
ValueError: invalid literal for int() with base 10: ''


That extraneous QtSql dependency has been removed, and that precision problem is fixed. Pull from git and reinstall and that should fix it.

...

Now we're talking, yeah  Smiley

Edit: Another issue here. I have the mtgox api key entered but what is "secret" for? I think it has something to do with it because I don't get updates and the console gives me this:

Code:
RROR:tulpenmanie.provider_modules.mtgox:SSL handshake failed
DEBUG:tulpenmanie.provider_modules.mtgox:POSTing to https://mtgox.com/api/1/BTCUSD/ticker
ERROR:tulpenmanie.provider_modules.mtgox:SSL handshake failed
DEBUG:tulpenmanie.provider_modules.mtgox:POSTing to https://mtgox.com/api/1/BTCUSD/ticker
ERROR:tulpenmanie.provider_modules.mtgox:SSL handshake failed
DEBUG:tulpenmanie.provider_modules.mtgox:POSTing to https://mtgox.com/api/1/BTCUSD/ticker
ERROR:tulpenmanie.provider_modules.mtgox:SSL handshake failed
DEBUG:tulpenmanie.provider_modules.mtgox:POSTing to https://mtgox.com/api/1/BTCUSD/ticker
ERROR:tulpenmanie.provider_modules.mtgox:SSL handshake failed
DEBUG:tulpenmanie.provider_modules.mtgox:POSTing to https://mtgox.com/api/1/BTCUSD/ticker
ERROR:tulpenmanie.provider_modules.mtgox:SSL handshake failed

BTCitcoin: An Idea Worth Saving - Q&A with bitcoins on rugatu.com - Check my rep
Emery (OP)
Newbie
*
Offline Offline

Activity: 12
Merit: 0



View Profile
September 08, 2012, 08:54:56 PM
 #10

I have the mtgox api key entered but what is "secret" for? I think it has something to do with it because I don't get updates and the console gives me this:

Code:
DEBUG:tulpenmanie.provider_modules.mtgox:POSTing to https://mtgox.com/api/1/BTCUSD/ticker
ERROR:tulpenmanie.provider_modules.mtgox:SSL handshake failed

MtGox API authentication uses a key and secret, the key identifies you, and the secret is for signing requests. You only see the secret when you create the key/secret pair, so you'll probably need to create a new pair.

As for the SSL handshake error, I would think that would only happen if MtGox's SSL certificate couldn't be verified.
paraipan
In memoriam
Legendary
*
Offline Offline

Activity: 924
Merit: 1004


Firstbits: 1pirata


View Profile WWW
September 10, 2012, 03:41:24 PM
 #11

I have the mtgox api key entered but what is "secret" for? I think it has something to do with it because I don't get updates and the console gives me this:

Code:
DEBUG:tulpenmanie.provider_modules.mtgox:POSTing to https://mtgox.com/api/1/BTCUSD/ticker
ERROR:tulpenmanie.provider_modules.mtgox:SSL handshake failed

MtGox API authentication uses a key and secret, the key identifies you, and the secret is for signing requests. You only see the secret when you create the key/secret pair, so you'll probably need to create a new pair.

As for the SSL handshake error, I would think that would only happen if MtGox's SSL certificate couldn't be verified.

Got it, thanks, hope it works right today  Smiley

BTCitcoin: An Idea Worth Saving - Q&A with bitcoins on rugatu.com - Check my rep
armodar
Newbie
*
Offline Offline

Activity: 25
Merit: 0



View Profile
September 10, 2012, 03:47:08 PM
 #12

I would REALLY like to know how to install this on windows...
Akka
Legendary
*
Offline Offline

Activity: 1232
Merit: 1001



View Profile
September 10, 2012, 03:54:34 PM
 #13

Me too. Seems really cool. But I don't get it to work in windows.

But I'm probaply just to much of a non geek. Getting P2Pool to work was the only Python thing I did so far and that did me take hours.

All previous versions of currency will no longer be supported as of this update
Deafboy
Hero Member
*****
Offline Offline

Activity: 482
Merit: 502



View Profile WWW
September 10, 2012, 04:04:12 PM
 #14

Are you going to implement some simple rules (if price higher than X, sell.. etc.) or at least possibility to create bots as plugins? Btw. dividing app to server/client part would be awesome.
My first speculation profit is going to your donation address anyway... thanks.
Emery (OP)
Newbie
*
Offline Offline

Activity: 12
Merit: 0



View Profile
September 11, 2012, 12:46:23 AM
 #15

Are you going to implement some simple rules (if price higher than X, sell.. etc.) or at least possibility to create bots as plugins? Btw. dividing app to server/client part would be awesome.

I think it'd be cool to have a little interpreter and a set of predefined variables and functions to implement stop-loss and bot logic, which could be stored as scripts. That is easier said than done but I'm working on charting for now which should any statistical analysis readily available.
gweedo
Legendary
*
Offline Offline

Activity: 1498
Merit: 1000


View Profile
September 11, 2012, 01:19:42 AM
 #16

anyone try this on mac OSX 10.8?
unclescrooge
aka Raphy
Hero Member
*****
Offline Offline

Activity: 868
Merit: 1000


View Profile
September 11, 2012, 12:16:28 PM
 #17

You're the man Emery, I'm gonna try this now Smiley
davout
Legendary
*
Offline Offline

Activity: 1372
Merit: 1007


1davout


View Profile WWW
September 11, 2012, 12:43:02 PM
 #18

anyone try this on mac OSX 10.8?
I stopped right at sudo

HDSolar
Sr. Member
****
Offline Offline

Activity: 386
Merit: 250



View Profile WWW
September 11, 2012, 12:47:01 PM
 #19

This is cool, keep it up and a windows deployment would be sweet.

Get paid to be social and visit HypeWizard today!  www.hypewiz.com
AR-15 80% at www.uspatriotarmory.com
my Cryptanalys.is profile
unclescrooge
aka Raphy
Hero Member
*****
Offline Offline

Activity: 868
Merit: 1000


View Profile
September 11, 2012, 12:50:40 PM
 #20

What is the unit for refresh rate of the exchanges settings?

Also, I tried to look at the source code and did not find nothing "suspicious" (sorry Emery but I won't set secret/api access in unknown software without checking it first). But I'm not a programmer so if anyone want to cross check... Smiley
Pages: [1] 2 3 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!