Bitcoin Forum
January 27, 2020, 03:28:59 PM *
News: Latest Bitcoin Core release: 0.19.0.1 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 ... 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 [129] 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 ... 231 »
  Print  
Author Topic: Armory - Discussion Thread  (Read 520986 times)
goatpig
Moderator
Legendary
*
Offline Offline

Activity: 2436
Merit: 1142

Armory Developer


View Profile
September 13, 2013, 07:32:20 PM
 #2561

I have successfully compiled the ramreduceleveldb branch on vc11 x86 (msvs2012 express). The method outlined can be reproduced on vc9/10 (msvs 2008/2010) with no extra changes to either projects (leveldbwin and armoryengine_msvs2005). Keep in mind that to since the compile relies on a library compilation of leveldbwin, you need to compile armory with the same compiler as you used for leveldb. (Don't go around building leveldb with vc9 and then linking it to an armory project built with vc11)

Note: this is a compile of armoryengine_msvs2005 project only, not the SWIG to python part, which is trivial in this case from what I understand of the project (i don't know squat about python and swig). The compile is untested, I simply went as far as yielding a ArmoryEngine_MSVS2005.dll (no main declared in this branch)

Step #1: leveldb

Grab leveldbwin from the google project page: https://code.google.com/p/leveldbwin/

1) Pick the project of your liking in the build folder (msvc9 or msvc10). I used msvc10 and converted the project to msvc11 since this is my compiler.

1.a) To compile you need ATL. If you're using an express version of msvc, you'll have to install WinDDK 7.1 (Driver Development Kit): http://www.microsoft.com/en-us/download/details.aspx?id=11800. Make sure you grab 7.1 and not 8.0 or WinSDK as those do not support ATL anymore. Skip this step if you have a pay version of msvs.

2) In the configuration manager, pick Release (for the static lib compilation). Don't bother compiling test, you don't need it. I used snappy for compilation, so no defines to drop at this point.

3) Right click each project (leveldb and snappy), go to "Config properties -> C/C++ -> Code generation". Make sure Runtime Library is set as Multi Threader (/MT). This defines whether the C librairies used to compile are statically or dynamically linked. My understanding of this project is that you'd rather not distribute msvc runtime binaries so stick to static compile.

4) Rebuild the project, pick up leveldb.lib in ./_exports/Release and shove it where you want to have it for the armory compile (either make a new folder for it or directly link to it from the project)

Step #2: Armory

Here is the list of all the modifications I did to the code and the project to get it to compile:

Quote
changes to armory bitcoin for msvc compilation:

# added compiler directives in binarydata.h to not manually define int types on vc10+

# added compiler directives in log.h to not overload logstream and children class >> operator with
both size_t and unsigned int arguments in msvc. They're considered the same and the compiler will
complain about method redefinition.

# added leveldb include folder to msvc project

# excluded FileDataPtr and BlockUtilsTest from msvc project (not in the branch but in the msvc project)

# added leveldb_wrapper.cpp to project

# added StoreBlockObj.cpp to project

# NowTimeInt wasn't defined for win32 (log.h). Defined it by copying the non win32 code and including
<time.h>. This version of time returns the amount of seconds since the unix epoch on my machine
(win7 x64 sp1). It's safe to assume all version of windows will behave in such fashion as this library is
wrapped around a WinAPI call on Windows.

# added new folder to hold static leveldb.lib

# added leveldb.lib to addional dependencies

# changed project from .exe to .dll as there is no main defined (probably cause there is no test code)

# got rid of build events for armoryengine_msvs2005.sln

# make sure you're using Multi Threaded (/MT) for the runtime library.

# rebuild only the armoryengine_msvs2005 project so that it doesn't trigger errors with the custom build events failing to grab guardian or py2exe.

voila


Note: I first tried to dynamically link leveldb to armory, but it failed to export leveldb::DestroyDB properly. The issue disappeared with the static link so I stuck to that for now. On top of that leveldbwin has no x64 build setup, so I'll consider making my own compile of leveldb to allow for dynamic linking and x64 releases.

There are about 100 warnings, 90% of them are related to possible data loss due to assignment without type casting. The rest seems to be msvc complaining about unsafe routines. Both cases are irrelevant.

1580138939
Hero Member
*
Offline Offline

Posts: 1580138939

View Profile Personal Message (Offline)

Ignore
1580138939
Reply with quote  #2

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

Posts: 1580138939

View Profile Personal Message (Offline)

Ignore
1580138939
Reply with quote  #2

1580138939
Report to moderator
etotheipi
Legendary
*
Offline Offline

Activity: 1428
Merit: 1005


Core Armory Developer


View Profile WWW
September 16, 2013, 05:42:15 AM
 #2562

Big news! 

https://bitcointalk.org/index.php?topic=56424.msg671650#msg671650

P.S. - This is still the Armory discussion thread, I just changed the topic temporarily to draw attention to the big news!

@goatpig -- thanks!  you may yet get the bounty.  But I'll be back to you later after the media storm subsides Smiley

