Bitcoin Forum
December 09, 2016, 03:57:58 PM *
News: Latest stable version of Bitcoin Core: 0.13.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: « 1 ... 73 74 75 76 77 78 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 ... 232 »
  Print  
Author Topic: Armory - Discussion Thread  (Read 482263 times)
cp1
Hero Member
*****
Offline Offline

Activity: 616


Stop using branwallets


View Profile
August 05, 2013, 06:56:50 PM
 #2441

Using armoryengine:

After it loads the blockchain with TheBDM.setOnlineMode(True) does it continually monitor for new blocks from bitcoind?  Or do I need to reload the whole blockchain to see new transactions?

And is there a way to just load the last few months worth of blocks to speed up the loading of the blockchain?  Say I have an address I just generated, I know there won't be any transactions to it from before today, I don't really need to load March 2013 transactions, right?  I can assume bitcoind validated everything when it downloaded them.

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

Posts: 1481299078

View Profile Personal Message (Offline)

Ignore
1481299078
Reply with quote  #2

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

Activity: 1428


Core Armory Developer


View Profile WWW
August 05, 2013, 07:12:24 PM
 #2442

Using armoryengine:

After it loads the blockchain with TheBDM.setOnlineMode(True) does it continually monitor for new blocks from bitcoind?  Or do I need to reload the whole blockchain to see new transactions?

You don't need to rescan, but there is a monitoring loop that needs to be run.  I don't remember how exactly to set that up... but obviously Armory (application) does it, so you can look there for hints.  It might be as simple as "readBlkFileUpdate()", which checks where the end of the last block was in the blkfiles and determines if anything new has been added.  If your wallets are registered with TheBDM, they should update automatically.  That's 95% of what you need to do, but you should check where that function is called in Armory to determine if it needs more.  (

EDIT:  check armoryd.py -- it implements this monitoring loop with a much more minimal context.  It might be easier to figure it out from there.

And is there a way to just load the last few months worth of blocks to speed up the loading of the blockchain?  Say I have an address I just generated, I know there won't be any transactions to it from before today, I don't really need to load March 2013 transactions, right?  I can assume bitcoind validated everything when it downloaded them.

Theoretically, yes, but it's not setup that way.  If the blockchain is already loaded, you can add the new address/wallet with a "born-on" block, and it will determine that it only needs to rescan those blocks.  But I also seem to remember having the thought that it was kind of complicated to do a partial rescan and for addresses/wallets older than a couple days, I just wipe and rescan everything.

If I can ever finish this "persistent blockchain" update, the very first implementation will actually have a full-address-index lookup, so you won't ever have to rescan anything, except when you completely rebuild the DB (if say, it was corrupted).  You should be able to import addresses and wallets nearly instantly.  Of course, it comes with a huge HDD hit, but it's far preferable compared to high RAM usage, and makes it much easier to run advanced processing of blockchain information.  Stay tuned for that one ... I'm battling a lot more changes than I thought I would need to, but it looks feasible.  

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!)
Mooshire
Sr. Member
****
Offline Offline

Activity: 322



View Profile
August 06, 2013, 02:22:48 AM
 #2443

This has been a pain in the ass, etheopi, could you please post your GPG public key so I can send you my root and chain codes so you can recover what's in the wallet? It's only 0.014

etotheipi
Legendary
*
Offline Offline

Activity: 1428


Core Armory Developer


View Profile WWW
August 06, 2013, 02:36:16 AM
 #2444

This has been a pain in the ass, etheopi, could you please post your GPG public key so I can send you my root and chain codes so you can recover what's in the wallet? It's only 0.014

http://pgp.mit.edu:11371/pks/lookup?op=vindex&search=0x11DEE9BEFB596985

(please use that GPG key and not the "Offline Signing Key" that everyone finds first when they look up my GPG key by email... it's a pain in the @$$ if you use that other key)

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!)
cp1
Hero Member
*****
Offline Offline

Activity: 616


Stop using branwallets


View Profile
August 08, 2013, 03:33:24 AM
 #2445

