Pages:
Author

Topic: Armory - Discussion Thread - page 6. (Read 521829 times)

legendary
Activity: 1500
Merit: 1002
Mine Mine Mine
May 31, 2015, 12:55:51 PM
hi guys may i know what is the difference between :

TxOut Script Type:  Standard (P2SH)

&

TxOut Script Type:  Standard (PKH)


i made a payout from my wallet to 2 different btc add but 1 of the Tx Script Type is P2SH & the other is PKH

tia
legendary
Activity: 1764
Merit: 1002
May 31, 2015, 12:22:25 PM
BIP44 is the standard for multiple account wallets derived from a single seed.

diff btwn 32 & 44?
sr. member
Activity: 255
Merit: 250
Senior Developer - Armory
May 30, 2015, 01:08:07 PM
i saw this in the Bitcoin wiki for deterministic wallets:

"Armory deterministic wallet
Armory has its own Type-2 deterministic wallet format based on a "root key" and a "chain code." Earlier versions of Armory required backing up both the "root key" and "chaincode," while newer versions start deriving the chaincode from the private key in a non-reversible way. These newer Armory wallets (0.89+) only require the single, 256-bit root key. This older format is intended to be phased out in favor of the standard BIP0032 format. "

is this going to be a problem for those who keep and maintain old style wallets with both the chain code and root key?

No. I don't know the exact technical details but older wallets will be safe moving forward. Smiley I think new wallets will be required to use the new 2.0 format - I could easily be wrong, though - but people with older wallets need not worry; their coins will be safe.

That being said, as always, make backups once wallet 2.0 support is included. Wink
legendary
Activity: 1400
Merit: 1013
May 29, 2015, 08:18:13 PM
BIP44 is the standard for multiple account wallets derived from a single seed.
legendary
Activity: 3766
Merit: 1364
Armory Developer
May 29, 2015, 06:22:40 PM
The new wallet format supporting BIP32 will be backwards compatible with every previous Armory wallet format.
When you say "BIP32", do you mean BIP44?

I guess that's the proper name for the BIP specified HD wallets. Confusing me >_<"
legendary
Activity: 1400
Merit: 1013
May 29, 2015, 06:18:02 PM
The new wallet format supporting BIP32 will be backwards compatible with every previous Armory wallet format.
When you say "BIP32", do you mean BIP44?
legendary
Activity: 3766
Merit: 1364
Armory Developer
May 29, 2015, 06:14:34 PM
i saw this in the Bitcoin wiki for deterministic wallets:

"Armory deterministic wallet
Armory has its own Type-2 deterministic wallet format based on a "root key" and a "chain code." Earlier versions of Armory required backing up both the "root key" and "chaincode," while newer versions start deriving the chaincode from the private key in a non-reversible way. These newer Armory wallets (0.89+) only require the single, 256-bit root key. This older format is intended to be phased out in favor of the standard BIP0032 format. "

is this going to be a problem for those who keep and maintain old style wallets with both the chain code and root key?

The new wallet format supporting BIP32 will be backwards compatible with every previous Armory wallet format.
legendary
Activity: 1764
Merit: 1002
May 29, 2015, 05:31:19 PM
i saw this in the Bitcoin wiki for deterministic wallets:

"Armory deterministic wallet
Armory has its own Type-2 deterministic wallet format based on a "root key" and a "chain code." Earlier versions of Armory required backing up both the "root key" and "chaincode," while newer versions start deriving the chaincode from the private key in a non-reversible way. These newer Armory wallets (0.89+) only require the single, 256-bit root key. This older format is intended to be phased out in favor of the standard BIP0032 format. "

is this going to be a problem for those who keep and maintain old style wallets with both the chain code and root key?
legendary
Activity: 3766
Merit: 1364
Armory Developer
May 29, 2015, 07:41:27 AM
Yes 32 bit. I have 140 Gb (61.3 / 206 Gb)