Founder and CEO of Armory Technologies, Inc.
Armory Bitcoin Wallet: Bringing cold storage to the average user!
Only use Armory software signed by the Armory Offline Signing Key (0x98832223)

Please donate to the Armory project by clicking here!    (or donate directly via 1QBDLYTDFHHZAABYSKGKPWKLSXZWCCJQBX -- yes, it's a real address!)
picobit
Hero Member
*****
Offline Offline

Activity: 547
Merit: 500


Decor in numeris


View Profile
September 16, 2013, 06:39:23 AM
 #2563

Congratulations !!
 Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy Cheesy
Rampion
Legendary
*
Offline Offline

Activity: 1120
Merit: 1000


View Profile
September 16, 2013, 06:42:23 AM
 #2564

Congrats, Alan! Really excited about this!

solex
Legendary
*
Offline Offline

Activity: 1078
Merit: 1000


100 satoshis -> ISO code


View Profile
September 16, 2013, 07:03:53 AM
 #2565

If any BF member has not voted yet - then vote for Trace Mayer. He rocks!!

halfawake
Hero Member
*****
Offline Offline

Activity: 490
Merit: 500


View Profile
September 16, 2013, 07:33:49 AM
 #2566

Big news! 

https://bitcointalk.org/index.php?topic=56424.msg671650#msg671650

P.S. - This is still the Armory discussion thread, I just changed the topic temporarily to draw attention to the big news!

@goatpig -- thanks!  you may yet get the bounty.  But I'll be back to you later after the media storm subsides Smiley

Congratulations!  This is great news.

BTC: 13kJEpqhkW5MnQhWLvum7N5v8LbTAhzeWj
TierNolan
Legendary
*
Offline Offline

Activity: 1232
Merit: 1005


View Profile
September 16, 2013, 08:33:13 AM
 #2567

Big news! 

Wow.

Does that mean you are switching to full time work on the project (or were you already)?

1LxbG5cKXzTwZg9mjL3gaRE835uNQEteWF
wachtwoord
Legendary
*
Offline Offline

Activity: 2100
Merit: 1039


View Profile
September 16, 2013, 08:40:59 AM
 #2568

Big news! 

https://bitcointalk.org/index.php?topic=56424.msg671650#msg671650

P.S. - This is still the Armory discussion thread, I just changed the topic temporarily to draw attention to the big news!

@goatpig -- thanks!  you may yet get the bounty.  But I'll be back to you later after the media storm subsides Smiley

I doubt many people deserve it more, congrats! Smiley

What are the ideas for developing Armory as a business btw? Will everything remain open source? What are you guys planning on charging for? (I'm kinda hoping it'll be customer specific customizations Tongue).
128bpm
Newbie
*
Offline Offline

Activity: 16
Merit: 0


View Profile
September 16, 2013, 08:47:05 AM
 #2569

Wow.

Does that mean you are switching to full time work on the project (or were you already)?

Yep, Alan will now be full time on Armory.  And so will at least two other folks as well.

Btw, I'm Kevin Bombino, one of the investors in the deal.  I just wanted to add my congratulations to Alan.  I'm thrilled to have the opportunity to support the project.
jim618
Legendary
*
Offline Offline

Activity: 1708
Merit: 1000



View Profile WWW
September 16, 2013, 08:56:57 AM
 #2570

Hello Alan,

Congratulations for your funding round and also for that other thing you are involved in in a few weeks time !
These are exciting times for you !

:-)

Jim

MultiBit HD   Lightweight desktop client.                    Bitcoin Solutions Ltd   Bespoke software. Consultancy.
TierNolan
Legendary
*
Offline Offline

Activity: 1232
Merit: 1005


View Profile
September 16, 2013, 09:40:34 AM
 #2571

No if anything I bet they have two versions of the "supernode". One will be less features and for any user free of cost. Then like enterprise solution, which will come with support, and more features for a price. Really the only business model I can see working for armory.

Right, you could have a "user" version for the general public and also a version for merchants, who pay for support.

The merchant version could do things like generate new public keys on the fly and track when payments come into those addresses.  That would mean monitoring potentially thousands of addresses.

It could also handle things like refunds.  Does the payment protocol do that?

It could also do the zero confirmation system.  This is where a merchant connects to 20-30 peers (and does things like make sure all the IPs are from different networks).  If a transaction is received on > 75% of peers and no double spend is received, then it is probably not a double spend.  Ofc, that is kind of the opposite of Armory, since it is probability based security, rather than maximum security.

1LxbG5cKXzTwZg9mjL3gaRE835uNQEteWF
Kluge
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1011



View Profile
September 16, 2013, 09:46:00 AM
 #2572

Mixed feelings. Both sides of those feelings probably pretty obvious. Disappointed we weren't donating enough to get the benefits of this deal done in a decentralized way. At any rate, can't wait to see what Alan & team can do! Good luck!
Ente
Legendary
*
Offline Offline

Activity: 2126
Merit: 1001



View Profile
September 16, 2013, 10:20:55 AM
 #2573

Wow.

Does that mean you are switching to full time work on the project (or were you already)?

Yep, Alan will now be full time on Armory.  And so will at least two other folks as well.