Is there a way to clear a wallet and load it with different addresses?  I have:

cppWallet=Cpp.BtcWallet()
for address in addressFile:
    cppWallet.addAddress_1_(addrStr_to_hash160(address))
TheBDM.registerWallet(cppWallet)
TheBDM.scanBlockchainForTx(cppWallet)
print coin2str(cppWallet.getSpendableBalance())

Then I'd like to:
  destroy cppWallet (or clear it)
  and load another address watching file & rescan for a balance

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

Activity: 1428


Core Armory Developer


View Profile WWW
August 08, 2013, 03:57:17 AM
 #2446

Is there a way to clear a wallet and load it with different addresses?  I have:

cppWallet=Cpp.BtcWallet()
for address in addressFile:
    cppWallet.addAddress_1_(addrStr_to_hash160(address))
TheBDM.registerWallet(cppWallet)
TheBDM.scanBlockchainForTx(cppWallet)
print coin2str(cppWallet.getSpendableBalance())

Then I'd like to:
  destroy cppWallet (or clear it)
  and load another address watching file & rescan for a balance

You can register multiple wallets with the BDM and get each balance independently.  In fact, by doing this, you can do all the wallets in a single blockchain scan.    I think I added a way to unregister addresses after you don't need them, but I wouldn't bother with it, unless you're doing tens of thousands of addresses and you need to free up resources (and I don't think I made a way to do this... if you really need it your way, you could wrap all this into an executable, and just call the executable in a fresh environment for each batch of addresses).



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!)
cp1
Hero Member
*****
Offline Offline

Activity: 616


Stop using branwallets


View Profile
August 08, 2013, 04:41:15 AM
 #2447

Oh I didn't realize I could register multiple wallets simultaneously!
Thanks again!

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

Activity: 1078


100 satoshis -> ISO code


View Profile
August 09, 2013, 04:09:36 AM
 #2448

Got a problem with send transaction. I tried sending some BTC from Armory while the laptop was connected to a cafe wifi. Armory considers the transaction sent, but the BTC network never got it. Presumably the port needed was blocked. Any ideas are very welcome on how to get rid of the unsent transaction so the wallet shows the correct balance...

etotheipi
Legendary
*
Offline Offline

Activity: 1428


Core Armory Developer


View Profile WWW
August 09, 2013, 04:11:26 AM
 #2449

Got a problem with send transaction. I tried sending some BTC from Armory while the laptop was connected to a cafe wifi. Armory considers the transaction sent, but the BTC network never got it. Presumably the port needed was blocked. Any ideas are very welcome on how to get rid of the unsent transaction so the wallet shows the correct balance...

Not sure what OS you're in, but there's a file in your Armory home dir called mempool.bin.  Delete it.  Then restart Armory:

C:\Users\username\AppData\Roaming\Armory\mempool.bin
/home/username/.armory/mempool.bin
<don't remember what it is for OSX>

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!)
payb.tc
Hero Member
*****
Offline Offline

Activity: 812



View Profile
August 09, 2013, 04:20:11 AM
 #2450

this is off-topic with respect to armory specifically, but if it keeps crashing because of memory shortages, you might want to check this stupid file in your windows task list:

aaHMSvc.exe

it's an Asus service that has memory leak issues, and for me, was taking up a full GB of memory, causing armory to crash on load every time.

killing that process solved my armory dilemma.
dc81
Member
**
Offline Offline

Activity: 84


View Profile WWW
August 09, 2013, 05:15:27 PM
 #2451

Got a problem with send transaction. I tried sending some BTC from Armory while the laptop was connected to a cafe wifi. Armory considers the transaction sent, but the BTC network never got it. Presumably the port needed was blocked. Any ideas are very welcome on how to get rid of the unsent transaction so the wallet shows the correct balance...

if you can copy the raw transaction in hex, paste it here - https://blockchain.info/pushtx

List of public bitcoin P2Pool nodes - http://p2pool-nodes.info || Amazon Price Tracker
Tips - 1dc81BVNy688RS2E9iqf8VtJVB4YbQpCs
solex
Legendary
*
Offline Offline