0.93.x does not work on x86 OS. Wait for 0.94
hero member
Activity: 532
Merit: 500
Upiter
May 29, 2015, 07:36:00 AM
Yes 32 bit. I have 140 Gb (61.3 / 206 Gb)
legendary
Activity: 3766
Merit: 1364
Armory Developer
May 29, 2015, 07:22:03 AM
Are you using a 32bit OS? How much free disk space do you have?
hero member
Activity: 532
Merit: 500
Upiter
May 29, 2015, 05:18:07 AM
The RAM was free (I have 10 Gb)
legendary
Activity: 1792
Merit: 1008
/dev/null
May 29, 2015, 05:00:59 AM
Code:
$ armory --satoshi-datadir ~/.bitcoin
/usr/lib/armory/armoryengine/Transaction.py:2675: SyntaxWarning: import * only allowed at module level
  def PyCreateAndSignTx_old(srcTxOuts, dstAddrsVals):
(WARNING) ArmoryQt.py:2815 - ***WARNING: Duplicate wallet detected, hub1za1u
(WARNING) ArmoryQt.py:2825 - Second wallet is more useful than the first one...
(WARNING) ArmoryQt.py:2826 -      Wallet 1 (skipped): /home/exdeath/.armory/armory_hub1za1u__.wallet
(WARNING) ArmoryQt.py:2827 -      Wallet 2 (loaded):  /home/exdeath/.armory/armory_hub1za1u_WatchOnly.wallet
(WARNING) ArmoryQt.py:2451 - Tried to start bitcoind, but satoshi already running
"sni-qt/12288" WARN  15:03:51.384 void StatusNotifierItemFactory::connectToSnw() Invalid interface to SNW_SERVICE
(ERROR) ArmoryQt.py:1323 - 7 attempts to load blockchain failed.  Remove mempool.bin.
(ERROR) ArmoryQt.py:1328 - File mempool.bin does not exist. Nothing deleted.
-INFO  - 1432890354: (BlockUtils.cpp:894) blkfile dir: /home/exdeath/.bitcoin/blocks
-INFO  - 1432890354: (BlockUtils.cpp:895) lmdb dir: /home/exdeath/.armory/databases
-INFO  - 1432890354: (lmdb_wrapper.cpp:478) Opening databases...
-INFO  - 1432890354: (BlockUtils.cpp:1226) Executing: doInitialSyncOnLoad
-INFO  - 1432890354: (BlockUtils.cpp:1297) Total number of blk*.dat files: 258
-INFO  - 1432890354: (BlockUtils.cpp:1298) Total blockchain bytes: 36,863,680,999
-INFO  - 1432890354: (BlockUtils.cpp:1671) Reading headers from db
-INFO  - 1432890356: (BlockUtils.cpp:1697) Found 358568 headers in db
-DEBUG - 1432890356: (Blockchain.cpp:211) Organizing chain w/ rebuild
-WARN  - 1432890358: (BlockUtils.cpp:1327) --- Fetching SSH summaries for 475 registered addresses
-INFO  - 1432890358: (BlockUtils.cpp:1340) Left off at file 257, offset 74199201
-INFO  - 1432890358: (BlockUtils.cpp:1343) Reading headers and building chain...
-INFO  - 1432890358: (BlockUtils.cpp:1344) Starting at block file 257 offset 74199201
-INFO  - 1432890358: (BlockUtils.cpp:1346) Block height 358512
-DEBUG - 1432890359: (Blockchain.cpp:211) Organizing chain w/ rebuild
-INFO  - 1432890362: (BlockUtils.cpp:1381) Looking for first unrecognized block
-INFO  - 1432890362: (BlockUtils.cpp:1532) Loading block data... file 0 offset 121433722

mdb_enlarge_map failed with error: "Can not allocate memory", id: 12
segmentation error
help me please (i can sent you 1 bitcoin if you help me fix this)

You dont have enough free/usable RAM; add more RAM, close apps, etc.
hero member
Activity: 532
Merit: 500
Upiter
May 29, 2015, 04:07:06 AM
Code:
$ armory --satoshi-datadir ~/.bitcoin
/usr/lib/armory/armoryengine/Transaction.py:2675: SyntaxWarning: import * only allowed at module level
  def PyCreateAndSignTx_old(srcTxOuts, dstAddrsVals):
