Tachikoma (OP)
|
|
November 03, 2013, 04:36:20 PM Last edit: January 25, 2014, 10:48:05 AM by Tachikoma |
|
This is the joint topic for all things that have to do with my implementations of the Mastercoin. Mastercoin-explorer, a website for looking up Mastercoin transactions. Mastercoin-ruby, a ruby library for encoding/decoding Mastercoin messages. Mastercoin-wallet, a thin client for sending/creating Mastercoin transactions. This topic is meant to be a centralised place to discuss the behaviour and report bugs for these libraries. Mastercoin-walletFeatures- View your transactions
- Create/Send Simple Send transactions
- Create/Send distributed Sell orders
- Create/Send distributed Purchase orders
- Create/Send Bitcoin payments for Purchase orders
Mastercoin wallet is a proof-of-concept thin client for Mastercoin. It communicates with Mastercoin-explorer in order to facilitates it features. To install Mastercoin-wallet read the Readme instructions. Once you have the dependencies it's a matter of typing 'gem install mastercoin-wallet' to install it and 'mastercoin-wallet' to start it. If you are using Bitcoind currently you can aquire your private key using the dumpprivkey console command. Gotcha's/tips while using the software- The wallet requires at least Qt 4.7 for now. It will crash with 'undefined method PlaceHolderText' if you don't have it.
- Mastercoin-explorer is currently updating it's database every 15 minutes. It is possible that data displayed is thus lagging behind other sources.
- Mastercoin-explorer is currently updating it's database every 15 minutes. It is possible that data displayed is thus lagging behind other sources.
- There will be a log file in your home folder (~/.mastercoin-wallet/debug.log on unix-like systems) that will give you the raw transaction hash that you can use to decode the messages.
- Please realise that each Mastercoin transaction, even if it's test, will cost real Bitcoins. (even if they are just costing tiny amounts)
Installation on UbuntuThis is tested on 13.10 but please let me know if it works on others. sudo apt-get -y install curl curl -L https://gist.github.com/maran/8182379/raw/7309391a1e2341ff9f0cb1ae6603e8006cb891cc/install.sh | bash
This will probably take about 20 minutes depending on your CPU.
|
|
|
|
maxmint
|
|
November 03, 2013, 05:32:35 PM |
|
Mastercoin wallet looks great! I'm on OS X, I guess there's no out-of-the-box binary available yet, right?
|
|
|
|
Tachikoma (OP)
|
|
November 03, 2013, 05:33:31 PM |
|
I've spend some time trying to package it but ran into a lot of problems. I will try it again but I didn't want to 'waste' too much time on packaging while I was still adding in features.
|
|
|
|
maxmint
|
|
November 03, 2013, 05:39:30 PM |
|
I've spend some time trying to package it but ran into a lot of problems. I will try it again but I didn't want to 'waste' too much time on packaging while I was still adding in features.
Of course. Will try to get it running using the readme.
|
|
|
|
StarenseN
Legendary
Offline
Activity: 2478
Merit: 1362
|
|
November 03, 2013, 07:13:15 PM |
|
This is awsome
|
|
|
|
Tachikoma (OP)
|
|
November 03, 2013, 07:33:29 PM |
|
I've spend some time trying to package it but ran into a lot of problems. I will try it again but I didn't want to 'waste' too much time on packaging while I was still adding in features.
Of course. Will try to get it running using the readme. If you have any problems let me know. I am on OS X myself so I should be able to make it work for you
|
|
|
|
superfluouso
|
|
November 03, 2013, 08:31:49 PM |
|
I've spend some time trying to package it but ran into a lot of problems. I will try it again but I didn't want to 'waste' too much time on packaging while I was still adding in features.
Of course. Will try to get it running using the readme. If you have any problems let me know. I am on OS X myself so I should be able to make it work for you Will try to keep my noob questions to a minimum...but have never dealt with QT before..is QT 5 ok or must be QT 4? Asking because I'm getting build errors..jsut trying on OS X for now..will try ubuntu as well.
|
|
|
|
Tachikoma (OP)
|
|
November 03, 2013, 09:03:42 PM |
|
I believe QT5 is backwards compatible with QT4. Do know that brew has qt4. brew install qt will install 4, brew install qt5 will install 5.
|
|
|
|
romerun
Legendary
Offline
Activity: 1078
Merit: 1002
Bitcoin is new, makes sense to hodl.
|
|
November 04, 2013, 12:14:05 AM |
|
holy poo!
|
|
|
|
superfluouso
|
|
November 04, 2013, 12:37:44 AM Last edit: November 04, 2013, 01:30:25 AM by superfluouso |
|
I'm having probs with the the qtbindings when installing. QT 5 would not work for me at all so trying now with QT 4 and from what I can tell I'm getting stuck at the smokeqtsql install:
In file included from /Library/Ruby/Gems/2.0.0/gems/qtbindings-4.8.3.0/ext/build/smoke/qtsql/x_1.cpp:2: In file included from /Library/Ruby/Gems/2.0.0/gems/qtbindings-4.8.3.0/ext/smoke/qtsql/qtsql_includes.h:3: In file included from /Library/Frameworks/QtSql.framework/Headers/QtSql:5: /Library/Frameworks/QtSql.framework/Headers/qsqlrelationaldelegate.h:58:7: error: base class 'QItemDelegate' has private copy constructor class QSqlRelationalDelegate: public QItemDelegate ^ /Library/Frameworks/QtGui.framework/Headers/qitemdelegate.h:130:20: note: declared private here Q_DISABLE_COPY(QItemDelegate) ^ /Library/Frameworks/QtCore.framework/Headers/qglobal.h:2516:5: note: expanded from macro 'Q_DISABLE_COPY' Class(const Class &); \ ^ /Library/Ruby/Gems/2.0.0/gems/qtbindings-4.8.3.0/ext/build/smoke/qtsql/x_1.cpp:3172:75: note: implicit default copy constructor for 'QSqlRelationalDelegate' first required here explicit x_QSqlRelationalDelegate(const QSqlRelationalDelegate& x1) : QSqlRelationalDelegate(x1) {} ^ 1 warning and 1 error generated. make[3]: *** [smoke/qtsql/CMakeFiles/smokeqtsql.dir/x_1.o] Error 1 make[2]: *** [smoke/qtsql/CMakeFiles/smokeqtsql.dir/all] Error 2 make[1]: *** [all] Error 2 make: *** [build] Error 2
Anyone have suggestions for something obvious I may be missing?
|
|
|
|
romerun
Legendary
Offline
Activity: 1078
Merit: 1002
Bitcoin is new, makes sense to hodl.
|
|
November 04, 2013, 12:46:57 AM |
|
it's saying cannot get bitcoin address from private key which I got from dumpprivkey
|
|
|
|
ASIC-8Tile
|
|
November 04, 2013, 02:07:07 AM Last edit: November 04, 2013, 02:45:28 AM by ASIC-8Tile |
|
Hi Tachikoma, Looks great! I am getting the following error once I type "gem install mastercoin-wallet" from the instructions. ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions into the /Library/Ruby/Gems/1.8 directory I then tried installing JewelryBox via https://jewelrybox.unfiniti.com/ v.1.5.1700 and installed 1.9.2-p320 1.) Clicked on Add Ruby from the top of the GUI 2.) Selected 1.9.2-p320 from left Then received this message once I type "gem install mastercoin-wallet" ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError) SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed ( https://rubygems.global.ssl.fastly.net/quick/Marshal.4.8/mastercoin-ruby-0.0.5.gemspec.rz) Is there an easier way?
|
|
|
|
superfluouso
|
|
November 04, 2013, 04:18:19 AM |
|
Hi Tachikoma, Looks great! I am getting the following error once I type "gem install mastercoin-wallet" from the instructions. ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions into the /Library/Ruby/Gems/1.8 directory I then tried installing JewelryBox via https://jewelrybox.unfiniti.com/ v.1.5.1700 and installed 1.9.2-p320 1.) Clicked on Add Ruby from the top of the GUI 2.) Selected 1.9.2-p320 from left Then received this message once I type "gem install mastercoin-wallet" ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError) SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed ( https://rubygems.global.ssl.fastly.net/quick/Marshal.4.8/mastercoin-ruby-0.0.5.gemspec.rz) Is there an easier way? you need to elevate your permissions to that directory try: sudo gem install mastercoin-wallet
|
|
|
|
Tachikoma (OP)
|
|
November 04, 2013, 09:27:44 AM |
|
it's saying cannot get bitcoin address from private key which I got from dumpprivkey
Did you check for trailing whitespace? Does your key start with a 5? I'm having probs with the the qtbindings when installing. QT 5 would not work for me at all so trying now with QT 4 and from what I can tell I'm getting stuck at the smokeqtsql install:
In file included from /Library/Ruby/Gems/2.0.0/gems/qtbindings-4.8.3.0/ext/build/smoke/qtsql/x_1.cpp:2: In file included from /Library/Ruby/Gems/2.0.0/gems/qtbindings-4.8.3.0/ext/smoke/qtsql/qtsql_includes.h:3: In file included from /Library/Frameworks/QtSql.framework/Headers/QtSql:5: /Library/Frameworks/QtSql.framework/Headers/qsqlrelationaldelegate.h:58:7: error: base class 'QItemDelegate' has private copy constructor class QSqlRelationalDelegate: public QItemDelegate ^ /Library/Frameworks/QtGui.framework/Headers/qitemdelegate.h:130:20: note: declared private here Q_DISABLE_COPY(QItemDelegate) ^ /Library/Frameworks/QtCore.framework/Headers/qglobal.h:2516:5: note: expanded from macro 'Q_DISABLE_COPY' Class(const Class &); \ ^ /Library/Ruby/Gems/2.0.0/gems/qtbindings-4.8.3.0/ext/build/smoke/qtsql/x_1.cpp:3172:75: note: implicit default copy constructor for 'QSqlRelationalDelegate' first required here explicit x_QSqlRelationalDelegate(const QSqlRelationalDelegate& x1) : QSqlRelationalDelegate(x1) {} ^ 1 warning and 1 error generated. make[3]: *** [smoke/qtsql/CMakeFiles/smokeqtsql.dir/x_1.o] Error 1 make[2]: *** [smoke/qtsql/CMakeFiles/smokeqtsql.dir/all] Error 2 make[1]: *** [all] Error 2 make: *** [build] Error 2
Anyone have suggestions for something obvious I may be missing?
I'm guessing you are on Ruby 2.0 ? How did you install qt? Did you use brew to do it? Hi Tachikoma, Looks great! I am getting the following error once I type "gem install mastercoin-wallet" from the instructions. ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions into the /Library/Ruby/Gems/1.8 directory I then tried installing JewelryBox via https://jewelrybox.unfiniti.com/ v.1.5.1700 and installed 1.9.2-p320 1.) Clicked on Add Ruby from the top of the GUI 2.) Selected 1.9.2-p320 from left Then received this message once I type "gem install mastercoin-wallet" ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError) SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed it's saying cannot get bitcoin address from private key which I got from dumpprivkey
( https://rubygems.global.ssl.fastly.net/quick/Marshal.4.8/mastercoin-ruby-0.0.5.gemspec.rz) Is there an easier way? Did you check your ruby version with ruby -v? If have 1.8 please install rvm like the instructions say and try again
|
|
|
|
maxmint
|
|
November 04, 2013, 09:50:02 AM |
|
For a non-dev like me it was quite a challenge to install this, but got it running finally. Awesome wallet so far! Unfortunately, the app crashes when trying to make a simple send or when creating a new selling / purchasing offer. I suspect that's just a problem with my specific system setup (I'm on OS X 10.8.5) but I'm not sure yet what's causing this. Here's the terminal output after the crash (I removed the Bitcoin::Key part, don't know if this is sensitive data): /Users/max/.rvm/gems/ruby-1.9.3-p448/gems/mastercoin-wallet-0.0.3/lib/mastercoin-wallet/builder.rb:178:in `create_transaction_with_keys': undefined method `pub_compressed' for #<Bitcoin::Key:XXXXXXXX> (NoMethodError) from /Users/max/.rvm/gems/ruby-1.9.3-p448/gems/mastercoin-wallet-0.0.3/lib/mastercoin-wallet/gui/simple_send_window.rb:51:in `send_payment' from /Users/max/.rvm/gems/ruby-1.9.3-p448/gems/qtbindings-4.8.3.0/lib/Qt/qtruby4.rb:880:in `qt_metacall' from /Users/max/.rvm/gems/ruby-1.9.3-p448/gems/qtbindings-4.8.3.0/lib/Qt/qtruby4.rb:880:in `method_missing' from /Users/max/.rvm/gems/ruby-1.9.3-p448/gems/qtbindings-4.8.3.0/lib/Qt/qtruby4.rb:880:in `exec' from /Users/max/.rvm/gems/ruby-1.9.3-p448/gems/mastercoin-wallet-0.0.3/lib/mastercoin-wallet/gui/main_window.rb:95:in `new_simple_send' from /Users/max/.rvm/gems/ruby-1.9.3-p448/gems/qtbindings-4.8.3.0/lib/Qt/qtruby4.rb:880:in `qt_metacall' from /Users/max/.rvm/gems/ruby-1.9.3-p448/gems/qtbindings-4.8.3.0/lib/Qt/qtruby4.rb:880:in `method_missing' from /Users/max/.rvm/gems/ruby-1.9.3-p448/gems/qtbindings-4.8.3.0/lib/Qt/qtruby4.rb:880:in `exec' from /Users/max/.rvm/gems/ruby-1.9.3-p448/gems/mastercoin-wallet-0.0.3/bin/mastercoin-wallet:12:in `<top (required)>' from /Users/max/.rvm/gems/ruby-1.9.3-p448/bin/mastercoin-wallet:23:in `load' from /Users/max/.rvm/gems/ruby-1.9.3-p448/bin/mastercoin-wallet:23:in `<main>' from /Users/max/.rvm/gems/ruby-1.9.3-p448/bin/ruby_executable_hooks:15:in `eval' from /Users/max/.rvm/gems/ruby-1.9.3-p448/bin/ruby_executable_hooks:15:in `<main>' /Users/max/.rvm/gems/ruby-1.9.3-p448/bin/ruby_executable_hooks: [BUG] Segmentation fault ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-darwin12.5.0]
-- Control frame information ----------------------------------------------- c:0001 p:0000 s:0002 b:0002 l:0007c8 d:0007c8 TOP
And another suggestion: column sorting on the "Distributed exchange" tab would be great (e.g. sort ascending by "Price per coin").
|
|
|
|
Tachikoma (OP)
|
|
November 04, 2013, 10:03:58 AM |
|
For a non-dev like me it was quite a challenge to install this, but got it running finally. Awesome wallet so far! Unfortunately, the app crashes when trying to make a simple send or when creating a new selling / purchasing offer. I suspect that's just a problem with my specific system setup (I'm on OS X 10.8.5) but I'm not sure yet what's causing this. Here's the terminal output after the crash (I removed the Bitcoin::Key part, don't know if this is sensitive data): /Users/max/.rvm/gems/ruby-1.9.3-p448/gems/mastercoin-wallet-0.0.3/lib/mastercoin-wallet/builder.rb:178:in `create_transaction_with_keys': undefined method `pub_compressed' for #<Bitcoin::Key:XXXXXXXX> (NoMethodError) from /Users/max/.rvm/gems/ruby-1.9.3-p448/gems/mastercoin-wallet-0.0.3/lib/mastercoin-wallet/gui/simple_send_window.rb:51:in `send_payment' from /Users/max/.rvm/gems/ruby-1.9.3-p448/gems/qtbindings-4.8.3.0/lib/Qt/qtruby4.rb:880:in `qt_metacall' from /Users/max/.rvm/gems/ruby-1.9.3-p448/gems/qtbindings-4.8.3.0/lib/Qt/qtruby4.rb:880:in `method_missing' from /Users/max/.rvm/gems/ruby-1.9.3-p448/gems/qtbindings-4.8.3.0/lib/Qt/qtruby4.rb:880:in `exec' from /Users/max/.rvm/gems/ruby-1.9.3-p448/gems/mastercoin-wallet-0.0.3/lib/mastercoin-wallet/gui/main_window.rb:95:in `new_simple_send' from /Users/max/.rvm/gems/ruby-1.9.3-p448/gems/qtbindings-4.8.3.0/lib/Qt/qtruby4.rb:880:in `qt_metacall' from /Users/max/.rvm/gems/ruby-1.9.3-p448/gems/qtbindings-4.8.3.0/lib/Qt/qtruby4.rb:880:in `method_missing' from /Users/max/.rvm/gems/ruby-1.9.3-p448/gems/qtbindings-4.8.3.0/lib/Qt/qtruby4.rb:880:in `exec' from /Users/max/.rvm/gems/ruby-1.9.3-p448/gems/mastercoin-wallet-0.0.3/bin/mastercoin-wallet:12:in `<top (required)>' from /Users/max/.rvm/gems/ruby-1.9.3-p448/bin/mastercoin-wallet:23:in `load' from /Users/max/.rvm/gems/ruby-1.9.3-p448/bin/mastercoin-wallet:23:in `<main>' from /Users/max/.rvm/gems/ruby-1.9.3-p448/bin/ruby_executable_hooks:15:in `eval' from /Users/max/.rvm/gems/ruby-1.9.3-p448/bin/ruby_executable_hooks:15:in `<main>' /Users/max/.rvm/gems/ruby-1.9.3-p448/bin/ruby_executable_hooks: [BUG] Segmentation fault ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-darwin12.5.0]
-- Control frame information ----------------------------------------------- c:0001 p:0000 s:0002 b:0002 l:0007c8 d:0007c8 TOP
And another suggestion: column sorting on the "Distributed exchange" tab would be great (e.g. sort ascending by "Price per coin"). Ooh interesting. The first real bug report! Thanks for taking the time to set it up. I know it's hard but this is also partly because I don't want to encourage everybody to start playing with this. If you succeed at installing it means you are fairly technical and probably better to provide good feedback. I think it's using an older version of the bitcoin-ruby gem. I was hoping that the gem would be smart enough to see it requires the bitcoin-ruby version from my github but this is sadly not the case. I will see what I can do to permanently fix this but for now please uninstall the bitcoin-ruby gem by doing gem uninstall bitcoin-ruby. Download https://dl.dropboxusercontent.com/u/374/bitcoin-ruby-0.0.1.gem this version and then run gem install bitcoin-ruby-0.0.1.gem from the folder you downloaded it from.
|
|
|
|
maxmint
|
|
November 04, 2013, 10:13:13 AM |
|
I think it's using an older version of the bitcoin-ruby gem. I was hoping that the gem would be smart enough to see it requires the bitcoin-ruby version from my github but this is sadly not the case. I will see what I can do to permanently fix this but for now please uninstall the bitcoin-ruby gem by doing gem uninstall bitcoin-ruby. Download https://dl.dropboxusercontent.com/u/374/bitcoin-ruby-0.0.1.gem this version and then run gem install bitcoin-ruby-0.0.1.gem from the folder you downloaded it from. Thanks, that did the trick! Just made a simple send and the app did not crash. I'll wait to see if it actually appears on Mastercoin-explorer.
|
|
|
|
Tachikoma (OP)
|
|
November 04, 2013, 10:18:18 AM |
|
Awesome! As soon as I got some time I am going to work on making mastercoin-explorer faster. Zathras already implemented this but showing unconfirmed transactions on the site would be really awesome. Right now it needs to be included in a block and then my script needs to parse it. This is slow and once the distributed exchange starts up this will really make a difference in the user experience. I will also add more sources to push the transaction. Right now it pushes the transaction to the Bitcoin instance running on the mastercoin-explorer site. I will also make it push it to blockchain and Eligius to make sure it has fast propegation when you send it through the Mastercoin-Wallet. The earlier it's in a block the better
|
|
|
|
maxmint
|
|
November 04, 2013, 02:28:13 PM |
|
I played around a bit and created a couple of transactions, all of them using MSC wallet address 1F73UPD5xBKgTSRd8q6QhuncVmDnJAHxYV Here's my results: Simple SendI made 2 simple sends, each time sending 0.1 MSC to 1GMqxdgNPUP3BGtvwMT1LzmZ9JxpYva2YH. Both transactions did not show up on Mastercoin-explorer. I did not catch the first transaction hash, but the second one was this: f1821adf1ba3361684897a3cb8ba3610e3f04bad8c9778dd82324c4e04afd84b Both transactions were created a couple of hours ago, so I guess they should have shown up on Mastercoin-explorer in the meantime. Selling offerThis one worked right away and showed up on Mastercoin-explorer: http://mastercoin-explorer.com/transactions/4aaf84f80dd95d8cb22f3978beeb4d9e0ccb590870e16e176ce9d487f063614dPurchase offerCreating a purchase offer still crashes the app for me. I tried to create a purchase offer with this data: Mastercoin address: 1EdAjiApS5cCpHdH4RKPMab1xmMVRWjLvk Amount: 0.1 Required fee: 0.001 Currency: Test Mastercoin Here's the log for this crash: /Users/max/.rvm/gems/ruby-1.9.3-p448/gems/mastercoin-wallet-0.0.3/lib/mastercoin-wallet/gui/purchase_offer_window.rb:50:in `send_transaction': uninitialized constant Mastercoin::PurchaseOffer (NameError) from /Users/max/.rvm/gems/ruby-1.9.3-p448/gems/qtbindings-4.8.3.0/lib/Qt/qtruby4.rb:880:in `qt_metacall' from /Users/max/.rvm/gems/ruby-1.9.3-p448/gems/qtbindings-4.8.3.0/lib/Qt/qtruby4.rb:880:in `method_missing' from /Users/max/.rvm/gems/ruby-1.9.3-p448/gems/qtbindings-4.8.3.0/lib/Qt/qtruby4.rb:880:in `exec' from /Users/max/.rvm/gems/ruby-1.9.3-p448/gems/mastercoin-wallet-0.0.3/lib/mastercoin-wallet/gui/main_window.rb:105:in `new_purchase_offer' from /Users/max/.rvm/gems/ruby-1.9.3-p448/gems/mastercoin-wallet-0.0.3/lib/mastercoin-wallet/gui/main_window.rb:9:in `create_order' from /Users/max/.rvm/gems/ruby-1.9.3-p448/gems/qtbindings-4.8.3.0/lib/Qt/qtruby4.rb:880:in `qt_metacall' from /Users/max/.rvm/gems/ruby-1.9.3-p448/gems/qtbindings-4.8.3.0/lib/Qt/qtruby4.rb:880:in `method_missing' from /Users/max/.rvm/gems/ruby-1.9.3-p448/gems/qtbindings-4.8.3.0/lib/Qt/qtruby4.rb:880:in `exec' from /Users/max/.rvm/gems/ruby-1.9.3-p448/gems/mastercoin-wallet-0.0.3/bin/mastercoin-wallet:12:in `<top (required)>' from /Users/max/.rvm/gems/ruby-1.9.3-p448/bin/mastercoin-wallet:23:in `load' from /Users/max/.rvm/gems/ruby-1.9.3-p448/bin/mastercoin-wallet:23:in `<main>' from /Users/max/.rvm/gems/ruby-1.9.3-p448/bin/ruby_executable_hooks:15:in `eval' from /Users/max/.rvm/gems/ruby-1.9.3-p448/bin/ruby_executable_hooks:15:in `<main>' /Users/max/.rvm/gems/ruby-1.9.3-p448/bin/ruby_executable_hooks: [BUG] Segmentation fault ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-darwin12.5.0]
-- Control frame information ----------------------------------------------- c:0001 p:0000 s:0002 b:0002 l:000e98 d:000e98 TOP
|
|
|
|
jeroenn13
|
|
November 04, 2013, 02:31:14 PM |
|
Will there be a Windows mastercoin wallet soon?
I guess theres around 85% of mastercoin users are using windows as OS.
|
|
|
|
|