Activity: 1078


100 satoshis -> ISO code


View Profile
August 10, 2013, 08:01:57 AM
 #2452

Thanks etotheipi for the fast response. All solved now. (dc81, good info, might be useful another time).

Comment about OSX. I know little about macs as I have always used other OSs. I am just recently using a mac for Armory.  I conclude that finder and spotlight are pieces of junk. No wonder there are loads of threads on the web about these two apps failing to find files (even after selecting invisible and system files and all similar obscurities). Tempelmann's findanyfile is fantastic and did the trick!

winnetou
Sr. Member
****
Offline Offline

Activity: 361


View Profile
August 11, 2013, 12:51:45 PM
 #2453

https://bitcointalk.org/index.php?topic=271486.0

Is armory effected?
etotheipi
Legendary
*
Offline Offline

Activity: 1428


Core Armory Developer


View Profile WWW
August 11, 2013, 01:05:42 PM
 #2454

That's an amateurish problem that only happens with custom implementations of ECDSA.  You have to use a random number when calculating the signature, and every basic implementation of ECDSA guarantees this (at least to the extent of the randomness it can pull from your system).  The problem there was people hand-rolling their own and  not realizing that reusing "random" numbers when signing different messages with the same key reveals the private key.

This was the same reason that Sony's PS3 signing key was compromised:

https://groups.google.com/forum/#!topic/sci.crypt/3isJl28Slrw

Quote
Each key (for each different type of loader) seems to have an
associated random number ‘m’ — the numbers follow no pattern, but they
are consistent between different signatures on different versions of the
same loader — almost as if they treated ‘m’ as one of the parameters of
the key.

If I understand correctly this means Sony decided they were smart enough
to reimplement their own version of ECDSA from scratch.
Famous last word.

Armory is unaffected.  And for reference, you don't even need good random numbers for it.  You just need anything that changes between signatures and looks random. 

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!)
winnetou
Sr. Member
****
Offline Offline

Activity: 361


View Profile
August 11, 2013, 01:07:45 PM
 #2455

That's an amateurish problem that only happens with custom implementations of ECDSA.  You have to use a random number when calculating the signature, and every basic implementation of ECDSA guarantees this (at least to the extent of the randomness it can pull from your system).  The problem there was people hand-rolling their own and  not realizing that reusing "random" numbers when signing different messages with the same key reveals the private key.

This was the same reason that Sony's PS3 signing key was compromised:

https://groups.google.com/forum/#!topic/sci.crypt/3isJl28Slrw

Quote
Each key (for each different type of loader) seems to have an
associated random number ‘m’ — the numbers follow no pattern, but they
are consistent between different signatures on different versions of the
same loader — almost as if they treated ‘m’ as one of the parameters of
the key.

If I understand correctly this means Sony decided they were smart enough
to reimplement their own version of ECDSA from scratch.
Famous last word.

Armory is unaffected.  And for reference, you don't even need good random numbers for it.  You just need anything that changes between signatures and looks random. 

Thank you very much for that information! I really trust your wallet and I love it that you are really caring about a good implementation and testing etc of your wallet!
chrcoe01
Full Member
***
Offline Offline

Activity: 147


View Profile
August 12, 2013, 02:32:45 PM
 #2456

I have a question regarding scripting with armory.

say for instance I was wanting to set up a custom script utilizing bitcoin's sendmany RPC command.  Normally, if I were not using the armory cold storage (or armory at all), this would be a fairly simple matter being able to just call the command.

Since I want to do this via armory's cold storage, I would need to create the offline transaction but I am having a hard time trying to find info regarding how to do this in a script as opposed to using the GUI and manually choosing every single address I want to send to.