(WARNING) ArmoryQt.py:2815 - ***WARNING: Duplicate wallet detected, hub1za1u
(WARNING) ArmoryQt.py:2825 - Second wallet is more useful than the first one...
(WARNING) ArmoryQt.py:2826 -      Wallet 1 (skipped): /home/exdeath/.armory/armory_hub1za1u__.wallet
(WARNING) ArmoryQt.py:2827 -      Wallet 2 (loaded):  /home/exdeath/.armory/armory_hub1za1u_WatchOnly.wallet
(WARNING) ArmoryQt.py:2451 - Tried to start bitcoind, but satoshi already running
"sni-qt/12288" WARN  15:03:51.384 void StatusNotifierItemFactory::connectToSnw() Invalid interface to SNW_SERVICE
(ERROR) ArmoryQt.py:1323 - 7 attempts to load blockchain failed.  Remove mempool.bin.
(ERROR) ArmoryQt.py:1328 - File mempool.bin does not exist. Nothing deleted.
-INFO  - 1432890354: (BlockUtils.cpp:894) blkfile dir: /home/exdeath/.bitcoin/blocks
-INFO  - 1432890354: (BlockUtils.cpp:895) lmdb dir: /home/exdeath/.armory/databases
-INFO  - 1432890354: (lmdb_wrapper.cpp:478) Opening databases...
-INFO  - 1432890354: (BlockUtils.cpp:1226) Executing: doInitialSyncOnLoad
-INFO  - 1432890354: (BlockUtils.cpp:1297) Total number of blk*.dat files: 258
-INFO  - 1432890354: (BlockUtils.cpp:1298) Total blockchain bytes: 36,863,680,999
-INFO  - 1432890354: (BlockUtils.cpp:1671) Reading headers from db
-INFO  - 1432890356: (BlockUtils.cpp:1697) Found 358568 headers in db
-DEBUG - 1432890356: (Blockchain.cpp:211) Organizing chain w/ rebuild
-WARN  - 1432890358: (BlockUtils.cpp:1327) --- Fetching SSH summaries for 475 registered addresses
-INFO  - 1432890358: (BlockUtils.cpp:1340) Left off at file 257, offset 74199201
-INFO  - 1432890358: (BlockUtils.cpp:1343) Reading headers and building chain...
-INFO  - 1432890358: (BlockUtils.cpp:1344) Starting at block file 257 offset 74199201
-INFO  - 1432890358: (BlockUtils.cpp:1346) Block height 358512
-DEBUG - 1432890359: (Blockchain.cpp:211) Organizing chain w/ rebuild
-INFO  - 1432890362: (BlockUtils.cpp:1381) Looking for first unrecognized block
-INFO  - 1432890362: (BlockUtils.cpp:1532) Loading block data... file 0 offset 121433722

mdb_enlarge_map failed with error: "Can not allocate memory", id: 12
segmentation error
help me please (i can sent you 1 bitcoin if you help me fix this)
legendary
Activity: 3766
Merit: 1364
Armory Developer
May 28, 2015, 06:01:16 PM
force your block file location with --satoshi-datadir
hero member
Activity: 532
Merit: 500
Upiter
May 28, 2015, 05:40:20 PM
Hi, Why Armory doesn't work correctly Sad ?
Code:
$ armory
/usr/lib/armory/armoryengine/Transaction.py:2675: SyntaxWarning: import * only allowed at module level
  def PyCreateAndSignTx_old(srcTxOuts, dstAddrsVals):