Btw, I'm Kevin Bombino, one of the investors in the deal.  I just wanted to add my congratulations to Alan.  I'm thrilled to have the opportunity to support the project.

Have a warm welcome, Kevin!
Nice to have you here, looking forward for a lot of exciting stuff coming from you guys in the future! :-)

Ente
SimonBelmond
Full Member
***
Offline Offline

Activity: 226
Merit: 100



View Profile
September 16, 2013, 11:46:31 AM
 #2574

Congrats. Make sure Armory stays the best wallet. Oh and start a free T-Shirt promo!  Cheesy

I love to see that you can seriously earn a living from your hobby now. All the best.
goatpig
Moderator
Legendary
*
Offline Offline

Activity: 2436
Merit: 1142

Armory Developer


View Profile
September 16, 2013, 11:56:21 AM
 #2575

Big news!  

https://bitcointalk.org/index.php?topic=56424.msg671650#msg671650

P.S. - This is still the Armory discussion thread, I just changed the topic temporarily to draw attention to the big news!

@goatpig -- thanks!  you may yet get the bounty.  But I'll be back to you later after the media storm subsides Smiley

Gratz on the investor, I hope armory will grow into an even better wallet software. I personally hope you'll implement a mod/add-on system to allow side devs to bing in their own small contribution.

I ended up helping at the very moment my help wasn't required anymore. Story of my life =P.

13Charlie
Full Member
***
Offline Offline

Activity: 218
Merit: 100



View Profile
September 16, 2013, 02:25:15 PM
 #2576

Wow.

Does that mean you are switching to full time work on the project (or were you already)?

Yep, Alan will now be full time on Armory.  And so will at least two other folks as well.

Btw, I'm Kevin Bombino, one of the investors in the deal.  I just wanted to add my congratulations to Alan.  I'm thrilled to have the opportunity to support the project.
Thank you Kevin, and of course, Thanks, as always to Alan

No signature necessary
cp1
Hero Member
*****
Offline Offline

Activity: 616
Merit: 500


Stop using branwallets


View Profile
September 16, 2013, 03:06:37 PM
 #2577


As a developer I'd love to have a programmatic access to Armory - sure I can use Bitcoind RPC but Armory has a lot of great features.
Maybe they can charge for support, supernode access?

There is already programmatic access.  The c++ functions are neatly callable through python.

Guide to armory offline install on USB key:  https://bitcointalk.org/index.php?topic=241730.0
etotheipi
Legendary
*
Offline Offline

Activity: 1428
Merit: 1005


Core Armory Developer


View Profile WWW
September 16, 2013, 03:14:08 PM
 #2578

Gratz on the investor, I hope armory will grow into an even better wallet software. I personally hope you'll implement a mod/add-on system to allow side devs to bing in their own small contribution.

I ended up helping at the very moment my help wasn't required anymore. Story of my life =P.

Thanks everyone, and you too goatpig!  Your help was actually tremendous.  Just because I have full time people helping doesn't mean that we no longer will need help from the community!  We actually have already tried out your solution and it appears to take us much further than we got before!  So I'm glad you helped, and I think you deserve the 2 BTC.  Though, I just realized that your solution uses a very old version of LevelDB ... I haven't tried merging that project with the latest LevelDB, but we will need to do that eventually.


As a developer I'd love to have a programmatic access to Armory - sure I can use Bitcoind RPC but Armory has a lot of great features.

Check out armoryd.py.  After this next update, armoryd.py will be stable, and you can access everything that Armory GUI can do through python.  It's already setup as an RPC server, but of course it currently uses a lot of RAM, and additionally crashes on each blockfile split (about once a week).  For reference, I even have unit tests for blockfile splits, and they pass... but somehow it still crashes when run on the live network Sad  I've already confirmed the new version doesn't suffer from this problem.  While you can use armoryd.py as an RPC server (a very minimal one), I'd actually recommend using it as a template for just creating your own armoryd.py which is fully customized for your use case.  Now that it will be stable with the next release, I'll spend some effort upgrading it with some more functionality, which will make it more useful both as a server, and as example code for modifying it yourself.


Founder and CEO of Armory Technologies, Inc.
Armory Bitcoin Wallet: Bringing cold storage to the average user!
Only use Armory software signed by the Armory Offline Signing Key (0x98832223)

Please donate to the Armory project by clicking here!    (or donate directly via 1QBDLYTDFHHZAABYSKGKPWKLSXZWCCJQBX -- yes, it's a real address!)
BCB
CTG
VIP
Legendary
*
Offline Offline

Activity: 1064
Merit: 1002


BCJ


View Profile
September 16, 2013, 03:20:14 PM
 #2579

Congratulations Alan!  Great news.
cypherdoc
Legendary
*
Offline Offline

Activity: 1764
Merit: 1002



View Profile
September 16, 2013, 03:38:27 PM
 #2580

someone catch me up on what the new beta version does.

is it still dependent on and open Bitcoin-qt?  or is it standalone with it's own DB.  any significant differences otherwise with 0.88.1 on mac osx?
Pages: « 1 ... 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 [129] 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 ... 231 »
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!