I am envisioning a script where I can pull in a list of addresses and payment amounts, check that there are no duplicates, if there are, combine the payout amounts and send the addresses and their payments into sendmany, create the offline transaction and have it save the output to a file that I can then go to my offline wallet to sign (this I would do manually as it doesn't take much time).

Then I would just continue normally without the script from there (go back to online and broadcast it).  This would save me a ton of time manually entering addresses into armory.

I used to do this with the bitcoin client, but I moved to armory a long time ago and it's been bugging me recently.

Any insights?  Is it possible that I'm just missing an important piece to the puzzle?  Since Armory uses the bitcoin client on the backend, I wonder if the scripting would be the same, but the bitcoin client wouldn't have the offline data (ie private keys) this is what is throwing me currently.

"You may delay, but time will not, and lost time is never found again." -Benjamin Franklin
etotheipi
Legendary
*
Offline Offline

Activity: 1428


Core Armory Developer


View Profile WWW
August 12, 2013, 02:41:40 PM
 #2457

Check BitcoinArmory/extras/createTxFromAddrList.py.  Also sample_armory_code.py in that same directory has a lot of useful stuff.  Admittedly, some of the examples, including createTxFromAddrList.py, uses an old version of the blockchain utiltiies -- for instance, BDM_LoadBlockchainFile() no longer works/exists.  If you see this:

Code:
BDM_LoadBlockchainFile()
walletObj.setBlockchainSyncFlag(BLOCKCHAIN_READONLY)
walletObj.syncWithBlockchain()

Replace it with this:

Code:
TheBDM.setBlocking(True)
TheBDM.setOnlineMode(True)
TheBDM.scanBlockchainForTx(wlt.cppWallet)

Other than that, I think everything is the same, so you have an almost-full solution there!  Also check extras/cli_sign_txdp.py which can be used on the offline computer to load your wallet, load an unsigned transaction, unlock your wallet, get your confirmation, and then sign it for you.  Try it out!  I made both of these to help scripters like you 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!)
w00dy
Member
**
Offline Offline

Activity: 96


View Profile
August 12, 2013, 03:18:18 PM
 #2458

well... for me it still crash on every try.

- i have 8 GB RAM
- i have 64 Bit win7

it worked fine up untill 0.85something (i think).

This is the case on my Laptop AND on my PC (both 64 + 8GB) and i pretty much gave up for now...
etotheipi
Legendary
*
Offline Offline

Activity: 1428


Core Armory Developer


View Profile WWW
August 12, 2013, 03:21:52 PM
 #2459

well... for me it still crash on every try.

- i have 8 GB RAM
- i have 64 Bit win7

it worked fine up untill 0.85something (i think).

This is the case on my Laptop AND on my PC (both 64 + 8GB) and i pretty much gave up for now...

Have you completely uninstalled and reinstalled?  Sometimes the installer doesn't replace the old files properly when you are upgrading.  I've tried multiple things to fix that, but it doesn't work.

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!)
chrcoe01
Full Member
***
Offline Offline

Activity: 147


View Profile
August 12, 2013, 03:22:11 PM
 #2460

Check BitcoinArmory/extras/createTxFromAddrList.py.  Also sample_armory_code.py in that same directory has a lot of useful stuff.  Admittedly, some of the examples, including createTxFromAddrList.py, uses an old version of the blockchain utiltiies -- for instance, BDM_LoadBlockchainFile() no longer works/exists.  If you see this:

Code:
BDM_LoadBlockchainFile()
walletObj.setBlockchainSyncFlag(BLOCKCHAIN_READONLY)
walletObj.syncWithBlockchain()

Code:
TheBDM.setBlocking(True)
TheBDM.setOnlineMode(True)
TheBDM.scanBlockchainForTx(wlt.cppWallet)

Other than that, I think everything is the same, so you have an almost-full solution there!  Also check extras/cli_sign_txdp.py which can be used on the offline computer to load your wallet, load an unsigned transaction, unlock your wallet, get your confirmation, and then sign it for you.  Try it out!  I made both of these to help scripters like you Smiley

that's fantastic, thanks for the super quick response.  I wasn't expecting to hear back until tonight!  I'll work on it tonight.

did I mention I love python? Cheesy thanks again

"You may delay, but time will not, and lost time is never found again." -Benjamin Franklin
Pages: « 1 ... 73 74 75 76 77 78 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 ... 232 »
  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!