(WARNING) ArmoryQt.py:2815 - ***WARNING: Duplicate wallet detected, hub1za1u
(WARNING) ArmoryQt.py:2825 - Second wallet is more useful than the first one...
(WARNING) ArmoryQt.py:2826 -      Wallet 1 (skipped): /home/exdeath/.armory/armory_hub1za1u__.wallet
(WARNING) ArmoryQt.py:2827 -      Wallet 2 (loaded):  /home/exdeath/.armory/armory_hub1za1u_WatchOnly.wallet
"sni-qt/3436" WARN  04:33:15.586 void StatusNotifierItemFactory::connectToSnw() Invalid interface to SNW_SERVICE
(WARNING) SDM.py:768 - Overriding not-available state. This should happen 0-5 times
(WARNING) SDM.py:768 - Overriding not-available state. This should happen 0-5 times
(WARNING) SDM.py:768 - Overriding not-available state. This should happen 0-5 times
(ERROR) ArmoryQt.py:1323 - 4 attempts to load blockchain failed.  Remove mempool.bin.
(ERROR) ArmoryQt.py:1328 - File mempool.bin does not exist. Nothing deleted.
(ERROR) Traceback (most recent call last):
  File "/usr/lib/armory/ArmoryQt.py", line 7068, in method_signal
    method()
  File "/usr/lib/armory/ArmoryQt.py", line 2485, in proceedOnceBitcoindIsReady
    self.loadBlockchainIfNecessary()
  File "/usr/lib/armory/ArmoryQt.py", line 2537, in loadBlockchainIfNecessary
    TheBDM.goOnline()
  File "/usr/lib/armory/armoryengine/BDM.py", line 148, in inner
    return func(*newArgs, **kwargs)
  File "/usr/lib/armory/armoryengine/BDM.py", line 251, in goOnline
    self.bdmThread.setConfig(self.bdmConfig())
  File "/usr/lib/armory/armoryengine/BDM.py", line 148, in inner
    return func(*newArgs, **kwargs)
  File "/usr/lib/armory/armoryengine/BDM.py", line 339, in bdmConfig
    bdmConfig.blkFileLocation = blockdir
  File "/usr/lib/armory/CppBlockUtils.py", line 2101, in
    __setattr__ = lambda self, name, value: _swig_setattr(self, BlockDataManagerConfig, name, value)
  File "/usr/lib/armory/CppBlockUtils.py", line 45, in _swig_setattr
    return _swig_setattr_nondynamic(self,class_type,name,value,0)
  File "/usr/lib/armory/CppBlockUtils.py", line 38, in _swig_setattr_nondynamic
    if method: return method(self,value)
TypeError: in method 'BlockDataManagerConfig_blkFileLocation_set', argument 2 of type 'string const &'

Traceback (most recent call last):
  File "/usr/lib/armory/ArmoryQt.py", line 7068, in method_signal
    method()  
  File "/usr/lib/armory/ArmoryQt.py", line 2485, in proceedOnceBitcoindIsReady
    self.loadBlockchainIfNecessary()
  File "/usr/lib/armory/ArmoryQt.py", line 2537, in loadBlockchainIfNecessary
    TheBDM.goOnline()          
  File "/usr/lib/armory/armoryengine/BDM.py", line 148, in inner
    return func(*newArgs, **kwargs)
  File "/usr/lib/armory/armoryengine/BDM.py", line 251, in goOnline
    self.bdmThread.setConfig(self.bdmConfig())
  File "/usr/lib/armory/armoryengine/BDM.py", line 148, in inner
    return func(*newArgs, **kwargs)
  File "/usr/lib/armory/armoryengine/BDM.py", line 339, in bdmConfig
    bdmConfig.blkFileLocation = blockdir
  File "/usr/lib/armory/CppBlockUtils.py", line 2101, in
    __setattr__ = lambda self, name, value: _swig_setattr(self, BlockDataManagerConfig, name, value)
  File "/usr/lib/armory/CppBlockUtils.py", line 45, in _swig_setattr
    return _swig_setattr_nondynamic(self,class_type,name,value,0)
  File "/usr/lib/armory/CppBlockUtils.py", line 38, in _swig_setattr_nondynamic
    if method: return method(self,value)
TypeError: in method 'BlockDataManagerConfig_blkFileLocation_set', argument 2 of type 'string const &'
(ERROR) Traceback (most recent call last):
  File "/usr/lib/armory/ArmoryQt.py", line 4351, in executeModeSwitch
    TheBDM.goOnline()
  File "/usr/lib/armory/armoryengine/BDM.py", line 148, in inner
    return func(*newArgs, **kwargs)
  File "/usr/lib/armory/armoryengine/BDM.py", line 251, in goOnline
    self.bdmThread.setConfig(self.bdmConfig())
  File "/usr/lib/armory/armoryengine/BDM.py", line 148, in inner
    return func(*newArgs, **kwargs)
  File "/usr/lib/armory/armoryengine/BDM.py", line 339, in bdmConfig
    bdmConfig.blkFileLocation = blockdir
  File "/usr/lib/armory/CppBlockUtils.py", line 2101, in
    __setattr__ = lambda self, name, value: _swig_setattr(self, BlockDataManagerConfig, name, value)
  File "/usr/lib/armory/CppBlockUtils.py", line 45, in _swig_setattr
    return _swig_setattr_nondynamic(self,class_type,name,value,0)
  File "/usr/lib/armory/CppBlockUtils.py", line 38, in _swig_setattr_nondynamic
    if method: return method(self,value)
TypeError: in method 'BlockDataManagerConfig_blkFileLocation_set', argument 2 of type 'string const &'

Traceback (most recent call last):
  File "/usr/lib/armory/ArmoryQt.py", line 4351, in executeModeSwitch
    TheBDM.goOnline()
  File "/usr/lib/armory/armoryengine/BDM.py", line 148, in inner
    return func(*newArgs, **kwargs)
  File "/usr/lib/armory/armoryengine/BDM.py", line 251, in goOnline
    self.bdmThread.setConfig(self.bdmConfig())
  File "/usr/lib/armory/armoryengine/BDM.py", line 148, in inner
    return func(*newArgs, **kwargs)
  File "/usr/lib/armory/armoryengine/BDM.py", line 339, in bdmConfig
    bdmConfig.blkFileLocation = blockdir
  File "/usr/lib/armory/CppBlockUtils.py", line 2101, in
    __setattr__ = lambda self, name, value: _swig_setattr(self, BlockDataManagerConfig, name, value)
  File "/usr/lib/armory/CppBlockUtils.py", line 45, in _swig_setattr
    return _swig_setattr_nondynamic(self,class_type,name,value,0)
  File "/usr/lib/armory/CppBlockUtils.py", line 38, in _swig_setattr_nondynamic
    if method: return method(self,value)
TypeError: in method 'BlockDataManagerConfig_blkFileLocation_set', argument 2 of type 'string const &'

https://img-fotki.yandex.ru/get/4302/63627607.10/0_100efc_eda360f0_orig

Linux Mint 17.1
legendary
Activity: 3766
Merit: 1364
Armory Developer
May 25, 2015, 01:03:38 PM
I don't think this is exactly true in Armory's case. We have attempted to jail Armory using cgroups but during database rebuilds it fails if the memory restrictions are too stringent (<2GB in my testing). Additionally, if there is swap on the system, it appears the system will use the swap before asking Armory to relinquish any of its used memory, causing other processes on the system to hang waiting for I/O.

Both are obvious symptoms. If Armory is aggressively asking for memory it will take priority over processes in the background or that aren't requesting as much I/O. That's basic OS optimization.

As for memory requirements, Armory expects to have about 2~4GB of RAM at its disposal for it's own scanning needs. The rest is mmap'ed files requested by LMDB. That's controlled by a hardcoded value and will probably be dynamically assigned in the upcoming version.
newbie
Activity: 17
Merit: 0
May 25, 2015, 11:53:13 AM
Anything to be done about armoryd's crazy memory usage? I'm seeing 41GB virt and about 6GB residual. It's causing other processes to start swapping. It is done scanning blocks, this is persistent memory usage. In comparison, bitcoind only uses about 55MB residual.

Restarting the process causes the memory to go down, but then armoryd starts eating up CPU and filling up again. It continually is using the lion's share of resources on the system.

When a program (such as Armory) reads a file, the file is copied into memory.  As soon as Armory is done using the file, the memory is marked as available for other programs, but until another program claims the memory, you still see it as assigned to Armory because the kernel assumes that there is a chance that Armory will open that file again, and Armory's data is still there.

All modern operating systems do this, so it always look like there is very little RAM free.  I do not know about Windows, but on Linux the kernel still keeps track of that memory after Armory quits, in case some other program happens to want the same file.  As soon as the memory is needed for something else, it is wiped and assigned to that something else.


I don't think this is exactly true in Armory's case. We have attempted to jail Armory using cgroups but during database rebuilds it fails if the memory restrictions are too stringent (<2GB in my testing). Additionally, if there is swap on the system, it appears the system will use the swap before asking Armory to relinquish any of its used memory, causing other processes on the system to hang waiting for I/O.
newbie
Activity: 5
Merit: 0
May 21, 2015, 01:27:24 PM
The difference between "watch-only" and "offline" is whether you have told Armory that you own the full wallet with the private keys ("offline"), or that it is somebody else's wallet you watch (watch-only).  I think.


You've got it.
thank you
sr. member
Activity: 250
Merit: 253
May 21, 2015, 10:13:27 AM
The difference between "watch-only" and "offline" is whether you have told Armory that you own the full wallet with the private keys ("offline"), or that it is somebody else's wallet you watch (watch-only).  I think.


You've got it.
Pages:
Jump to: